6.1. Library Structure

Library Structure

./optrace
├── __init__.py
├── global_options.py
├── gui
│   ├── __init__.py
│   ├── _scene_plotting.py
│   ├── command_window.py
│   ├── property_browser.py
│   └── trace_gui.py
├── metadata.py
├── plots
│   ├── __init__.py
│   ├── chromaticity_plots.py
│   ├── image_plots.py
│   ├── init.py
│   ├── misc_plots.py
│   └── spectrum_plots.py
├── progress_bar.py
├── property_checker.py
├── resources
│   ├── SOURCE.txt
│   ├── illuminants.csv
│   ├── images
│   │   ├── ETDRS_chart.png
│   │   ├── ETDRS_chart_inverted.png
│   │   ├── SOURCE.txt
│   │   ├── cell.webp
│   │   ├── color_checker.webp
│   │   ├── documents.webp
│   │   ├── eye_test_vintage.webp
│   │   ├── fruits.webp
│   │   ├── group_photo.webp
│   │   ├── hong_kong.webp
│   │   ├── interior.webp
│   │   ├── landscape.webp
│   │   ├── siemens_star.png
│   │   ├── tv_testcard1.png
│   │   └── tv_testcard2.png
│   └── observers.csv
├── tracer
│   ├── __init__.py
│   ├── base_class.py
│   ├── color
│   │   ├── __init__.py
│   │   ├── illuminants.py
│   │   ├── luv.py
│   │   ├── observers.py
│   │   ├── srgb.py
│   │   ├── tools.py
│   │   └── xyz.py
│   ├── convolve.py
│   ├── geometry
│   │   ├── __init__.py
│   │   ├── aperture.py
│   │   ├── detector.py
│   │   ├── element.py
│   │   ├── filter.py
│   │   ├── group.py
│   │   ├── ideal_lens.py
│   │   ├── lens.py
│   │   ├── line.py
│   │   ├── marker
│   │   │   ├── __init__.py
│   │   │   ├── line_marker.py
│   │   │   └── point_marker.py
│   │   ├── point.py
│   │   ├── ray_source.py
│   │   ├── surface
│   │   │   ├── __init__.py
│   │   │   ├── aspheric_surface.py
│   │   │   ├── circular_surface.py
│   │   │   ├── conic_surface.py
│   │   │   ├── data_surface_1d.py
│   │   │   ├── data_surface_2d.py
│   │   │   ├── function_surface_1d.py
│   │   │   ├── function_surface_2d.py
│   │   │   ├── rectangular_surface.py
│   │   │   ├── ring_surface.py
│   │   │   ├── slit_surface.py
│   │   │   ├── spherical_surface.py
│   │   │   ├── surface.py
│   │   │   └── tilted_surface.py
│   │   └── volume
│   │       ├── __init__.py
│   │       ├── box_volume.py
│   │       ├── cylinder_volume.py
│   │       ├── sphere_volume.py
│   │       └── volume.py
│   ├── image
│   │   ├── __init__.py
│   │   ├── base_image.py
│   │   ├── grayscale_image.py
│   │   ├── render_image.py
│   │   ├── rgb_image.py
│   │   └── scalar_image.py
│   ├── load.py
│   ├── misc.py
│   ├── presets
│   │   ├── __init__.py
│   │   ├── geometry.py
│   │   ├── image.py
│   │   ├── light_spectrum.py
│   │   ├── psf.py
│   │   ├── refraction_index.py
│   │   ├── spectral_lines.py
│   │   └── spectrum.py
│   ├── random.py
│   ├── ray_storage.py
│   ├── raytracer.py
│   ├── refraction_index.py
│   ├── spectrum
│   │   ├── __init__.py
│   │   ├── light_spectrum.py
│   │   ├── spectrum.py
│   │   └── transmission_spectrum.py
│   └── transfer_matrix_analysis.py
└── warnings.py

14 directories, 103 files

Example Structure

./examples
├── IOL_pinhole_imaging.py
├── IOL_target_imaging.py
├── achromat.py
├── arizona_eye_model.py
├── astigmatism.py
├── brewster_polarizer.py
├── cosine_surfaces.py
├── double_gauss.py
├── gui_automation.py
├── hurb_apertures.py
├── image_render.py
├── image_render_many_rays.py
├── keratoconus.py
├── legrand_eye_model.py
├── microscope.py
├── prism.py
├── psf_imaging.py
├── refraction_index_presets.py
├── resources
│   ├── eyepiece
│   │   ├── LICENSE.txt
│   │   ├── SOURCE.txt
│   │   └── UK565851-1.zmx
│   ├── materials
│   │   ├── LICENSE.txt
│   │   ├── SOURCE.txt
│   │   ├── hikari.agf
│   │   ├── hoya.agf
│   │   ├── ohara.agf
│   │   └── schott.agf
│   └── microscope
│       ├── LICENSE.txt
│       ├── Nikon_1p25NA_60x_US7889433B2_MultiConfig_v2.zmx
│       └── SOURCE.txt
├── spectrum_presets.py
├── sphere_projections.py
└── spherical_aberration.py

5 directories, 33 files