casacore
|
UV FITS to MeasurementSet filler. More...
#include <MSFitsInput.h>
Public Member Functions | |
MSFitsInput ()=delete | |
This is an implementation helper class used to store 'local' data during the filling process. More... | |
MSFitsInput (const String &msFile, const String &fitsFile, const Bool NewNameStyle=False) | |
Create from output and input file names. More... | |
MSFitsInput (const MSFitsInput &other)=delete | |
~MSFitsInput () | |
The destructor is fairly trivial. More... | |
MSFitsInput & | operator= (const MSFitsInput &other)=delete |
void | readFitsFile (Int obsType=MSTileLayout::Standard) |
Read all the data from the FITS file and create the MeasurementSet. More... | |
Private Member Functions | |
Bool | _checkInput (FitsInput &infile) |
Check that the input is a UV fits file with required contents. More... | |
void | getPrimaryGroupAxisInfo () |
Read the axis info of the primary group, throws an exception if required axes are missing. More... | |
void | setupMeasurementSet (const String &MSFileName, Bool useTSM=True, Int obsType=MSTileLayout::Standard) |
Set up the MeasurementSet, including StorageManagers and fixed columns. More... | |
Read a binary table extension of type AIPS AN and create an antenna table *void | fillAntennaTable (BinaryTable &bt) |
void | fillHistoryTable (ConstFitsKeywordList &kwl) |
Read a binary table extension and update history table. More... | |
void | fillObservationTable (ConstFitsKeywordList &kwl) |
Read a binary table extension and update history table. More... | |
void | getAxisInfo (ConstFitsKeywordList &) |
extract axis information More... | |
void | sortPolarizations () |
extract axis information More... | |
void | fillPolarizationTable () |
void | checkRequiredAxis () |
verify that the fits contains visibility data More... | |
void | fillSpectralWindowTable (BinaryTable &bt) |
void | fillFieldTable (BinaryTable &bt) |
fill Field table More... | |
void | fillFieldTable (double, double, String) |
void | fillMSMainTable (BinaryTable &bt) |
void | fillPointingTable () |
void | fillSourceTable () |
void | fillFeedTable () |
fill the Feed table with minimal info needed for synthesis processing More... | |
Fill the Observation and ObsLog tables *void | fillObsTables () |
void | fillMSMainTableColWise (Int &nField, Int &nSpW) |
Fill the main table from the Primary group data if we have enough memory try to do it in mem. More... | |
void | fillMSMainTable (Int &nField, Int &nSpW) |
else do it row by row More... | |
void | fillSpectralWindowTable (BinaryTable &bt, Int nSpW) |
fill spectralwindow table from FITS FQ table + header info More... | |
void | fillSpectralWindowTable () |
fill spectralwindow table from header More... | |
void | fillFieldTable (BinaryTable &bt, Int nField) |
fill Field table from FITS SU table More... | |
void | fillFieldTable (Int nField) |
fill Field table from header (single source fits) More... | |
void | fillExtraTables () |
fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table. More... | |
void | fixEpochReferences () |
fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table More... | |
MDirection::Types | getDirectionFrame (Double epoch) |
Returns the Direction Measure reference for UVW and other appropriate columns in msc_p (which must exist but have empty columns before you can set it!). More... | |
void | setFreqFrameVar (BinaryTable &binTab) |
Check the frame if there is an SU table. More... | |
void | updateSpectralWindowTable () |
update a the Spectral window post filling if necessary More... | |
void | readRandomGroupUVFits (Int obsType) |
void | readPrimaryTableUVFits (Int obsType) |
std::pair< Int, Int > | _extractAntennas (Int antenna1, Int antenna2) |
std::pair< Int, Int > | _extractAntennas (Float baseline) |
void | _fillSysPowerTable (BinaryTable &bt) |
void | _doFillSysPowerSingleIF (const String &casaTableName, const ScalarColumn< Double > &timeCol, const ScalarColumn< Float > &intervalCol, const ScalarColumn< Int > &antNoCol, const ScalarColumn< Int > &freqIDCol, const ScalarColumn< Float > &powerDif1Col, const ScalarColumn< Float > &powerSum1Col, const ScalarColumn< Float > &postGain1Col, const ScalarColumn< Float > &powerDif2Col, const ScalarColumn< Float > &powerSum2Col, const ScalarColumn< Float > &postGain2Col) |
Private Attributes | |
FitsInput * | _infile |
String | _msFile |
MSPrimaryGroupHolder | _priGroup |
MSPrimaryTableHolder | _priTable |
MeasurementSet | _ms |
MSColumns * | _msc |
Int | _nIF |
Vector< Int > | _nPixel |
Vector< Int > | _corrType |
Block< Int > | _corrIndex |
Matrix< Int > | _corrProduct |
Vector< String > | _coordType |
Vector< Double > | _refVal |
Vector< Double > | _refPix |
Vector< Double > | _delta |
String | _array |
String | _object |
String | _timsys |
Double | _epoch |
MDirection::Types | _epochRef |
std::set< Int > | _uniqueAnts |
determined by epoch_p, hence the name and type. More... | |
Int | _nAntRow |
number of rows in the created MS ANTENNA table More... | |
Int | _nArray |
Vector< Double > | _receptorAngle |
MFrequency::Types | _freqsys |
Double | _restfreq |
Bool | _addSourceTable |
LogIO | _log |
Record | _header |
Double | _refFreq |
Bool | _useAltrval |
Vector< Double > | _chanFreq |
Bool | _newNameStyle |
Vector< Double > | _obsTime |
Matrix< Double > | _restFreq |
Matrix< Double > | _sysVel |
Bool | _msCreated |
UV FITS to MeasurementSet filler.
Public interface
MSFitsInput handles the conversion of FITS files to MeasurementSets
UV FITS to MeasurementSet filler. This can handle single source fits and multi source fits as written by classic AIPS. Also copes with multiple arrays (i.e. multiple AN tables) but doesn't correct for 5 day offsets introduced by DBCON.
Definition at line 268 of file MSFitsInput.h.
|
delete |
This is an implementation helper class used to store 'local' data during the filling process.
casacore::MSFitsInput::MSFitsInput | ( | const String & | msFile, |
const String & | fitsFile, | ||
const Bool | NewNameStyle = False |
||
) |
Create from output and input file names.
This function opens the input file, and checks the output file is writable.
|
delete |
casacore::MSFitsInput::~MSFitsInput | ( | ) |
The destructor is fairly trivial.
Check that the input is a UV fits file with required contents.
Returns False if not ok.
|
private |
|
private |
|
private |
verify that the fits contains visibility data
|
private |
|
private |
fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table.
|
private |
fill the Feed table with minimal info needed for synthesis processing
|
private |
fill Field table
|
private |
fill Field table from FITS SU table
|
private |
|
private |
fill Field table from header (single source fits)
|
private |
Read a binary table extension and update history table.
|
private |
else do it row by row
Fill the main table from the Primary group data if we have enough memory try to do it in mem.
|
private |
Read a binary table extension and update history table.
|
private |
|
private |
|
private |
|
private |
|
private |
fill spectralwindow table from header
|
private |
|
private |
fill spectralwindow table from FITS FQ table + header info
|
private |
fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table
|
private |
extract axis information
|
private |
Returns the Direction Measure reference for UVW and other appropriate columns in msc_p (which must exist but have empty columns before you can set it!).
|
private |
Read the axis info of the primary group, throws an exception if required axes are missing.
|
delete |
void casacore::MSFitsInput::readFitsFile | ( | Int | obsType = MSTileLayout::Standard | ) |
Read all the data from the FITS file and create the MeasurementSet.
Throws an exception when it has severe trouble interpreting the FITS file.
|
private |
|
private |
|
private |
Check the frame if there is an SU table.
|
private |
Set up the MeasurementSet, including StorageManagers and fixed columns.
If useTSM is True, the Tiled Storage Manager will be used to store DATA, FLAG and WEIGHT_SPECTRUM. Use obsType to choose the tiling scheme.
|
private |
extract axis information
|
private |
update a the Spectral window post filling if necessary
|
private |
Definition at line 317 of file MSFitsInput.h.
|
private |
Definition at line 304 of file MSFitsInput.h.
Definition at line 322 of file MSFitsInput.h.
Definition at line 302 of file MSFitsInput.h.
Definition at line 300 of file MSFitsInput.h.
Definition at line 301 of file MSFitsInput.h.
Definition at line 299 of file MSFitsInput.h.
Definition at line 303 of file MSFitsInput.h.
|
private |
Definition at line 305 of file MSFitsInput.h.
|
private |
Definition at line 306 of file MSFitsInput.h.
|
private |
Definition at line 315 of file MSFitsInput.h.
|
private |
Definition at line 319 of file MSFitsInput.h.
|
private |
Definition at line 292 of file MSFitsInput.h.
|
private |
Definition at line 318 of file MSFitsInput.h.
|
private |
Definition at line 296 of file MSFitsInput.h.
|
private |
Definition at line 297 of file MSFitsInput.h.
|
private |
Definition at line 328 of file MSFitsInput.h.
|
private |
Definition at line 293 of file MSFitsInput.h.
|
private |
number of rows in the created MS ANTENNA table
Definition at line 312 of file MSFitsInput.h.
|
private |
Definition at line 313 of file MSFitsInput.h.
|
private |
Definition at line 323 of file MSFitsInput.h.
|
private |
Definition at line 298 of file MSFitsInput.h.
Definition at line 299 of file MSFitsInput.h.
|
private |
Definition at line 304 of file MSFitsInput.h.
Definition at line 324 of file MSFitsInput.h.
|
private |
Definition at line 294 of file MSFitsInput.h.
|
private |
Definition at line 295 of file MSFitsInput.h.
Definition at line 314 of file MSFitsInput.h.
|
private |
Definition at line 320 of file MSFitsInput.h.
Definition at line 303 of file MSFitsInput.h.
Definition at line 303 of file MSFitsInput.h.
|
private |
Definition at line 316 of file MSFitsInput.h.
Definition at line 326 of file MSFitsInput.h.
Definition at line 327 of file MSFitsInput.h.
|
private |
Definition at line 304 of file MSFitsInput.h.
|
private |
determined by epoch_p, hence the name and type.
unique antennas found in the visibility data NOTE These are 1-based
Definition at line 310 of file MSFitsInput.h.
|
private |
Definition at line 321 of file MSFitsInput.h.