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 created
  • e β€” ellipticity of the stellar profiles
  • p β€” position angle of the stellar profiles
  • s β€” sigma parameter for the stellar profile (FWHM is roughly 2.35 * sigma)
  • d β€” delta (plus-shaped deviance) parameter for the stellar profile
  • k β€” kappa (cross-shaped deviance) parameter for the stellar profile
  • S β€” Gaussian momentum (a.k.a. profile sharpness parameter) for the stellar profile (S=1/sigma^2)
  • D β€” plus-shaped momentum for the stellar profile
  • K β€” cross-shaped momentum for the stellar profile
  • x β€” normalized X coordinate of the profile centroid (using the standard normalization)
  • X β€” absolute X coordinate of the profile centroid
  • y β€” normalized y coordinate of the profile centroid (using the standard normalization)
  • Y β€” absolute Y coordinate of the profile centroid
  • m β€” magnitude of the stellar object
  • i β€” 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 --list options 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 the x, y, X and Y coordinates (see above) for a background that shows systematic variations. you can use the previously discussed r(lo,hi) and g(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, --sdk or --SDK for 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-pixel and --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 of 10000.0 is 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 for firandom. 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 --list arguments.
  • --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 --list arguments. 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-output would 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 Β© 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