Skip to content
/ demo_opt Public

Demo application for Optical Projection Tomography

Notifications You must be signed in to change notification settings

idiap/demo_opt

Repository files navigation

CBI Demo OPT

Author: François Marelli francois.marelli@idiap.ch, April 2023

Editor, supervision: Michael Liebling michael.liebling@idiap.ch

Overview

This repository contains a demo application for Optical Projection Tomography.

It uses a stepper motor controlled by Arduino to acquire different projections using a webcam, and reconstructs the images using FBP.

Example deployment

demo_setup.png

The demo as deployed in the Imaging Pavillion at the 2023 EPFL OpenDays on 29–30 April 2023.

Install instructions

Set up computer (macOS)

  • install mambaforge
  • install homebrew
  • brew install git
    • brew install cmake
    • brew install openmp
    • brew install libomp
    • brew install gcc
    • conda install -c conda-forge clang_osx-65 issue: concorde does not install
  • Should start install Xcode
  • Install Logitech G HUB – Logitech Support + Download to set webcam focus to fixed setting

Python Environment

In order to use this demo, you need an environment with Python >= 3.5 and < 3.10.

mamba create -n demo_opt "python<3.10"
mamba activate demo_opt

Then install the package:

pip install .

Hardware setup

This demo uses a stepper motor controlled by Arduino. See https://github.com/idiap/arduino_pytwister for the firmware and wiring instructions.

  1. Download the arduino firmware code

    git archive --remote=https://github.com/idiap/arduino_pytwister.git HEAD ArduinoPyTwisterFirmware/ArduinoPyTwisterFirmware.ino | tar -x
  2. Connect arduino to USB port.

  3. Open Arduino IDE software

  4. Upload ArduinoPyTwisterFirmware.ino

You must set the rotating sample in front of a camera, and provide correct lighting.

Running the demo

First, list the available camera connected to the computer:

demo-opt list-cameras

Run the demo and provide either the name or the index of the camera of your choice:

# Using the camera's name
demo-opt run --camera-name "<CAMERA NAME>"
# Using the camera's index
demo-opt run --camera-index <INDEX>

While the demo is running, use the following key bindings to interact:

  • Space: launch new acquisition/reconstruction
  • Return: reset demo (discard acquired images)
  • Escape: quit the demo

About

Demo application for Optical Projection Tomography

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published