Skip to main content

A plenoptic processing library for Python.

Project description

plenpy - A plenoptic processing library for Python.

build status coverage report PyPI PyPI PyPI

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 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:

@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 Start

Have a look at our User Documentation for notes on usage and some examples to get you started.

For a quick tryout of plenpy, you can use our latest Docker Image.

Installation

You can install plenpy directly from PyPi via pip:

$ pip install plenpy

That's it!

Dependencies

Plenpy requires python >= 3.6 as 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 using pip. For development and testing dependencies, see the requirements.txt file. The package dependencies are stated in setup.py.

Manual Installation on Unix / Linux / macOS

If you want to install from source, the installation using make is straightforward and installs plenpy and its runtime dependencies automatically. If make is not available, or if you are running Windows, see below.

Caution: A system wide installation using sudo is easy and possible but discouraged. Installing in a environment is recommended.

To install plenpy, 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 plenpy

Then, install the library via:

$ make

Or, to have an editable install of plenpy, using

$ make editable

If no errors occur, you can check if the installation was successful by running the unit tests:

$ make test

That's it! The package should now be available.

Manual Installation on Windows

If make is not available on your system, the installation via pip is also straightforward. Instead of invoking make, 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.

Testing

You can manually run the tests using pytest:

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

Uninstallation

Uninstall plenpy using

$ pip uninstall plenpy

Documentation

The documentation can be found here.

You can also build the documentation yourself:

Dependencies and Building

The documentation is build using Sphinx. 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 html

This will create the full plenpy documentation in the docs/_build/html folder.

Contribute

If you are interested in contributing to plenpy, 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) 2018-2020 The Plenpy 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

plenpy-0.8.2.tar.gz (198.3 kB view details)

Uploaded Source

Built Distribution

plenpy-0.8.2-py3-none-any.whl (236.0 kB view details)

Uploaded Python 3

File details

Details for the file plenpy-0.8.2.tar.gz.

File metadata

  • Download URL: plenpy-0.8.2.tar.gz
  • Upload date:
  • Size: 198.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.11

File hashes

Hashes for plenpy-0.8.2.tar.gz
Algorithm Hash digest
SHA256 4f5bf898083e2a5f334e393f59c179ec8a94e3d9d2de5b7cc9cb3892fec0314d
MD5 caf04f27f7130a595b2b11cc7ec1fd6e
BLAKE2b-256 33423bfafee1ac1eeb5df34e9f912ff5ded820734c26e14e0d15e2274ff91163

See more details on using hashes here.

File details

Details for the file plenpy-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: plenpy-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 236.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.11

File hashes

Hashes for plenpy-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64827e8ecca609ad6a81796d5320d23c762211e201c78d3becb1f1691fca9d02
MD5 67c934c17171f8454bb7596f7e7e46c2
BLAKE2b-256 92e7e775c55e9c580fb97d3fddd7bab947f12f4bdce55825f8a5e504a6884c16

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