Giter Site home page Giter Site logo

lftoolbox's Introduction

Light Field Toolbox for MATLAB

Copyright (c) 2013-2020 Donald G. Dansereau

This is a toolbox for working with light field imagery in MATLAB. Features include loading, visualizing, and filtering light fields, and decoding, calibration, and rectification of lenslet-based imagery.

The most recent release and development versions are here: https://github.com/doda42/LFToolbox.

The complementary LiFF light field feature toolbox is here: http://dgd.vision/Tools/LiFF

Installation and Sample Data

Please refer to LFToolbox.pdf for installation and usage instructions.

Sample data:

What's New / Development Plan

v0.5 introduces new features, bug fixes, and performance improvements. Highlights:

  • Linear refocus super-resolution using LFFiltShiftSum.
  • New display functions LFDispLawnmower, LFDispTiles, LFDispTilesSubfigs, LFDispProj, LFDispProjSubfigs
  • LFReadESLF, LFWriteESLF
  • Improved decode performance and speed
  • Improved calibration accuracy
  • LFDisp* functions are better behaved, now display in the active figure window

For a complete list, see CHANGELOG.txt.

Future plans include more significant changes to lenslet-based decode and calibration, and support for a broader range of cameras.

Compatibility

Reverse-compatibility: Changes to interfaces have been minimised, LFDispVidCirc is the main exception, with a new parameter structure.

Previously generated calibration files should be re-generated, and to benefit from performance improvements to decoding, white images should be re-generated. See LFToolbox.pdf for details.

Matlab: LFToolbox 0.5 was written in MATLAB 2020a, but should be compatible with earlier versions.

File Formats: The toolbox can load gantry / array-style folders of images, ESLF files, and raw lenslet-based images.

Plenoptic 1.0 cameras are supported through decoding, calibration, and rectification of imagery. Functions are most easily applied to Lytro imagery. The toolbox can also be applied to other lenslet-based Plenoptic 1.0 cameras, but this is not yet well documented. Calibration of Lytro Illum cameras is experimental.

Plenoptic 2.0 cameras are not well supported. Use with some cameras is possible but not well documented. Multi-focal lenslet-based cameras are not well supported.

Lytro Software: The toolbox is compatible with files generated using Lytro Desktop 4 and 3, and will load ESLF files generated using the Lytro Power Tools.

Contributing / Feedback

Suggestions, bug reports, code improvements and new functionality are welcome -- email Donald.Dansereau+LFToolbox {at} gmail dot com.

Branch Structure

  • tags: keep track of each release
  • master: always the most recent release
  • develop<version #>: developing new functionality for specific release
  • develop: experimental functionality
  • release<version #>: soon-to-be-released branch, to be merged into master

Code in the develop branches is incomplete, unstable, undocumented, and unsupported. Use at your own risk. Functions named LFX* are new/experimental.

Acknowledgements

Parts of the code were taken with permission from the Camera Calibration Toolbox for MATLAB by Jean-Yves Bouguet, with contributions from Pietro Perona and others; and from the JSONlab Toolbox by Qianqian Fang and others. LFFigure was originally by Daniel Eaton. The LFP reader is based in part on Nirav Patel and Doug Kelley's LFP readers. Thanks to Michael Tao for help and samples for decoding Illum imagery.

Citing

The appropriate citations for decoding, calibration and rectification and the volumetric focus (hyperfan) filter are:

@inproceedings{dansereau2013decoding,
 title={Decoding, Calibration and Rectification for lenselet-Based Plenoptic Cameras},
 author={Donald G. Dansereau and Oscar Pizarro and Stefan B. Williams},
 booktitle={Computer Vision and Pattern Recognition (CVPR), IEEE Conference on},
 year={2013},
 month={Jun},
 organization={IEEE}
}
@article{dansereau2015linear, 
 title={Linear Volumetric Focus for Light Field Cameras},
 author={Donald G. Dansereau and Oscar Pizarro and Stefan B. Williams},
 journal={ACM Transactions on Graphics (TOG)},
 volume={34},
 number={2},
 month={Feb.},
 year={2015}
}

lftoolbox's People

Contributors

doda42 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.