This is a Matlab implementation of the procedure described in the paper:
Starting from a FiMic image, it creates a focal stack and separates the perspective views. Then two cost volumes are built, and refined using multi-scale and superpixels contributions. Finally, using energy minimization the two volumes are combined and the final depth map is extracted.
Cotton fibers | Cotton fibers | Zebrafish | Chip | Solderings |
---|---|---|---|---|
The FiMic microscope allows to capture light field in a single shot.
For further information regarding FiMic Fourier Integral Microscope, refer to the paper FIMic: design for ultimate 3D-integral microscopy of in-vivo biological samples
About implementation, the code is mainly in Matlab and it makes use of some MEX files (C and C++) to speed up some computations. It uses other toolboxes, but they are already present in the github folders (see References for more details).
The dependencies are a C++ compiler for the MEX code (if you are using gcc, supported version is 4.7; however until 6.x is working and Matlab just gives a warning, from 7.0 it may cause some problems. If on Linux systems, use of alternatives can help about this read more here)
It takes inspiration and parts of code from other approaches, who have been cited in the paper and we would like to thank for sharing their code.
[1] JEON2015: Open Source Code -- Accurate Depth Map Estimation from a Lenslet Light Field Camera, Jeon et al., 2015
[2] MGM2015: Project page -- Open Source Code -- MGM: A Significantly More Global Matching for Stereovision, Facciolo et al., 2015
[3] SFF2016: Open Source Code -- Analysis of focus measure operators for shape-from-focus, Pertuz et al., 2013
[4] TAO2013: Project Page with Open Source Code -- Depth from Combining Defocus and Correspondence Using Light-Field Cameras, Tao et al., 2013
For further information, please contact me at: lpa@informatik.uni-kiel.de