Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Temporal Super-Resolution Microscopy Using a Hue-Encoded Shutter

OSA Biomedical Optics Express Volume 10 Issue 09, September 2019

Authors of the paper:


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


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

git clone --recursive

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:


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 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, use

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


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.


Temporal Super-Resolution Microscopy Using a Hue-Encoded Shutter




No releases published


No packages published