gropt - performing ray tracing computation of optical systems
gropt [options] <input> [...] [-o
<output>]
The purpose of the task `gropt` is to perform various computations
in the framework of geometrical optics. The main input of the task is a
descriptor file quantifying the various optical elements (lenses, mirrors,
aperture stops, etc. and the respective materials) as well as the alignment
geometry of these pieces. The output of `gropt` includes well-known products
of optical analysis such as ray transfer matrices, analysis for multiple
wavelengths, ray diagrams, 3D models for visualization, spot diagrams,
models for spatially quantized point-spread functions, plate solutions and
vignetting. The underlying ray trace library (see ./src/optcalc.[ch]) is
also included in the program `firandom` in order to generate both precise
and accurate simulated images that can be acquired with the given optical
setup.
- -h, --help
- Give general summary about the command line options.
- --long-help,
--help-long
- Gives a detailed list of command line options.
- --wiki-help,
--help-wiki, --mediawiki-help,
--help-mediawiki
- Gives a detailed list of command line options in Mediawiki format.
- --version,
--version-short, --short-version
- Give some version information about the program.
- <input>, -i <input>, --input <input>
- Name of the input file describing the optical system. Note that all of the
length dimensions, including offsets, curvatures, curvature radii and
higher order aspherical constants are needed to be defined in the units of
millimeters. Reading from standard input can be forced using a single dash
"-" as input file name.
- --speed-test
<time/seconds>
- In this mode, gropt runs a speed test to figure out the number of rays
that can be traced during the given interval of time. Note that this speed
depends on the optical system itself, so one should specify a valid input
(see -i, --input).
- -l, --lambda,
--wavelength <wavelength/microns>
- The wavelength (in microns) of the ray set of the actual analysis.
- -f, --focus
<focal-plane-position>
- The position of the focal plane. It overrides the "focal"
keyword in the input optical system description (see -i,
--input for more).
- -x, --scale
<pixel-scale>
- The pixel scale (i.e. the pixel size), also in millimeters.
- -a, --angle
<incident-angle/radians>|<normal_x>,<normal_y>
- The incident angle of the incoming parallel rays. If a single parameter is
given, then it is going to be interpreted as an angle in radians. If two
parameters are given after -a or --angle then these are
treated as the x and y components of the ray normal vector. By
conventions, a single paramater of "a" is equivalent to
"0,sin(a)".
- -s, --spot-aperture
<radius>[,<number-of-rings>[,<position>]]
- The radius, the number of the rings and the offset of spot aperture. If
omitted, the number of the rings is going to be one and the offset of the
spot aperture is going to be zero. Note that the option -o,
--output or --output-spot is needed to be specified in order
to perform a spot diagram analysis.
- -o, --output,
--output-spot <spot-diagram-output>
- The name of the file to which the spot diagram output is intended to be
written. To write the output to the standard output, use a dash (-) as a
file name. To write the output to the file named as a dash, use -o
./- or something equivalent.
- -t,
--transfer
- Perform a ray transfer matrix analysis. The results (namely, the computed
focal plane offset and the effective focal length) are written to the
standard output.
- -d, --output-scad
<openscad-file>
- Exports the geometry of the input optical setup to an OpenSCAD file. This
3D model of the setup can then be viewed by running `openscad` whose input
is the output this process.
- -e, --output-eps
<encapsulated-postscript-file>
- Exports the geometry of the input optical setup to an encapsulated
PostScript file. This PostScript image can be considered as a planar
diagram of the lens system. If -s or --spot-aperture is
defined, then rays are also drawn according to the specifications
following these command-line switches.
- -z, --psf-half-size
<half-size>
- The half size of the output point-spread function. If this parameter is,
for example, 3, then the resolution of the output point-spread function
will be 7x7. In general, if the parameter is H, then the output
point-spread function will have a resolution of (2H+1)x(2H+1). Note that
the pixel scale of this computed point-spread function is defined by
-x or --scale.
Report bugs to <apal@szofi.net>, see also
https://fitsh.net/.
Copyright © 1996, 2002, 2004-2008, 2010-2016, 2018-2020;
Pal, Andras <apal@szofi.net>