Skip to content
Temporal Super-Resolution Microscopy Using a Hue-Encoded Shutter
C C++ Jupyter Notebook Python
Branch: master
Clone or download
Latest commit ff37192 Aug 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
acquisition Initial commit Jul 16, 2019
hesm_distrib_data @ ea095cf Initial commit Jul 16, 2019
processing Removed Rcond=None, it fails with Python2 Jul 18, 2019
.gitignore Initial commit Jul 16, 2019
.gitmodules Fixed data relative path not working by default Jul 16, 2019
LICENSE.md Initial commit Jul 16, 2019
README.md Updated paper information Aug 26, 2019

README.md

Temporal Super-Resolution Microscopy Using a Hue-Encoded Shutter

OSA Biomedical Optics Express Volume 10 Issue 09, September 2019

https://www.osapublishing.org/boe/abstract.cfm?uri=boe-10-9-4727

Authors of the paper:

Summary

This repository holds the code and instruction to reproduce the method presented in the paper entitled Temporal Super-Resolution Microscopy Using a Hue-Encoded Shutter.

There are three main parts to the repository: (1) code and instructions related to data acquisition (acquisition folder), (2) post-acquisition processing code (processing folder) and (3) the data acquired to make the figures in the paper (data folder).

After setting up the physical system, see readme files within each folder for respective instructions.

Supported platforms

These instructions are meant for Debian distributions of Linux (tested on Debian Stretch (4.9) and Ubuntu 16.04 LTS). The data processing should work on all platforms. The data acquisition should work on Windows (the wrapping of the C++ code can be tricky), for macosX, the required ueye library isn't available. If someone has a way to drive a Thorcam USB3 camera on macosX, I'd be very grateful if you let me know.

System setup

Installation

The repository includes a submodule with the data, so to retrieve everything, you have to run

git clone --recursive https://github.com/idiap/hesm_distrib.git

or if you have cloned the repository without the submodules, from within the repo, run

git submodule init
git submodule update

Physical setup - wiring

We used the Thorlabs DCC3240C camera with the corresponding trigger/IO cable (CAB-DCU-T3). Wire the camera, the Arduino Uno and the LEDs together as shown here:

wiring

Software requirements

Data acquisition

To modify the Arduino code, compile it and upload it to the board (we used Arduino uno boards), you need to install the Arduino IDE.

You need to compile the camera driver for Python, to that end, run the following commands from within the acquisition/Thorcam/ folder:

sudo apt-get install ueye
python setup.py build_ext --inplace

This will install ueye and compile a Python wrapper for the C++ code to drive the Thorlabs camera. The wrapper only works for Python2.7 and hasn't been translated to Python3 (see why).

Note for Windows users : instead of setup.py, use setup_windows.py.

Data processing

The code needs Jupyter notebook to be run. See here for installation instructions. Because of the data acquisition code, the processing code is in Python2.7 but should work with no modification with Python3.

Here is how to install the required python packages.

pip install numpy matplotlib colour_demosaicing tifffile pyqtgraph

The package pyqtgraph can be tricky/tenuous to install, if you can't or just don't want, it is easy to work without it; you will just have to select regions of interest "by hand".

License

We have a patent on the method presented in the paper, under the European Patent application number EP19154253.

Henceforth, the files distributed here are for non-commercial use only, see the license file within this repository. If you have a commercial interest in the present code, please contact our technology transfer office.

You can’t perform that action at this time.