Source code for solid_waffle.asdf_to_fits

import glob
import os

import asdf
import numpy as np
from astropy.io import fits


[docs] def main(): """ Converts all asdf files in a directory to fits files in a new directory Parameters ---------- None Returns ------- None """ current_dir = os.getcwd() parent_dir = os.path.dirname(current_dir) current_dir_name = os.path.basename(current_dir) output_dir = os.path.join(parent_dir, current_dir_name + "_fits_converted") os.makedirs(output_dir, exist_ok=True) asdf_files = glob.glob(os.path.join(current_dir, "*.asdf")) print("ASDF files found: ") for fn in asdf_files: print(fn) for fn in asdf_files: base = os.path.basename(fn) new_file_path = os.path.join(output_dir, base.replace(".asdf", "_asdf_to.fits")) if os.path.exists(new_file_path): print(f"Skipping (already exists): {new_file_path}") continue with asdf.open(fn) as f: fits.PrimaryHDU(np.asarray(f["roman"]["data"]).astype(np.uint16)).writeto( new_file_path, overwrite=True )
if __name__ == "__main__": main()