Skip to main content

A TensorFlow framework for light field deep learning.

Project description

lfcnn - A TensorFlow framework for light field deep learning

build status coverage report PyPI PyPI PyPI

Image

License and Usage

This 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.3033056

If 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), 2021

Quick Start

Have a look at the Documentation for notes on usage.

Furthermore, you can find some useful examples in the examples folder which can help you to get started.

Installation

Currently, 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 specify tensorflow >= 2.2 as a dependency, for which this bug has been resolved.

It is recommended to use Conda to set up a new environment with tensorflow and GPU support. To install with GPU support, run

conda create -n lfcnn python tensorflow-gpu=2.4 tensorflow numpy scipy imageio h5py cudnn cudatoolkit
conda activate lfcnn

Then, install LFCNN via pip:

pip install lfcnn

Optional dependencies

Optionally, 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 Windows

TensorFlow under Windows requires the Visual C++ redistributable. Otherwise, follow the general installation notes above.

Testing

You can manually run the tests using pytest:

$ pytest <path-to-lfcnn>/test/

Uninstallation

Uninstall lfcnn using

$ pip uninstall lfcnn

Contribute

If 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 Programmers

Please stick to the PEP 8 Python coding styleguide.

The docstring coding style of the reStructuredText follows the googledoc style.

License

Copyright (C) 2021 The LFCNN Authors

This 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, see https://www.gnu.org/licenses/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lfcnn-0.4.tar.gz (110.0 kB view details)

Uploaded Source

Built Distribution

lfcnn-0.4-py3-none-any.whl (177.5 kB view details)

Uploaded Python 3

File details

Details for the file lfcnn-0.4.tar.gz.

File metadata

  • Download URL: lfcnn-0.4.tar.gz
  • Upload date:
  • Size: 110.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for lfcnn-0.4.tar.gz
Algorithm Hash digest
SHA256 c3ba559fff9d31e56d16738ec9fc184bf703be3983f832d27d576b7d9dc820e4
MD5 62353fc7543c52168722e6b21e97ac91
BLAKE2b-256 975ac5d608c82049bfddf8661b93f5078440907aeacc320a875e6808af5b0e5b

See more details on using hashes here.

File details

Details for the file lfcnn-0.4-py3-none-any.whl.

File metadata

  • Download URL: lfcnn-0.4-py3-none-any.whl
  • Upload date:
  • Size: 177.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for lfcnn-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 522545baa3523ec018ac12b8aa86d6c8e88d2d00d39a7e839e4de91308650c1a
MD5 95669a39d8b39841084b9e99f4b81e23
BLAKE2b-256 ace73c29c654e251cfc6921774935a202d35a21b6b93ea22dbd88e323edf1862

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page