Author: François Marelli francois.marelli@idiap.ch, April 2023
Editor, supervision: Michael Liebling michael.liebling@idiap.ch
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.
The demo as deployed in the Imaging Pavillion at the 2023 EPFL OpenDays on 29–30 April 2023.
- 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
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 .
This demo uses a stepper motor controlled by Arduino. See https://github.com/idiap/arduino_pytwister for the firmware and wiring instructions.
-
Download the arduino firmware code
git archive --remote=https://github.com/idiap/arduino_pytwister.git HEAD ArduinoPyTwisterFirmware/ArduinoPyTwisterFirmware.ino | tar -x
-
Connect arduino to USB port.
-
Open Arduino IDE software
-
Upload
ArduinoPyTwisterFirmware.ino
You must set the rotating sample in front of a camera, and provide correct lighting.
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