Team:TU Darmstadt/Software

MainPage

Software HoloPyGuy

Here, we present an universal software solution which we, the team iGEM TU Darmstadt, created for digital inline holographic microscopy (DIHM). We therefore employ the open-source framework Holopy and extended the existing solution with a graphical user interface. The resulting software includes the connection to a raspberry pi cam as well as a control element for a commonly used blue-ray laser. The graphical user interface relies on the Qt5 framework and is written in Python. The solution aims to be applicable for self-made DIHM and an ‘easy-to-use‘ hologram reconstruction suite. The project is hosted on GitHub under MIT License and is also available for download. A complete user manual is provided in the following section.

HoloPyGuy - An Introduction

First, a reference picture, taken without a sample, needs to be provided in order to analyze a hologram. These reference pictures can be imported by choosing the panel ‘Open Background’. Several background pictures, which are turned into one averaged hologram, is subtracted from the sample hologram, which can be imported via the panel ‘Load Sample’. A dark field image can be generated by taking a picture without laser light if you are concerned about residual light in your setup, but it is not obligatory for each setup. The settings for reconstruction are controlled using the Boxes on the left. Reconstructing a hologram can be easily accomplished by choosing the panel ‘Hologram’. The single settings provided will be further explained in the section ‘controls’. The algorithm used for reconstruction is applicable for light coming from point sources only.

A reference image for a laser system.
A raw hologram on the background.
A reconstructed hologram with HoloPyGuy.
At first, a picture of the beam without sample serves as reference (left). A raw hologram has fringes around the objects of interest (middle). The reconstructed object is calculated by substracting the reference picture from the raw hologram and then analyzed with reverse propagation.

Settings

All lengths are internal converted to meters. The preset values are corresponding to our DIHM setup.

Parameters Description
Distance The distance between cam to light source in mm
Z min Smallest distance from camera to calculate wavefronts
Z max Greatest distance from camera to object of interest
Z steps Number of calculate distances between Z min and Z max
Pixel out Size of squared hologram reconstruction. Decrease for smaller resolution but shorter computational time
Magnification Specifies the magnification on the output picture. Higher magnifications means higher computational costs
Wavelength Wavelength of the used light in nm. Blue is 480 nm
Spacing Distance between the center of two pixels. We show how to calculate it for our photosensor.

Download and further documentation

We provide the entire software as it is. You can get a copy of our repository by installing git and run in a terminal:
git clone https://www.github.com/iGEMDarmstadt/holopyguy.git
To set it up for running, we follow the getting started section from holopy. If you use a unix based operating system, please run the following lines in command-line:
sudo apt install conda
conda install -c conda-forge holopy

That should set up the production branch of HoloPy. For Windows, the installation process is quite similar. Install Anaconda3 for your OS. Be aware that if you let the box checked in the installer, Anaconda overwirtes the default python interpreter. Then, run the following commands in the anaconda prompt:
anaconda search holopy
anaconda show ralex0/holopy
conda install -c conda-forge emcee
conda install -c conda-forge h5netcdf
conda install --channel https://conda.anaconda.org/ralex0 holopy
Install hologuy requirements (a converter from QImage to NdArray)
conda install -c conda-forge qimage2ndarray
Download the latest version from hologuy and extract the files
python hologuy.py

References

[1] Shiraki, A., Taniguchi, Y., Shimobaba, T., Masuda, N., Ito, T. (2012) Handheld and low-cost digital holographic microscopy.
arXiv:1211.0336
[2] Cotte, Y., Toy, F., Jourdain, P., Pavillon, N., Boss, D., Magistretti, P., Marquet, P., Depeursinge (2013) Marker-free phase nanoscopy Nature Photonics, 7 (2):113
DOI: 10.1038/nphoton.2012.329
[3] Giuliano, C. B., Zhang, R., Wilson, L. G. (2014) Digital Inline Microscopy (DIHM) of Weakly-scattering Subjects Journal of Visualized Experiments, DOI:10.3791/50488
[4] Molaei, M., Sheng, J. (2014) Imaging bacterial 3D motion using digital inline holographic microscopy and correlation-based de-noising algorithm Optics Express, DOI: 10.1364/OE.22.032119
[5] Braat, J., Dirksen, P., Janssen, A. J. E. M. (2003) Diffractive Read-Out of Optical Discs, Optical Imaging
Springer Verlag
[6] DDeng, Y., Chu, D., (2017) Coherence properties of different light sources and their effect on the image sharpness and speckle of holographic displays, Scientific Report,
DOI: 10.1038/s41598-017-06215-x
[7] Jericho, M. H., Kreuzer, H.J., (2011), Point Source Digital In-Line Holographic Microscopy, Chapter 1, Coherent Light Microscopy, Springer Series in Surface Sciences 46, 46
DOI: 10.1007/978-3-642-15813-1_1
[8] Rostykus, M., Moser, C. (2017) Compact lensless off-axis transmission digital holographic microscope, Optics Express, DOI: 10.1364/OE.25.016652
[9] Reichert, C. C., Herkommer, A., Claus, D. (2016) Das Smartphone als Mikroskop, AT-Fachverlag GmbH,
www.biophotonik.de
[10] Moon, I., Daneshpanah, M., Anand, A., Javidi, B. (2011) Cell Identification Computational 3-D Holographic Microscopy, Optics & Photonics, 22 (6),
[11] Greenbaum, A., Luo, W., Su, T., Göröcs, Z., Xue, L., Isikman S., Coskun, A., Mudanyali, O., Ozcan, A. (2012) Imaging without lenses: achievments and remaining challenges of wide-field on-chip microscopy, Nature America, DOI:10.1038/nmeth.2114
[12] beniroquai (2017) Blog, https://beniroquai.wordpress.com/2016/01/20/holoscope-linsenloses-holographisches-mikroskop/, last visited: 10/15/2017
[13] BDan (2015) micromanipulator, Thingiverse, https://www.thingiverse.com/thing:923865/#files, last visited: 10/15/2017
[14] "Do-it-yourself" project for steering HD-DVD pickup homepage: http://www.diyouware.com/ last visited: 10/15/2017
[15] "HoloPy, a python framework for analyzing digital holographs, manoharan lab, Harvard https://github.com/manoharan-lab/holopy last visited: 10/18/2017
[16] "HoloPy, documentation, https://holopy.readthedocs.io/en/latest/users/index.html last visited: 10/18/2017
[17] User:Egelberg, OpticalSetupDHM, CC BY-SA 3.0