aboutsummaryrefslogtreecommitdiffstats
path: root/astro/fits/crop_image.py
diff options
context:
space:
mode:
Diffstat (limited to 'astro/fits/crop_image.py')
-rwxr-xr-xastro/fits/crop_image.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/astro/fits/crop_image.py b/astro/fits/crop_image.py
new file mode 100755
index 0000000..9cfa7bf
--- /dev/null
+++ b/astro/fits/crop_image.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2017 Aaron LI <aly@aaronly.me>
+# MIT license
+#
+
+"""
+Crop out the central region of specified size from the FITS image.
+"""
+
+import argparse
+
+from rescale_image import FITSImage
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ description="Rescale a FITS image to the desired size/resolution")
+ parser.add_argument("-C", "--clobber", action="store_true",
+ help="overwrite existing output file")
+ parser.add_argument("-s", "--size", type=float, required=True,
+ help="central crop box size [deg]")
+ parser.add_argument("-i", "--infile", required=True,
+ help="input FITS image")
+ parser.add_argument("-o", "--outfile", required=True,
+ help="output cropped FITS image")
+ args = parser.parse_args()
+
+ fitsimage = FITSImage(args.infile)
+ fitsimage.crop(size=args.size)
+ fitsimage.write(args.outfile, clobber=args.clobber)
+
+
+if __name__ == "__main__":
+ main()