ism3d.utils.io.read_data¶
-
ism3d.utils.io.
read_data
(inp_dct, save_data=False, fill_mask=False, fill_error=False, polaverage=True, dataflag=False, saveflag=True)[source]¶ read FITS/image or MS/visibilities into the dictionary
we set data=
- note:
DATA column shape in nrecord x nchan x ncorr WEIGHT column shape in nrecord x ncorr( supposely this is the “average” value of WEIGHT_SPECTRUM along the channle-axis WEIGHT_SPECTRUM SHAPE in nrecord x nchan x ncorr FLAGS shape in nrecord x nchan x ncorr (so WEIGHT_SPECTRUM is likely ~WEIGHT/NCHAN?) depending on the data model / calibration script
data@ms in complex64 (not complex128)
- For space-saving, we
set DATA-values=np.nan when flag=True (so there is no a “flag” variable for flagging in dat_dct
- when polaverage=True, we only derive stokes-I if both XX/YY (or RR/YY) are Good. If one of them are flagged, Data-Values set to np.nan
this follows the principle in the tclean()/stokes parameter https://casa.nrao.edu/casadocs-devel/stable/global-task-list/task_tclean/parameters http://casacore.github.io/casacore/StokesConverter_8h_source.html
weight doesn’t include the channel-axis (assuming the channel-wise weight variable is neligible
XX=I+Q YY=I-Q ; RR=I+V LL=I-V => I=(XX+YY)/2 or (RR+LL)/2