Package: plenpy
plenpy - A plenoptic processing library for Python.This is a Python package to calibrate, process and analyse
(hyperspectral) light field images as well as (hyper)spectral images
from either real cameras (e.g. Lytro) or synthetic/rendered images.Note:The package is still undergoing API altering changes with each minor release.License and UsageThis software is licensed under the GNU GPLv3 license (see below).If you use this software in your scientific research, please citeour paper:@Article{Schambach2020,
  author  = {Schambach, Maximilian and Puente León, Fernando},
  title   = {Microlens array grid estimation, light field decoding, and calibration},
  journal = {IEEE Transactions on Computational Imaging},
  volume  = {6},
  pages   = {591--603},
  year    = {2020},
  doi     = {10.1109/TCI.2020.2964257},
}Quick StartHave a look at ourUser Documentationfor notes on usage and some examples to get you started.For a quick tryout of plenpy, you can use our latestDocker Image.InstallationYou can installplenpydirectly from PyPi viapip:$ pip install plenpyThat's it!DependenciesPlenpy requirespython >= 3.6as it relies on Python syntax that has
been introduced in Python 3.6 such as f-strings or type hinting.
Plenpy is currently tested on Python 3.6, 3.7, and 3.8.The package dependencies are resolved automatically upon installation usingpip.
For development and testing dependencies, see therequirements.txtfile.
The package dependencies are stated insetup.py.Manual Installation on Unix / Linux / macOSIf you want to install from source, the installation usingmakeis straightforward and installsplenpyand its runtime dependencies automatically.
Ifmakeis not available, or if you are running Windows, see below.Caution: A system wide installation usingsudois easy and possible but
discouraged. Installing in a environment is recommended.To installplenpy, first clone the project's git repository to
a location of your desire and change directory to the project:$ cd <path-to-plenpy>/
$ git clone git@gitlab.com:iiit-public/plenpy.git
$ cd plenpyThen, install the library via:$ makeOr, to have an editable install of plenpy, using$ make editableIf no errors occur, you can check if the installation was successful
by running the unit tests:$ make testThat's it! The package should now be available.Manual Installation on WindowsIfmakeis not available on your system, the installation viapipis also straightforward. Instead of invokingmake,
install by calling (e.g. from the Anaconda prompt)$ pip install -r requirements.txt .Please note the.at the end, referring to the current folder<path-to-plenpy>/plenpy.TestingYou can manually run the tests usingpytest:$ pytest <path-to-plenpy>/test/UninstallationUninstallplenpyusing$ pip uninstall plenpyDocumentationThe documentation can be foundhere.You can also build the documentation yourself:Dependencies and BuildingThe documentation is build usingSphinx.
To install all necessary dependencies for the documentation, run$ cd <path-to-plenpyr>
$ make
$ pip install -r docs/requirements.txt
$ cd docs
$ sphinx-apidoc -f -o ./ ../plenpy/
$ make htmlThis will create the fullplenpydocumentation in thedocs/_build/htmlfolder.ContributeIf you are interested in contributing toplenpy, 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) 2018-2021  The Plenpy 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/.