rayoptics.raytr package
Package for optical ray tracing and calculations
The raytr subpackage provides core classes and functions
for optical ray tracing and analyses. These include:
Base level ray tracing,
raytraceCalculation of wavefront aberration,
waveabrSpecification of aperture, field, wavelength and defocus,
opticalspecHigher level ray tracing, in terms of aperture, field and wavelength,
traceFunctions setting vignetting and clear apertures and support for pupil exploration,
vigcalcTracing of fans, lists and grids of rays, including refocusing of OPD values,
analysesException classes for reporting ray trace errors,
traceerrorSample generation for ray grids,
sampler
The overall optical model is managed by the OpticalModel class
- class RayResult(pkg, err)
Bases:
tupleA RayPkg and either a RayError or None
- err
a RayError or None, if success
- pkg
a RayPkg
- class RayPkg(ray, op, wvl)
Bases:
tupleRay and optical path length, plus wavelength
- op
optical path length between pupils
- ray
list of RaySegs
- wvl
wavelength (in nm) that the ray was traced in
- class RaySeg(p, d, dst, nrml)
Bases:
tupleray intersection and transfer data
- d
ray direction cosine following the interface
- dst
geometric distance to next point of incidence
- nrml
surface normal vector at the point of incidence
- p
the point of incidence
Submodules
- rayoptics.raytr.analyses module
RayRayFanselect_plot_data()smooth_plot_data()trace_ray_fan()eval_fan()trace_fan()focus_fan()RayListtrace_ray_list()trace_list_of_rays()eval_pupil_coords()trace_pupil_coords()focus_pupil_coords()RayGridtrace_ray_grid()eval_wavefront()trace_wavefront()focus_wavefront()psf_sampling()calc_psf_scaling()calc_psf()update_psf_data()
- rayoptics.raytr.opticalspec module
OpticalSpecsOpticalSpecs.do_aimingOpticalSpecs.do_aiming_defaultOpticalSpecs.listobj_str()OpticalSpecs.spectral_regionOpticalSpecs.pupilOpticalSpecs.field_of_viewOpticalSpecs.defocusOpticalSpecs.set_from_list()OpticalSpecs.set_from_specsheet()OpticalSpecs.sync_to_parax()OpticalSpecs.conjugate_type()OpticalSpecs.is_afocal()OpticalSpecs.setup_specs_using_dgms()OpticalSpecs.sync_to_restore()OpticalSpecs.update_model()OpticalSpecs.update_optical_properties()OpticalSpecs.apply_scale_factor()OpticalSpecs.ray_start_from_osp()OpticalSpecs.lookup_fld_wvl_focus()OpticalSpecs.obj_coords()OpticalSpecs.list_first_order_data()OpticalSpecs.list_parax_trace()
WvlSpecPupilSpecPupilSpec.keyPupilSpec.valuePupilSpec.pupil_raysPupilSpec.ray_labelsPupilSpec.default_pupil_raysPupilSpec.default_ray_labelsPupilSpec.listobj_str()PupilSpec.keyPupilSpec.set_key_value()PupilSpec.sync_to_parax()PupilSpec.derive_parax_params()PupilSpec.get_aperture_from_slope()PupilSpec.sync_to_restore()PupilSpec.set_from_specsheet()PupilSpec.get_input_for_specsheet()PupilSpec.update_model()PupilSpec.apply_scale_factor()PupilSpec.mutate_pupil_type()
FieldSpecFieldSpec.keyFieldSpec.valueFieldSpec.fieldsFieldSpec.is_relativeFieldSpec.is_wide_angleFieldSpec.listobj_str()FieldSpec.keyFieldSpec.valueFieldSpec.set_key_value()FieldSpec.sync_to_parax()FieldSpec.derive_parax_params()FieldSpec.sync_to_restore()FieldSpec.set_from_list()FieldSpec.set_from_specsheet()FieldSpec.get_input_for_specsheet()FieldSpec.check_is_wide_angle()FieldSpec.update_model()FieldSpec.apply_scale_factor()FieldSpec.mutate_field_type()FieldSpec.obj_coords()FieldSpec.max_field()FieldSpec.clear_vignetting()
FieldField.vuxField.vuyField.vlxField.vlyField.wtField.aim_infoField.chief_rayField.ref_sphereField.fovField.xField.yField.xvField.yvField.xfField.yfField.max_fieldField.is_relativeField.listobj_str()Field.update()Field.apply_scale_factor()Field.vignetting_bbox()Field.clear_vignetting()Field.apply_vignetting()
FocusRange
- rayoptics.raytr.raytrace module
- rayoptics.raytr.sampler module
- rayoptics.raytr.trace module
ray_pkg()ray_df()list_ray()list_in_out_dir()trace_ray()trace_safe()trace()trace_base()iterate_ray()trace_with_opd()trace_boundary_rays_at_field()boundary_ray_dict()trace_boundary_rays()trace_ray_list_at_field()trace_field()trace_all_fields()trace_chief_ray()trace_fan()trace_grid()setup_pupil_coords()aim_chief_ray()apply_paraxial_vignetting()get_chief_ray_pkg()refocus()trace_astigmatism_coddington_fan()trace_coddington_fan()intersect_2_lines()trace_astigmatism_curve()trace_astigmatism()iterate_ray_raw()
- rayoptics.raytr.traceerror module
- rayoptics.raytr.vigcalc module
- rayoptics.raytr.waveabr module
calculate_reference_sphere()transfer_to_exit_pupil()eic_distance()ray_dist_to_perp_from_pt()ray_dist_to_perp_from_origin()dist_to_shortest_join()wave_abr_full_calc()wave_abr_pre_calc()wave_abr_calc()wave_abr_full_calc_finite_pup()wave_abr_pre_calc_finite_pup()wave_abr_calc_finite_pup()wave_abr_full_calc_inf_ref()wave_abr_pre_calc_inf_ref()wave_abr_calc_inf_ref()
- rayoptics.raytr.wideangle module