Giter Site home page Giter Site logo

hahnec / plenoptisign Goto Github PK

View Code? Open in Web Editor NEW
39.0 6.0 13.0 12.47 MB

Light field geometry estimator for plenoptic cameras

Home Page: http://www.plenoptic.info

License: GNU General Public License v3.0

Python 92.79% HTML 2.86% Shell 1.15% Batchfile 0.36% JavaScript 2.84%
lightfield plenoptic geometry lens-design microlensing mla refocusing baseline ray-tracing raytracer

plenoptisign's Introduction

logo PlenoptiSign

Description

PlenoptiSign is an open-source app for geometry estimation of a light field captured by a Standard Plenoptic Camera (SPC). This software treats a pair of light field rays as a system of linear functions whose solution yields ray intersections indicating distances to refocused object planes or virtual camera positions of perspective views (so-called sub-aperture images).

release License Downloads PyPI Downloads

arXiv link zenodo link

GUI-based executable

gui

Note

Insightful description of the parameter terminology and experimental validation can be found in the author's publications:

If you find this work helpful for your research, please cite as appropriate.

Command-line interface

  • Installation:

    For ease of use, you can install with pip:

    • $ pip install plenoptisign

    Alternatively, installation is possible from source via:

    1. download the source using $ git clone https://github.com/hahnec/plenoptisign.git
    2. go to the root directory $ cd plenoptisign
    3. install with $ python setup.py install from the root directory
  • Usage:

    Run $ plenoptisign from the command line with optional arguments:

    • -g, --gui: open graphical user interface
    • -p, --plot: plot paraxial rays
    • -r, --refo: refocusing results only
    • -t, --tria: triangulation results only
    • -h, --help: print help message

    Unit testing is done with $ python plenoptisign/tests/plenoptisign_unittest.py -v

CGI server

  • Installation:
    1. download the source
    2. place extracted plenoptisign-master folder on the ftp next to your *.html that you want to embed it in
    3. rename plenoptisign-master to plenoptisign
    4. include cgi.html into your *.html with includeCGI as the id of the desired div container

      <script>
          $(function(){
              $("#includeCGI").load("plenoptisign/plenoptisign/bin/cgi.html");
          });
      </script>
      .
      .
      .
      <div id="includeCGI"></div>
    5. give sufficient permission (chmod 750) to the file plenoptisign/plenoptisign/bin/cgi_script.py
  • Usage:

    website demo: http://www.plenoptic.info/pages/software.html

Tested on macOS 10.14.2 and Windows 10 w/ Python 2.7 & Python 3.6

Credits

Citation

@article{Hahne_2019,
   title={PlenoptiSign: An optical design tool for plenoptic imaging},
   volume={10},
   ISSN={2352-7110},
   url={http://dx.doi.org/10.1016/j.softx.2019.100259},
   DOI={10.1016/j.softx.2019.100259},
   journal={SoftwareX},
   publisher={Elsevier BV},
   author={Hahne, Christopher and Aggoun, Amar},
   year={2019},
   month={Jul},
   pages={100259}
}

Contributors

Christopher Hahne

Sponsors

Further information

  • check out PlenoptiSign's partner project PlenoptiCam capable of rendering light field images from scratch.
  • visit plenoptic.info for technical details, animated figures and theoretical background

plenoptisign's People

Contributors

hahnec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  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.