Package: lfcnn
lfcnn - A TensorFlow framework for light field deep learningLicense and UsageThis software is licensed under the GNU GPLv3 license (see below).If you use this software in your scientific research, please cite our paper:Maximilian Schambach and Michael Heizmann:
"A Multispectral Light Field Dataset and Framework for Light Field Deep Learning"
IEEE Access, vol. 8, pp. 193492-193502, 2020
DOI: 10.1109/ACCESS.2020.3033056If you use the Normalized Gradient Similarity auxiliary loss training approach in your scientific research, please also cite:Maximilian Schambach, Jiyang Shi, and Michael Heizmann:
"Spectral Reconstruction and Disparity from Spatio-Spectrally Coded Light Fields via Multi-Task Deep Learning"
International Conference on 3D Vision (3DV), 2021Quick StartHave a look at theDocumentationfor notes on usage.Furthermore, you can find some useful examples in theexamplesfolder which
can help you to get started.InstallationCurrently, LFCNN is tested using Python 3.6 -- 3.8 for TensorFlow versions 2.2.0, 2.3.0, 2.4.1, 2.5.1, and 2.6.0, not all of which are all available for Conda (yet).
It likely also work with higher/different versions of Python and TensorFlow.
LFCNN is mostly compatible with all TF versions TensorFlow >= 2.0,
however there is a bug in tf.keras that causes OOMs with data generators
(which LFCNN uses) and multithreading and -processing.
Therefore, we specifytensorflow >= 2.2as a dependency,
for which this bug has beenresolved.It is recommended to use Conda to set up a new environment with tensorflow and GPU support.
To install with GPU support, runconda create -n lfcnn python tensorflow-gpu=2.4 tensorflow numpy scipy imageio h5py cudnn cudatoolkit
conda activate lfcnnThen, install LFCNN viapip:pip install lfcnnOptional dependenciesOptionally, for some of LFCNN's features, install the following:matplotlib(via conda or pip)sacred(via pip)pymongo(via conda or pip)mdbh(via pip)Installation on WindowsTensorFlow under Windows requires theVisual C++ redistributable.
Otherwise, follow the general installation notes above.TestingYou can manually run the tests usingpytest:$ pytest <path-to-lfcnn>/test/UninstallationUninstalllfcnnusing$ pip uninstall lfcnnContributeIf you are interested in contributing to LFCNN, feel free to create an issue or
fork the project and submit a merge request. As this project is still undergoing
restructuring and extension, help is always welcome!For ProgrammersPlease stick to thePEP 8 Python coding styleguide.The docstring coding style of the reStructuredText follows thegoogledoc style.LicenseCopyright (C) 2021  The LFCNN AuthorsThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program.  If not, seehttps://www.gnu.org/licenses/.