All Projects → hahnec → plenopticam

hahnec / plenopticam

Licence: other
Light-field imaging application for plenoptic cameras

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to plenopticam

LFToolbox
Light Field Toolbox for MATLAB
Stars: ✭ 74 (-33.33%)
Mutual labels:  calibration, lightfield, plenoptic
Neurokit
NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing
Stars: ✭ 264 (+137.84%)
Mutual labels:  toolbox, software
RaPId
RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
Stars: ✭ 35 (-68.47%)
Mutual labels:  toolbox, calibration
Uncertainty Toolbox
A python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization
Stars: ✭ 880 (+692.79%)
Mutual labels:  toolbox, calibration
Omatsuri
PWA with 12 open source frontend focused tools
Stars: ✭ 1,131 (+918.92%)
Mutual labels:  application, toolbox
verified calibration
Calibration library and code for the paper: Verified Uncertainty Calibration. Ananya Kumar, Percy Liang, Tengyu Ma. NeurIPS 2019 (Spotlight).
Stars: ✭ 93 (-16.22%)
Mutual labels:  toolbox, calibration
Laser Camera Calibration Toolbox
A Laser-Camera Calibration Toolbox extending from that at http://www.cs.cmu.edu/~ranjith/lcct.html
Stars: ✭ 99 (-10.81%)
Mutual labels:  toolbox, calibration
Robotlib.jl
Robotics library written in the Julia programming language
Stars: ✭ 32 (-71.17%)
Mutual labels:  toolbox, calibration
depth-from-defocus-and-correspondence
⛄Depth from Combining Defocus and Correspondence Using Light-Field Cameras.
Stars: ✭ 17 (-84.68%)
Mutual labels:  depth, light-field
uncertainty-calibration
A collection of research and application papers of (uncertainty) calibration techniques.
Stars: ✭ 120 (+8.11%)
Mutual labels:  calibration
tf2-rich-presence
Discord Rich Presence for Team Fortress 2
Stars: ✭ 30 (-72.97%)
Mutual labels:  application
M4Depth
Official implementation of the network presented in the paper "M4Depth: A motion-based approach for monocular depth estimation on video sequences"
Stars: ✭ 62 (-44.14%)
Mutual labels:  depth
dev-gateway
Local development cluster with "now" path aliases syntax support. Allows running multiple microservices as one solid server.
Stars: ✭ 32 (-71.17%)
Mutual labels:  micro
spire
🗼Extensible JavaScript toolbox management
Stars: ✭ 21 (-81.08%)
Mutual labels:  toolbox
mapos
Sistema de Controle de Ordens de Serviço
Stars: ✭ 24 (-78.38%)
Mutual labels:  application
top-software-engineering-articles
Collection of top articles about great software engineering practices.
Stars: ✭ 45 (-59.46%)
Mutual labels:  software
nimblenote
Simple keyboard-driven note taking application for macOS, Linux and Windows.
Stars: ✭ 31 (-72.07%)
Mutual labels:  application
Lazycard
A simple flashcard application where cards are formatted with Markdown.
Stars: ✭ 18 (-83.78%)
Mutual labels:  application
react-micro-modal
Accessible, lightweight and configurable modal component with a11y-enabled.
Stars: ✭ 36 (-67.57%)
Mutual labels:  micro
fluffy.js
🍱 Makes sure your content – no matter how big it is – will fit in any screen!
Stars: ✭ 47 (-57.66%)
Mutual labels:  light

PlenoptiCam

Description

PlenoptiCam is an open-source software (macOS, Win or Linux) for scientific light field computation with cross-platform compatibility, few dependencies and a lean graphical user interface. Raw exposures from a plenoptic camera require four-dimensional image alignment in order to be decoded as a light field. Provided software addresses this by its ability to calibrate an image taken by a plenoptic camera and extract sub-aperture images or synthetically focused photographs. This application is meant for researchers, developers, beginners and other fiddlers who like to experiment with light field technology. Its scope comprises custom-types of plenoptic cameras and is thus not limited to Lytro's image data.

