#MKmomentmap.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
## Zhang Chao 2020-11-27 initial version
from spectral_cube import SpectralCube
from astropy.io import fits
import astropy.units as u
import astropy.constants as c
import numpy as np
import os
def make_moment(fitsfile,window_type,window_range,order):
'''
input parameters:
fitsfile: ALMA data cube file, i.e., fitsfile = "member_uid_*.fits"
window_type: A string. The window_type is only suported as 'velocity', 'frequency', and 'channel'.
output: The output hdu has a unit of 'K km s-1' or 'km s-1' for zero moment map or first moment map, respectively.
'''
f = fits.open(fitsfile)
hdr = f[0].header
if ('m' in hdr.cards['CUNIT3'][1]):
cube = SpectralCube.read(fitsfile)
else:
hdu = change_xaxis_in_velocity(fitsfile)
cube = SpectralCube.read(hdu)
if window_type != 'velocity':
window_range = change_to_velocity_ra