Giter Site home page Giter Site logo

iom's Introduction

This program implements an optical model to calculate the irradiance pattern and peak retinal irradiance in an aberrated eye from incident monochromatic, coherent plane waves. The model embeds aberration data from two published studies that was clinically measured and adapted to a range of pupil sizes. The studies are the Indiana Aberration Study (IAS) from L.N.Thibos et.al, and the Texas Investigation of Normal and Cataract Optics (TINCO) from R.A.Applegate et.al. These studies tabulate aberration data in accordance with ANSI Z80.28 using Zernike coefficients.

Since, in the face of aberrations, the peak irradiance need not occur at the focal plane. The model is configured to sweep through a small volume around the focal point of an unaberrated eye lens. The sweep can be by shift of the image plane or by adjustment of the 4th Zernike coefficent (focus).

This program is for demonstration purposes, takes a brute force approach and presents a heavy computational load. It computes a mesh of phase adjusted Huygens sources in the pupil plane and then sums the contribution of each source at each point in each image plane comprising the swept volume. It uses the Rayleigh-Sommerfeld Diffraction Formula with the Fresnel approximation. By default the computation in an image plane is parallelized across 64 threads using the pthreads library.

Each image plane irradiance result is saved in a normalized 16-bit plain PGM format image so that the peak irradiance has a pixel value of 65535 and includes an embedded comment recording the peak irradiance in nominal, but standardized, units to allow comparison between different image plane irradiance results.

Image file names embed the parameters used in the creation of that image.

The name of the open source project, IOM, stands for Irradiance Optical Model. The program consists of a single .c source file named “airy”, which is an allusion to the Airy disk produced in the focal plane when imaging a plane wave through a perfect lens with a circular aperture. The .c source file includes .inc files containing clinical aberration measurements. It requires pthreads and the standard math library. To compile on linux with gcc use a command line such as:

gcc -o airy -O5 airy.c -lm -pthread

iom's People

Stargazers

 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.