nikelui / sfdi

A collection of Python scripts to acquire SFDI data and process it, in order to measure optical properties of tissue.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sfdi

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.

Dependencies

  • Numpy
  • Scipy
  • Matplotlib
  • tkinter
  • OpenCv
  • cvui (already included)
  • PyInstaller (to build frozen binaries)

NEW

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.

Acquisition

Coming soon

Processing

Coming soon

Cameras

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).

Currently implemented cameras

  • 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

Planned

  • Substitute OpenCV / cvui with native python libraries
    • Use PIL for image processing / ROI selection
    • Use TkInter for GUI elements
  • OpenCL for GPU parallel processing

About

A collection of Python scripts to acquire SFDI data and process it, in order to measure optical properties of tissue.


Languages

Language:Python 84.8%Language:C 14.5%Language:MATLAB 0.7%Language:Shell 0.0%