MROTATE(1)

πŸ¦‹ NAME πŸ¦‹

okay bestie, quick vibe check: this is the MROTATE(1) page from the Montage manual πŸ’– and it's all about mRotate β€” the tool that spins a FITS image around by whatever angle you feel like, no cap ✨

πŸ“œ SYNOPSIS πŸ“œ

mRotate [-d level] [-s statusfile] [-r rotang] in.fits out.fits [ra dec
xsize [ysize]]

πŸ’… DESCRIPTION πŸ’…

So mRotate rotates a FITS image by an arbitrary angle 🌸 that's literally the whole job, she's a one-trick pony and she ate πŸ’…

but fr fr, listen: this module is meant for quick-look only. It is not flux conserving. So like, she's gorgeous for a peek, she is not the girl you take to your science paper 😭 know the difference bestie 🫢

βš™οΈ OPTIONS βš™οΈ

  • -d level β€” turn on extra debugging tea β˜• (level can be 1-3) πŸ”
  • -s statusfile β€” output and errors get written to statusfile instead of stdout πŸ“
  • -r rotang β€” hand her the angle (in degrees) to rotate the image by πŸŒ€

πŸŽ€ ARGUMENTS πŸŽ€

  • in.fits β€” the input FITS image, your main character πŸ‘‘
  • out.fits β€” path to the output (rotated) FITS image, the glow-up version ✨
  • ra dec xsize β€” center location and width (in degrees) of the output image β€” optional πŸ™ˆ by default, the entire input image area gets included in the output image πŸ’–
  • ysize β€” height (in degrees) of the output image, and you only give this if you also gave a new center location and width. Optional β€” it defaults to xsize πŸ¦‹

🌈 RESULT 🌈

[struct stat="OK"]

The output file will contain the same image as the input file, just rotated by rotang degrees πŸŒ€ and if you gave a new center location and width, the output image will be the "subimage" covering that area πŸ–ΌοΈ

πŸ“£ MESSAGES πŸ“£

here's the whole group chat of things she might yell at you, no skipping πŸ’€

  • OK β€” [struct stat="OK"] βœ…
  • ERROR β€” No status file name given
  • ERROR β€” Cannot open status file: statusfile
  • ERROR β€” No rotation angle given
  • ERROR β€” Rotation angle string is invalid: 'rotang'
  • ERROR β€” No debug level given
  • ERROR β€” Debug level string is invalid: 'level'
  • ERROR β€” Debug level value cannot be negative
  • ERROR β€” Invalid input file 'in.fits'
  • ERROR β€” Invalid output file 'out.fits'
  • ERROR β€” Center RA string (ra) cannot be interpreted as a real number
  • ERROR β€” Center Dec string (dec) cannot be interpreted as a real number
  • ERROR β€” X size string (xsize) cannot be interpreted as a real number
  • ERROR β€” Y size string (ysize) cannot be interpreted as a real number
  • ERROR β€” Invalid 'x' size
  • ERROR β€” Invalid 'y' size
  • ERROR β€” Location is off image
  • ERROR β€” No pixels match output area
  • ERROR β€” No pixels match input area
  • ERROR β€” wcsinit() failed
  • ERROR β€” Image file in.fits missing or invalid FITS
  • ERROR β€” FITS library error

✨ EXAMPLES ✨

okay watch her work, it's giving effortless πŸ’…

$ mRotate -r 90 in.fits out.fits
       [struct stat="OK"]

πŸ™ˆ BUGS πŸ™ˆ

bestie, the tea is messy, sit down πŸ“

  • The drizzle algorithm has been implemented but has not been tested in this release 😭 so like, proceed with caution, iykyk
  • If a header template contains carriage returns (i.e., created/modified on a Windows machine), the cfitsio library will be unable to read it properly, resulting in the error: [struct stat="ERROR", status=207, msg="illegal character in keyword"] πŸ’€ classic windows moment, not her fault fr
  • It is best for the background correction algorithms if the area described in the header template completely encloses all of the input images in their entirety 🫢 if parts of input images are "chopped off" by the header template, the background correction will be affected. We recommend you use an expanded header for the reprojection and background modeling steps, returning to the originally desired header size for the final coaddition. The default background matching assumes that there are no non-linear background variations in the individual images (and therefore in the overlap differences). If there is any uncertainty in this regard, it's safer to turn on the "level only" background matching (the -l flag in mBgModel) 🌟

2001-2015 California Institute of Technology, Pasadena, California

If your research uses Montage, please include the following acknowledgement: "This research made use of Montage. It is funded by the National Science Foundation under Grant Number ACI-1440620, and was previously funded by the National Aeronautics and Space Administration's Earth Science Technology Office, Computation Technologies Project, under Cooperative Agreement Number NCC5-626 between NASA and the California Institute of Technology." 🫢

The Montage distribution includes an adaptation of the MOPEX algorithm developed at the Spitzer Science Center 🌈


and that's the whole page bestie πŸŽ€ this was Montage 5, dated Dec 2016 β€” go rotate something cute, love u, bye πŸ’–βœ¨πŸ¦‹