## <img alt="TracePy" src="https://user-images.githubusercontent.com/25272611/62305283-dc62a300-b43c-11e9-8436-d88c8555b110.png" height="60">

[![Documentation Status](https://readthedocs.org/projects/tracepy/badge/?version=latest)](https://tracepy.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/tracepy.svg?refresh=true)](https://badge.fury.io/py/tracepy)

Ray Tracing and Optical Design in Python

## Overview

TracePy is a sequential ray tracing package written in Python 3 for designing optical systems in the geometric optics regime. It features lens optimization from Scipy.

## Installation

To use TracePy you can either clone the repository and use the command "pip install ." in the download directory, or you can download TracePy directly through pypi with the command below.

```
pip install tracepy
```

## Examples

To get started using the software, you can look at the examples provided in the 'examples' folder. The UI for TracePy is most similar to BEAM4, and TracePy's ray tracing algorithm was recreated from Spencer and Murty's iconic paper, "General Ray-Tracing Procedure".
