ymira(1)

πŸ“¦ version 1.1.0+git20170124.3bd1c3, in debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ymira β€” NAME πŸ’–

hiii bestie, welcome to ymira(1) β€” the MiRA image reconstruction algorithm page, but make it ✨aesthetic✨ πŸ¦‹

ymira β€” reconstruct an image from optical interferometric data πŸ”₯


🌈 SYNOPSIS 🌈

ymira [OPTION]... INPUT... OUTPUT

✨ DESCRIPTION ✨

okay so. MiRA is a software that reconstructs images from optical interferometric data, and it's genuinely iconic πŸ’…

The way it works: the algorithm does a regularized fit of the data, plus some extra constraints on top β€” normalization, and lower and/or upper bounds. No cap 🫢

So like, INPUT... are your input OI-FITS data file(s), and OUTPUT is the result, saved into a FITS file. That's the whole vibe. Periodt.


πŸŽ€ OPTIONS πŸŽ€

Options are introduced by a word prefixed with one or two hyphens β€” whichever you prefer, at your convenience bestie 😌. And heads up: if your first input file starts with a hyphen, you can drop a double hyphen to say "okay options are done, everything after this is files."

Some options have units, and you cannot skip them, fr fr:

  • Angles must be suffixed with mas, milliarcsec, milliarcsecond, milliarcseconds, deg, degree, degrees, rad, radian or radians.
  • Lengths must be suffixed with m, meter, meters, mm, millimeter, millimeters, Β΅m, micron, microns, micrometer, micrometers, nm, nanometer or nanometers.

Some options may take several values, and those get separated by commas. Easy.


πŸ“ Data Selection

These options let you pick which data gets considered. And lowkey important: if you give no spectral range at all (meaning neither with options -effwave and -effband, nor with options -wavemin and -wavemax), then the image gets reconstructed from all available wavelengths. Every single one. Slay.

  • -target=name β€” Specify the name of the astrophysical object. This option is used to select a specific target from the input file(s). If there's a single target that's identical in all input files, you can just… not bother with this one, bestie πŸ’…
  • -effwave=length β€” Specify the effective wavelength; for example, -effwave=1.6micron. This is the central wavelength of the spectral range you're considering.
  • -effband=length β€” Specify the effective bandwidth; for example, -effband=200nm. This is the full width of the spectral range you're considering.
  • -wavemin=length β€” Specify the minimum wavelength; for example, -wavemin=1.5Β΅m. This is the lower bound of the spectral range you're considering.
  • -wavemax=length β€” Specify the maximum wavelength; for example, -wavemin=1.7Β΅m (yes literally, that's what the page says, I'm not touching it πŸ™ˆ). This is the upper bound of the spectral range you're considering.

🌸 Image Settings

Bestie listen: at minimum you MUST specify the pixel size (with option -pixelsize) and the image dimensions (with options -fov or -dim). Non-negotiable.

  • -pixelsize=angle β€” Specify the angular size of pixels. For example, -pixelsize=0.1mas.
  • -fov=angle β€” Specify the angular size of the field of view. For example, -fov=20mas.
  • -dim=number β€” Specify the number of pixels per side of the image. For example, -dim=200.
  • -normalization=value β€” Specify the sum of pixels. A recommended setting is: -normalization=1.
  • -min=lower β€” Specify the lower bound for the pixel values. A recommended setting is: -min=0.
  • -max=upper β€” Specify the upper bound for the pixel values.

πŸ¦‹ Direct Model

  • -xform=name β€” Specify the method to compute the nonequispaced Fourier transform. Argument name can be nfft, exact or fft.
okay so about that last one β€” the fft value is however not recommended. Like, it's there, it exists, but… no. πŸ™ˆ

πŸ’œ Regularization Settings

  • -regul=name β€” Specify the name of the regularization method.
  • -mu=value(s) β€” Specify the global regularization weight(s) Β΅. If a single value is given, it will be used for all reconstructions. If two values are given (separated by comas), a different value of Β΅ will be used for each reconstructions with the values of Β΅ spaced at equal ratios from start to stop (that is, equally spaced logarithmically).
  • -tau=value β€” Specify the edge preserving threshold. value must be strictly positive. (Like, actually. Strictly.)
  • -eta=value(s) β€” Specify the gradient scales along dimensions.
  • -gamma=angle β€” Specify the a priori full half width at half maximum (FWHM). For example: -gamma=15mas.

🧚 Initial Image

  • -initial=name β€” Specify the FITS file or method for initial image.
  • -seed=value β€” Specify the seed for the random generator.

πŸ‘‘ Reconstruction Strategy

  • -bootstrap=count β€” Specify the number of bootstrapping iterations.
  • -recenter β€” Recenter result of bootstrapping iterations.
  • -threshold=fraction β€” Specify the level for soft-thresholding input image(s).

⭐ Information and Graphics

  • -quiet β€” Suppress most messages. (Shhh bestie 🀫)
  • -verb=count β€” Set the verbose level. Information will be printed every count iteration. Also see option -view.
  • -view=bits β€” Bitwise value to specify which graphics to show each time some information is printed. The least significant bits of bits indicate which sub-panel to display. Use -view=0 to suppress all graphics and -view=-1 to show all graphics. The default is to not display anything. If some graphics are shown, the graphic window has to be closed at the end of the reconstruction to effectively quit the program.
not me warning you twice: if you turn graphics ON, you gotta close that window when the reconstruction ends or the program will just sit there. Main character energy but make it stuck πŸ’€

πŸ”₯ Optimizer Settings

  • -mem=number β€” Specify the number of previous steps to memorize in VMLMB.
  • -ftol=real β€” Specify the function tolerance for the global convergence.
  • -gtol=real β€” Specify the gradient tolerance for the global convergence.
  • -maxiter=number β€” Specify the maximum number of iterations for all reconstructions.
  • -maxeval=number β€” Specify the maximum number of evaluations of the objective function for all reconstructions.

🌈 Line Search Parameters

  • -sftol=real β€” Specify the function tolerance for the line search.
  • -sgtol=real β€” Specify the gradient tolerance for the line search.
  • -sxtol=real β€” Specify the step tolerance for the line search.

πŸ’… Output File

  • -overwrite β€” Overwrite output file if it exists.
  • -bitpix=number β€” Specify the bits per pixel for the output FITS file. Default is -32, that is 32-bit floating point values.
  • -save_initial β€” Save initial image as a secondary HDU in the output file.

πŸŽ€ Miscellaneous

  • -help β€” Print out this help.
  • -version β€” Print out version number.

🫢 AUTHOR 🫢

Γ‰ric ThiΓ©baut <https://github.com/emmt/MiRA> β€” an absolute legend, we stan πŸ’–


πŸ“š REFERENCES πŸ“š

  1. ThiΓ©baut, Γ‰.: MiRA: an effective imaging algorithm for optical interferometry, in SPIE Proc. Astronomical Telescopes and Instrumentation 7013, 70131I-1-70131I-12 (2008) <http://dx.doi.org/10.1117/12.788822>
  2. ThiΓ©baut, Γ‰. & Giovannelli, J.-F.: Image Reconstruction in Optical Interferometry, in IEEE Signal Processing Magazine 27, pp. 97-109 (2010) <http://dx.doi.org/10.1109/MSP.2009.934870>

okay bestie that's the whole page, every last crumb of it, and I'm obsessed 🌟 so go forth and reconstruct, and if you're ever wondering which build of this you're holding: it's Version 1.1.0, dated 23 january 2017 β€” iconic era, no cap πŸŽ€βœ¨πŸ’–