release License travis coverage Release Downloads PyPI Downloads

arXiv link

colab

Results

Datesets

OpEx dataset INRIA dataset
Custom-built (png, jpg, bmp files) Lytro Illum (lfp, lfr, tar files)
binder colab

Color equalization

Before Target After

Depth

2-D depth map 3-D point cloud
pfm file format ply file format

Installation


  • via pip:
    1. install with $ python3 -m pip install plenopticam
    2. type $ plenopticam -g to the command line once installation finished

  • from source:
    1. install Python from https://www.python.org/
    2. download the source using $ git clone https://github.com/hahnec/plenopticam.git
    3. go to the root directory $ cd plenopticam
    4. load other packages $ python3 -m pip install -r requirements.txt
    5. install with $ sudo python3 setup.py install from root directory
    6. if installation ran smoothly, enter $ sudo plenopticam -g to the command line

Usage

Application

Note

"Pick folder" checkbox is useful to point to a directory containing calibration archive files of Lytro Illum cameras. In such case, the white image calibration file corresponding to the Lytro Illum image is found automatically.


  1. Download a dataset if you don't call a plenoptic camera your own, e.g.:

  1. Choose your light field photograph using upper Browse button. Supported file types are:
    • bmp, jpg or png file from custom-built plenoptic camera
    • lfr, lfp and raw files from Lytro Illum

  1. Choose calibration source data using lower Browse button. Supported file types are:
    • bmp, jpg or png file from custom-built plenoptic camera
    • caldata-XXX.tar archive or respective raw file from Lytro Illum
    • tick "Pick folder" and point to a directory containing all tar files or extracted folders (calibration file will be found automatically)

Note

If you are using your own Lytro Illum camera, you first need to extract camera calibration data as a tar-archive. To do so, please follow the instructions guide.


  1. Adjust configuration using Settings button:
    • Micro image patch size: default is estimated maximum
    • Refocusing range: range for shift and sum synthesis
    • Force re-calibration: option to re-run calibration
    • Automatic white balance: option for white balancing
    • Refocus refinement: option for sub-pixel precise refocusing
    • Scheimpflug: option to mimic tilted sensor

  1. Press Process to start the computation.

Command Line

For computing a stack of light-field images, it may be convenient to iterate through them. This can be done by:

$ sudo plenopticam -f '/Users/../Folder/' -c 'Users/../caldata-B5144000XXX.tar'

with necessary write privileges on Unix Systems. A Windows-equivalent command would be as follows:

plenopticam --file="C:\\..\\Folder\\" --cali="C:\\..\\caldata-B5144000XXX.tar"

More information on optional arguments can be found using the help parameter

plenopticam -h

Results can be found inside a folder named after your light field file which is located in the same directory path. Depending on provided files and settings, your results folder may contain the following data:

  • sub-aperture images (see viewpoints_xxx folder) and view animation given as gif
  • refocused images (see refo_xxx folder) and refocus animation given as gif
  • depth map given as pfm and ply file
  • raw image file given as tiff
  • aligned light field as pkl (pickle) file
  • light field metadata as json file (for Lytro files only)
  • scheimpflug focus files

API usage

Usage of PlenoptiCam modules is demonstrated in the following Jupyter notebooks:

1. Calibration Demo

2. Alignment Demo

3. Extraction Demo

4. Lytro Illum Demo

Citation

@ARTICLE{plenopticam,
    author={Hahne, Christopher and Aggoun, Amar},
    journal={IEEE Transactions on Image Processing},
    title={PlenoptiCam v1.0: A Light-Field Imaging Framework},
    year={2021},
    volume={30},
    number={},
    pages={6757-6771},
    doi={10.1109/TIP.2021.3095671}
}

Further information

  • check out PlenoptiCam's partner project PlenoptiSign capable of estimating metric light field geometries
  • visit plenoptic.info for technical details, animated figures and theoretical backgrounds
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].