A collection of Python scripts to acquire SFDI data and process it, in order to measure optical properties of tissue.
NOTE: this project was developed for personal use, it is not optimized to be distributed and used in other machines. An extensive (and slow) re-work is currently in progress to make the library easier to install (e.g. frozen binaries) and to write better documentation. Any contribution is welcome.
- Numpy
- Scipy
- Matplotlib
- tkinter
- OpenCv
- cvui (already included)
- PyInstaller (to build frozen binaries)
added a .yml file to easily build an anaconda environment with all the dependencies.
conda env create --name <environment_name> --file sfdi.yml
conda activate <environment_name>
NOTE: some of the dependencies (e.g. Python version) are restricted by the installed camera drivers.
Coming soon
Coming soon
The SFDI module provides a camera class object that acts as a wrapper for the actual camera API code. For each camera you plan to use in the system, you need to install the respective drivers/SDK and implement the camera class methods (make a copy of DummyCam.py and read the descriptions / return values).
- DummyCam: blank camera class with placeholders
- Generic: OpenCV generic VideoCapture I/O module
- pointGrey: old FLIR FlyCapture
SDK
- NOTE: this is obsolete software (last version is from 2019?). FLIR has released a new SDK called Spinnaker, which supports their new USB3 / GiGE cameras (not implemented yet).
- piCam: RaspbberryPi piCamera module (only works on linux arm system for RaspberryPi)
- IS: Imaging Source camera SDK
- xiCam: ximea camera SDK
- Substitute OpenCV / cvui with native python libraries
- Use PIL for image processing / ROI selection
- Use TkInter for GUI elements
- OpenCL for GPU parallel processing