Metadata-Version: 2.1
Name: prysm
Version: 0.16
Summary: a python optics module
Home-page: http://prysm.readthedocs.io
Author: Brandon Dube
Author-email: brandon@retrorefractions.com
License: MIT
Keywords: optics,wavefront,numerical propagation,geometrical optics,psf,mtf,interferogram,pupil,aberration,imaging,simulation,slanted-edge
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >= 3.6
Requires-Dist: numpy
Requires-Dist: scipy
Provides-Extra: cpu
Requires-Dist: numba ; extra == 'cpu'
Provides-Extra: cuda
Requires-Dist: cupy ; extra == 'cuda'
Provides-Extra: deconv
Requires-Dist: scikit-image ; extra == 'deconv'
Provides-Extra: deluxe
Requires-Dist: numba ; extra == 'deluxe'
Requires-Dist: cupy ; extra == 'deluxe'
Requires-Dist: h5py ; extra == 'deluxe'
Requires-Dist: imageio ; extra == 'deluxe'
Requires-Dist: pandas ; extra == 'deluxe'
Requires-Dist: scikit-image ; extra == 'deluxe'
Requires-Dist: matplotlib ; extra == 'deluxe'
Provides-Extra: dev
Requires-Dist: numba ; extra == 'dev'
Requires-Dist: h5py ; extra == 'dev'
Requires-Dist: imageio ; extra == 'dev'
Requires-Dist: pandas ; extra == 'dev'
Requires-Dist: scikit-image ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: nbsphinx ; extra == 'dev'
Provides-Extra: img
Requires-Dist: imageio ; extra == 'img'
Provides-Extra: mtf
Requires-Dist: pandas ; extra == 'mtf'
Provides-Extra: mx
Requires-Dist: h5py ; extra == 'mx'
Provides-Extra: plotting
Requires-Dist: matplotlib ; extra == 'plotting'

# Prysm

[![Build Status](https://travis-ci.org/brandondube/prysm.svg?branch=master)](https://travis-ci.org/brandondube/prysm)
[![Documentation Status](https://readthedocs.org/projects/prysm/badge/?version=stable)](http://prysm.readthedocs.io/en/stable/?badge=stable)
[![Coverage Status](https://coveralls.io/repos/github/brandondube/prysm/badge.svg?branch=master)](https://coveralls.io/github/brandondube/prysm?branch=master)

A python3.6+ module for physical optics based modeling and processing of data from commerical and open source instrumentation.

## Installation

prysm is on pypi:
```
pip install prysm
```

prysm requires only [numpy](http://www.numpy.org/) and [scipy](https://www.scipy.org/).

### Optional Dependencies

Prysm uses numpy for array operations.  If your environment has [numba](http://numba.pydata.org/) installed, it will automatically accelerate many of prysm's compuations.  To use an nVidia GPU, you must have [cupy](https://cupy.chainer.org/) installed.  Plotting uses [matplotlib](https://matplotlib.org/).  Images are read and written with [imageio](https://imageio.github.io/).  Some MTF utilities utilize [pandas](https://pandas.pydata.org/).  Reading of Zygo datx files requires [h5py](https://www.h5py.org/).

## Features

Prysm features robust tools for modeling and propagation of wavefronts to image planes and MTF.  It also features object synthesis routines and a flexible convolution system in support of image simulation.  Finally, it contains rich features for analysis of interferometric data.

For a complete list of features, see [the docs](https://prysm.readthedocs.io/en/stable/).

## Examples

Several [examples](https://prysm.readthedocs.io/en/stable/examples/index.html) are provided in the documentation.

## User's Guide

A [guide](https://prysm.readthedocs.io/en/stable/user_guide/index.html) for using the library is provided in the documentation.

## Contributing

If you find an issue with prysm, please open an [issue](https://github.com/brandondube/prysm/issues) or [pull request](https://github.com/brandondube/prysm/pulls).  Prysm has some usage of f-strings, so any code contributed is only expected to work on python 3.6+, and is licensed under the [MIT license](https://github.com/brandondube/prysm/blob/master/LICENSE.md).  The library is
most in need of contributions in the form of tests and documentation.


