FIRANDOM(1)
β¨ NAME β¨
okay so firandom β that's a section 1 user commands situation, iykyk β and its whole thing is that it generates artificial object lists and simulated images. fake stars, fake sky, all of it, no cap. ππ«
πΈ SYNOPSIS πΈ
firandom [options] [-o|--output <output>]
π« DESCRIPTION π«
bestie, the main purpose of this program is literally to generate artificial object lists and/or artificial (astronomical) images. that's the main character energy right there. π
π OPTIONS π
π General options π
-h,--helpβ gives a general summary about the command line options. the tl;dr, the vibes-only version. π«Ά--long-help,--help-longβ gives a detailed list of command line options. the director's cut, the extended edition. π--wiki-help,--help-wiki,--mediawiki-help,--help-mediawikiβ gives that same detailed list of command line options, but in Mediawiki format. wiki girlies rise. π--version,--version-short,--short-versionβ gives some version information about the program. π
π Creating artificial object lists π
-l,--list <list>β the specs for your object list. so the list parameter should be a set of comma separated tags, and each tag is either a value declaration or a repeat count followed by an expression between square brackets. that bracketed expression gives the specifications for the individual objects being added to the list, and it's also in the form of a value declaration.
a value declaration has the syntax <variable>=<value>, and the variables can be these ones right here:
fβ full width at half magnitude (FWHM) of the stellar profiles to be createdeβ ellipticity of the stellar profilespβ position angle of the stellar profilessβ sigma parameter for the stellar profile (FWHM is roughly2.35 * sigma)dβ delta (plus-shaped deviance) parameter for the stellar profilekβ kappa (cross-shaped deviance) parameter for the stellar profileSβ Gaussian momentum (a.k.a. profile sharpness parameter) for the stellar profile (S=1/sigma^2)Dβ plus-shaped momentum for the stellar profileKβ cross-shaped momentum for the stellar profilexβ normalized X coordinate of the profile centroid (using the standard normalization)Xβ absolute X coordinate of the profile centroidyβ normalized y coordinate of the profile centroid (using the standard normalization)Yβ absolute Y coordinate of the profile centroidmβ magnitude of the stellar objectiβ flux of the stellar object
ok important: you can use only one of the three equivalent sets of profile shape parameters β so that's f/e/p, or s/d/k, or S/D/K. pick a lane. π« see some more detailed documentation about these parameters if you want the deep lore.
inside those square bracket expressions you can use arbitrary arithmetic expressions: the standard basic arithmetical operators, elementary functions, and also the functions r(lo,hi) and g(mean,sigma). r(lo,hi) gives you a uniformly distributed random number between lo and hi, and g(mean,sigma) gives you a Gaussian random number with the specified mean and sigma (standard deviation). respectively, obviously. π«
and in the expressions for magnitude or intensity, you can also use the previously defined values for the centroid coordinates. so cute, they talk to each other. the variable n gets increased between 0 and the repeat count while the square bracket expressions are being evaluated.
--output-list <list file>β name of the list file where the object list created by the subsequent--listoptions gets saved. π--fep,--fep-outputβ save the shape parameters as FWHM, ellipticity and position angle to the output list file.--sdk,--sdk-outputβ save the shape parameters as sigma, delta and kappa to the output list file.--SDK,--SDK-outputβ save the shape parameters as Gaussian momenta to the output list file.
π Creating artificial images π
-s,--size <sx>,<sy>β size of the image to be created.-b,--bitpix <bitpix>β standard FITS output bitpix value.-D,--data <spec>β output pixel data format specification.-m,--sky <sky>β sky (background level) for the image. this can be either a constant or an arbitrary function of thex,y,XandYcoordinates (see above) for a background that shows systematic variations. you can use the previously discussedr(lo,hi)andg(mean,sigma)functions too, if you want to add some sort of noise to the background. π¨-d,--sky-noise <noise>β additional Gaussian noise, equivalent to the term"+g(<noise>,0)"added after the background level expression.--photon-noise,--no-photon-noiseβ emulate or disable the effect of photon noise on the individual stellar objects.-l,--list <list>β specifications for object list (see above, bestie, it's the same one π).-L,--input-list <list file>β name of the input list file from which the coordinates, shape parameters and intensities are read for the individual objects.--col-xy <colx>,<coly>β column indices for X and Y (absolute) centroid coordinates.--col-flux <flux column>β column index for flux (intensity).--col-mag <magnitude column>β column index for astronomical magnitude, see also--mag-flux.--col-shape <profile width>,[<profile shape 1>,<profile shape 2>]β column indices for stellar profile parameters. either 1 or 3 columns should be specified following this command line switch. one shape parameter is interpreted as a profile size parameter, where the 2 additional (optional) shape parameters describe the deviation from the symmetric profile. see also options--fep,--sdkor--SDKfor more details.--fep,--fep-inputβ interpret the shape parameters read from the input list file as FWHM, ellipticity and position angle.--sdk,--sdk-inputβ interpret the shape parameters read from the input list file as the sigma, delta and kappa parameters.--SDK,--SDK-inputβ interpret the shape parameters read from the input list file as the Gaussian momenta parameters.-S,--input-sky,--input-background,--input-image <sky list file>β name of the input file containing the sky level. this file should contain at least three columns: the two pixel coordinates and the sky value. see also--col-pixeland--col-value.--col-pixel <colx>,<coly>β column indices for X and Y (absolute) pixel coordinates.--col-value <sky value column>β column index for sky value (intensity).--mag-flux <mag>,<flux>β magnitude - flux conversion level. the specified magnitude will be equivalent to the specified flux level.--integral,--no-monte-carloβ draw the stellar profiles to the image using exact integration.--monte-carlo,--no-integralβ draw the stellar profiles to the image using a Monte-Carlo way.
β οΈ heads up: using this Monte-Carlo method without additional photon noise emulation would result in asymmetric stellar profiles, even when the profile would be symmetric. so use this option only when the --photon-noise option is also used, because then the profiles are strained with photon noise anyway. π
--noise-suppression <level>β if the profiles are drawn using exact integration, the profiles would be infinitely large, since an analytical Gaussian profile is positive on the whole image domain. to limit the integration boundaries, this level limits the size of the integration domain, like this: the expected level of the object's own photon noise at the edges of the integration domain is smaller by this factor at least than the flux level. higher suppression level results in a larger integration domain. in the case of additional photon noise, the default value of10000.0is satisfactory. for images with no photon noise, this level should be increased appropriately. π--quantize,--no-quantizeβ quantize the output images to integers or not. note that altering this option yields somehow the same as when the bitpix value is altered.--adus,--no-electronsβ use the input fluxes as ADUs instead of electrons (default).--electrons,--no-adusβ use the input fluxes as electrons instead of ADUs.-g,--gain <gain>β electron/ADU ratio (gain).
π₯ Random seeds π₯
--seed <seed>|autoβ generic random seed forfirandom. a literal"auto"argument yields a random seed derived from random sources available on the architecture (/dev/urandom, current time). π²--seed-noise <seed>|autoβ specific random seed for creating background noise.--seed-spatial <seed>|autoβ specific random seed for creating random spatial coordinates, i.e. the random seed for functions in the--listarguments.--seed-photon <seed>|autoβ specific random seed for photon noise.
π Command line argument combinations π
--list <list> --output-list <list file>β this combination creates only a list file based on the--listarguments. list girlies, this one's for you. π--input-list <list file> --output-list <list file>β this combination just filters and copies the relevant contents from the input list to the output list. the shape parameters might be converted β for example--SDK-input --fep-outputwould convert Gaussian momenta to FWHM, ellipticity and position angle. glow-up, but for data. β¨--list <list> --output <output image> [--output-list <list file>]β this combination creates an artificial list of sources and then creates an artificial image with this newly created set of objects. by default, the list itself (incl. the centroid coordinates, shape parameters and intensities) is not saved, unless an output list file is given. π--input-list <list file> --list <list>β this combination is invalid. the centroid list must either be read from a file or created by the program invocation, but lists cannot be merged this way. in such a case, save the object list to a separate file and merge the files using standard tools. not me trying to merge lists like that, it's giving undefined. π
π REPORTING BUGS π
report bugs to <apal@szofi.net>, see also https://fitsh.net/. be nice, they're doing their best. π«Ά
π COPYRIGHT π
Copyright Β© 1996, 2002, 2004-2008, 2010-2016, 2018-2020; Pal, Andras <apal@szofi.net>
and that's the whole page, bestie π this was firandom 0.9.4 (2021.01.24), from January 2021, and it's giving iconic. go make some fake stars. βπ
π¦ 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