FIIGN(1)

πŸ’– FIIGN(1) πŸ’–

okay bestie, gather round, because this one is literally the backstage pass to FITS image masks and i am obsessed πŸ’…


✨ NAME ✨

fiign β€” low-level manipulation of masks associated to FITS images πŸŽ€


🌸 SYNOPSIS 🌸

fiign [options and operations] [<input>] [-o|--output <output>]

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, in the FITS image data processing world, "masks" are per-pixel associated meta-data, and they represent the state of that given pixel. that's it, that's the vibe. and generally? pixels that are somehow "bad" get marked with these masks so you can exclude them or only use them with caution during further processing. no cap.

these masks can either mark the initial state of the given pixels β€” like, pixels can be marked as hot or bad pixels, which describes the detector itself and not the individual scientific or calibration frames β€” or masks can be added during the subsequent steps of the processing (think saturated pixels, "outer" pixels). both. it's giving layered.

the purpose of the fiign program is to give you low-level access to these masks. like, yes, the operations on the images automatically yield the respective operations on the masks (if an image is transformed or trimmed, the associated mask will also be transformed or trimmed with the same geometry, slay), but with this program the masks can be manipulated arbitrarily. main character energy fr fr πŸ’–


✨ OPTIONS ✨

🌈 General options:

  • -h, --help β€” gives you the general summary about the command line options. your little cheat sheet 🫢
  • --long-help, --help-long β€” gives a detailed list of command line options. the extended cut.
  • --wiki-help, --help-wiki, --mediawiki-help, --help-mediawiki β€” gives a detailed list of command line options in Mediawiki format. yes bestie, wiki-flavoured.
  • --version, --version-short, --short-version β€” gives some version information about the program.
  • -i, --input <image file> β€” name of the input FITS image file.
  • -o, --output <image file> β€” name of the output FITS image file (and yes, it can be the same as the input image file, live your truth).

πŸ’… Generic pixel masking options:

  • -n, --ignore-nonpositive β€” mask pixels with non-positive values.
  • -g, --ignore-negative β€” mask pixels with negative values.
  • -z, --ignore-zero β€” mask pixels with a value of zero.
  • --ignore-mask β€” completely ignore mask associated to the input image. just. forget it exists πŸ™ˆ
  • -M, --input-mask <image file> β€” input mask file to co-add to output image mask.
  • -a, --apply-mask β€” apply the mask to the image, i.e. set the pixel values with non-null mask to be zero (by default, or any other value specified by -m|--mask-value).
  • -m, --mask-value <value> β€” override the default pixel value (zero) during explicit marking of masked pixels (see also -a|--apply-mask).

πŸ”₯ Marking saturated pixels:

  • -s <saturation-level> β€” saturation level.
  • -S <image file> β€” image containing saturation level on a per pixel basis.
  • --leak-left-right, --leak-lower-upper, --leak-any β€” readout direction, i.e. orientation of "blooming" stripes.

🌟 Mask conversion and expansion:

  • --convert <match>:<value>:<reset>:<set> β€” convert masks: from a mask which matches to the <match>:<value> pair, i.e. the masks with the type of <match> have a value of <value>, the masks specified by <reset> are cleared and the masks specified by <set> are set. the <match>, <value>, <reset> and <set> tags are comma-separated list of mask names (see below, bestie, keep scrolling).
  • -x, --expand <size> β€” expands the mask with the specified size. applied after all of the previous steps were performed. order matters, don't skip leg day.

πŸŽ€ Additional mask layers:

  • -q, --mask-block block:<mask>:<x1>,<y1>:<x2>,<y2> β€” add a rectangular masked area with the specified mask <mask> and with the specified coordinates (<x1>,<y1>: lower-left corner, <x2>,<y2>: upper-right corner, inclusive). inclusive!! we love an inclusive rectangle.
  • -q, --mask-block circle:<mask>:<xc>,<yc>:<radius> β€” add a circular masked area with the specified mask <mask> and with the specified centroid coordinates <xc>,<yc> and radius <radius>.
  • -q, --mask-block pixel:<mask>:<x>,<y> β€” add a masked pixel with the specified mask <mask> to the specified coordinates <x>,<y>.
  • -q, --mask-block line:<mask>:<x1>,<y1>:<x2>,<y2> β€” add a masked line with the specified mask <mask> connecting the points <x1>,<y1> and <x2>,<y2>.

πŸ‘‘ Mask names:

  • none β€” no mask at all
  • clear β€” same as none
  • fault β€” mask for faulty pixels
  • hot β€” mask for hot pixels
  • cosmic β€” mask for marking cosmic pixels
  • outer β€” pixels originating from out of image areas
  • oversaturated β€” oversaturated pixels
  • bloomed β€” "bloomed" pixels (i.e. not oversaturated but neighbouring pixel(s) may be so)
  • saturated β€” oversaturated or bloomed pixels
  • interpolated β€” pixels having an interpolated value (e.g. hot or cosmic pixels are replaced by the average value of the surrounding pixels).

😭 REPORTING BUGS 😭

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>


okay that's the whole thing, you ate that. this was fiign 0.9.4 (2021.01.24), from way back in January 2021 πŸ’– go forth and mask responsibly, bestie πŸ§šβœ¨πŸ“

πŸ“¦ where this page comes from