GROPT(1)
๐ NAME ๐
okay so bestie, meet gropt โ she lives in the User Commands chapter and her whole thing is performing ray tracing computation of optical systems. that's it, that's the job. she ate and left no crumbs ๐ฆ
๐ SYNOPSIS ๐
gropt [options] <input> [...] [-o <output>]
โจ DESCRIPTION โจ
so what is gropt actually doing with her life? the task's purpose is to perform various computations in the framework of geometrical optics, periodt. ๐
her main input is a descriptor file that quantifies all the optical elements โ lenses, mirrors, aperture stops, etc., plus the respective materials โ and also the alignment geometry of these pieces. like, the whole blueprint of the setup, no cap.
and the output?? bestie, the output includes all the well-known products of optical analysis, and i mean all of them:
- ray transfer matrices
- analysis for multiple wavelengths
- ray diagrams
- 3D models for visualization
- spot diagrams
- models for spatially quantized point-spread functions
- plate solutions
- vignetting
also!! the underlying ray trace library (see ./src/optcalc.[ch]) is also included in the program firandom, so that precise and accurate simulated images can be generated for whatever optical setup you've got going on. iykyk. ๐ฅ
๐ OPTIONS ๐
๐ซถ General options:
-h,--helpโ gives you a general summary about the command line options. the quick lil vibe check.--long-help,--help-longโ gives a detailed list of command line options. the long-form lore drop.--wiki-help,--help-wiki,--mediawiki-help,--help-mediawikiโ gives a detailed list of command line options in Mediawiki format. for when you need it cute and wiki-fied.--version,--version-short,--short-versionโ gives some version information about the program. ๐<input>,-i <input>,--input <input>โ name of the input file describing the optical system. > heads up bestie: 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. no mixing units, that's not the move. ๐ธ reading from standard input can be forced using a single dash"-"as the input file name.
๐งช Testing and benchmarking:
--speed-test <time/seconds>โ in this mode,groptruns 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 you should specify a valid input (see-i,--input). she's benchmarking your setup specifically, so bring the receipts. โฑ๏ธ
๐ Common options for the various analysis modes:
-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,--inputfor more). she said your config keyword is not the main character today, this flag is. ๐-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-aor--angle, then these are treated as thexandycomponents of the ray normal vector. by conventions, a single parameter ofais equivalent to0,sin(a). so like, one number = angle mode, two numbers = vector mode. pick your fighter. ๐ฆ
๐ญ Spot diagram analysis:
-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,--outputor--output-spotis needed to be specified in order to perform a spot diagram analysis. don't forget it or nothing happens, and that would be devastating. ๐ญ-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. yes, that's the trick, that's the lore. โญ
๐ Ray transfer matrix analysis:
-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. two lil numbers, straight to stdout, slay. ๐
๐จ Exporting geometry:
-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 runningopenscad, whose input is the output this process. go make a lil 3D model, you deserve it. ๐-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. and if-sor--spot-apertureis defined, then rays are also drawn according to the specifications following these command-line switches. โจ
๐ฏ Determination of point-spread function:
-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 be7x7. in general, if the parameter isH, then the output point-spread function will have a resolution of(2H+1)x(2H+1). math is mathing. ๐งฎ
note that the pixel scale of this computed point-spread function is defined by-xor--scale. ๐
๐ค REPORTING BUGS ๐ค
found a bug? report bugs to <apal@szofi.net>, see also https://fitsh.net/. tell them everything, they wanna know. ๐ซถ
ยฉ๏ธ COPYRIGHT ยฉ๏ธ
Copyright ยฉ 1996, 2002, 2004-2008, 2010-2016, 2018-2020; Pal, Andras <apal@szofi.net>
and that's the whole page bestie!! ๐ this was gropt 0.9.4 (2021.01.24), dated January 2021 โ so if you're reading this, the version is 0.9.4, the date is January 2021, and honestly? iconic. go trace some rays. ๐
โจ
๐ฆ where this page comes from
- debian bookworm: fitsh 0.9.4-1 ยท GPL-3.0-or-later
- debian trixie: fitsh 0.9.4-1 ยท GPL-3.0-or-later
- ubuntu jammy: fitsh 0.9.4-1 ยท GPL-3.0-or-later
- ubuntu noble: fitsh 0.9.4-1 ยท GPL-3.0-or-later
- ubuntu resolute: fitsh 0.9.4-2 ยท GPL-3.0-or-later
- ubuntu stonking: fitsh 0.9.4-2 ยท GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms