casa
$Rev:20696$
|
UV FITS to MeasurementSet filler. More...
#include <MSFitsInput.h>
Public Member Functions | |
MSFitsInput (const String &msFile, const String &fitsFile, const Bool NewNameStyle=False) | |
This is an implementation helper class used to store 'local' data during the filling process. | |
~MSFitsInput () | |
The destructor is fairly trivial. | |
void | readFitsFile (Int obsType=MSTileLayout::Standard) |
Read all the data from the FITS file and create the MeasurementSet. | |
Protected Member Functions | |
Bool | checkInput (FitsInput &infile) |
Check that the input is a UV fits file with required contents. | |
void | getPrimaryGroupAxisInfo () |
Read the axis info of the primary group, throws an exception if required axes are missing. | |
void | setupMeasurementSet (const String &MSFileName, Bool useTSM=True, Int obsType=MSTileLayout::Standard) |
Set up the MeasurementSet, including StorageManagers and fixed columns. | |
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. | |
void | fillObservationTable (ConstFitsKeywordList &kwl) |
Read a binary table extension and update history table. | |
void | getAxisInfo (ConstFitsKeywordList &) |
extract axis information | |
void | sortPolarizations () |
extract axis information | |
void | fillPolarizationTable () |
void | checkRequiredAxis () |
verify that the fits contains visibility data | |
void | fillSpectralWindowTable (BinaryTable &bt) |
void | fillFieldTable (BinaryTable &bt) |
fill Field table | |
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 | |
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. | |
void | fillMSMainTable (Int &nField, Int &nSpW) |
else do it row by row | |
void | fillSpectralWindowTable (BinaryTable &bt, Int nSpW) |
fill spectralwindow table from FITS FQ table + header info | |
void | fillSpectralWindowTable () |
fill spectralwindow table from header | |
void | fillFieldTable (BinaryTable &bt, Int nField) |
fill Field table from FITS SU table | |
void | fillFieldTable (Int nField) |
fill Field table from header (single source fits) | |
void | fillExtraTables () |
fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table. | |
void | fixEpochReferences () |
fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table | |
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!). | |
void | setFreqFrameVar (BinaryTable &binTab) |
Check the frame if there is an SU table. | |
void | updateSpectralWindowTable () |
update a the Spectral window post filling if necessary | |
void | readRandomGroupUVFits (Int obsType) |
void | readPrimaryTableUVFits (Int obsType) |
Private Member Functions | |
MSFitsInput () | |
MSFitsInput (const MSFitsInput &other) | |
MSFitsInput & | operator= (const MSFitsInput &other) |
Private Attributes | |
FitsInput * | infile_p |
String | msFile_p |
MSPrimaryGroupHolder | priGroup_p |
MSPrimaryTableHolder | priTable_p |
MeasurementSet | ms_p |
MSColumns * | msc_p |
Int | nIF_p |
Vector< Int > | nPixel_p |
Vector< Int > | corrType_p |
Block< Int > | corrIndex_p |
Matrix< Int > | corrProduct_p |
Vector< String > | coordType_p |
Vector< Double > | refVal_p |
Vector< Double > | refPix_p |
Vector< Double > | delta_p |
String | array_p |
String | object_p |
String | timsys_p |
Double | epoch_p |
MDirection::Types | epochRef_p |
Int | nAnt_p |
determined by epoch_p, hence the name and type. | |
Int | nArray_p |
Vector< Double > | receptorAngle_p |
MFrequency::Types | freqsys_p |
Double | restfreq_p |
Bool | addSourceTable_p |
LogIO | itsLog |
Record | header |
Double | refFreq_p |
Bool | useAltrval |
Vector< Double > | chanFreq_p |
Bool | newNameStyle |
Vector< Double > | obsTime |
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 267 of file MSFitsInput.h.
casa::MSFitsInput::MSFitsInput | ( | const String & | msFile, |
const String & | fitsFile, | ||
const Bool | NewNameStyle = False |
||
) |
This is an implementation helper class used to store 'local' data during the filling process.
Create from output and input file names. This function opens the input file, and checks the output file is writable.
The destructor is fairly trivial.
casa::MSFitsInput::MSFitsInput | ( | ) | [private] |
casa::MSFitsInput::MSFitsInput | ( | const MSFitsInput & | other | ) | [private] |
Bool casa::MSFitsInput::checkInput | ( | FitsInput & | infile | ) | [protected] |
Check that the input is a UV fits file with required contents.
Returns False if not ok.
void casa::MSFitsInput::checkRequiredAxis | ( | ) | [protected] |
verify that the fits contains visibility data
Read a binary table extension of type AIPS AN and create an antenna table* void casa::MSFitsInput::fillAntennaTable | ( | BinaryTable & | bt | ) | [protected] |
void casa::MSFitsInput::fillExtraTables | ( | ) | [protected] |
fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table.
void casa::MSFitsInput::fillFeedTable | ( | ) | [protected] |
fill the Feed table with minimal info needed for synthesis processing
void casa::MSFitsInput::fillFieldTable | ( | BinaryTable & | bt | ) | [protected] |
fill Field table
void casa::MSFitsInput::fillFieldTable | ( | double | , |
double | , | ||
String | |||
) | [protected] |
void casa::MSFitsInput::fillFieldTable | ( | BinaryTable & | bt, |
Int | nField | ||
) | [protected] |
fill Field table from FITS SU table
void casa::MSFitsInput::fillFieldTable | ( | Int | nField | ) | [protected] |
fill Field table from header (single source fits)
void casa::MSFitsInput::fillHistoryTable | ( | ConstFitsKeywordList & | kwl | ) | [protected] |
Read a binary table extension and update history table.
void casa::MSFitsInput::fillMSMainTable | ( | BinaryTable & | bt | ) | [protected] |
void casa::MSFitsInput::fillMSMainTable | ( | Int & | nField, |
Int & | nSpW | ||
) | [protected] |
else do it row by row
void casa::MSFitsInput::fillMSMainTableColWise | ( | Int & | nField, |
Int & | nSpW | ||
) | [protected] |
Fill the main table from the Primary group data if we have enough memory try to do it in mem.
void casa::MSFitsInput::fillObservationTable | ( | ConstFitsKeywordList & | kwl | ) | [protected] |
Read a binary table extension and update history table.
Fill the Observation and ObsLog tables* void casa::MSFitsInput::fillObsTables | ( | ) | [protected] |
void casa::MSFitsInput::fillPointingTable | ( | ) | [protected] |
void casa::MSFitsInput::fillPolarizationTable | ( | ) | [protected] |
void casa::MSFitsInput::fillSourceTable | ( | ) | [protected] |
void casa::MSFitsInput::fillSpectralWindowTable | ( | BinaryTable & | bt | ) | [protected] |
void casa::MSFitsInput::fillSpectralWindowTable | ( | BinaryTable & | bt, |
Int | nSpW | ||
) | [protected] |
fill spectralwindow table from FITS FQ table + header info
void casa::MSFitsInput::fillSpectralWindowTable | ( | ) | [protected] |
fill spectralwindow table from header
void casa::MSFitsInput::fixEpochReferences | ( | ) | [protected] |
fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table
void casa::MSFitsInput::getAxisInfo | ( | ConstFitsKeywordList & | ) | [protected] |
extract axis information
MDirection::Types casa::MSFitsInput::getDirectionFrame | ( | Double | epoch | ) | [protected] |
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!).
void casa::MSFitsInput::getPrimaryGroupAxisInfo | ( | ) | [protected] |
Read the axis info of the primary group, throws an exception if required axes are missing.
MSFitsInput& casa::MSFitsInput::operator= | ( | const MSFitsInput & | other | ) | [private] |
void casa::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.
void casa::MSFitsInput::readPrimaryTableUVFits | ( | Int | obsType | ) | [protected] |
void casa::MSFitsInput::readRandomGroupUVFits | ( | Int | obsType | ) | [protected] |
void casa::MSFitsInput::setFreqFrameVar | ( | BinaryTable & | binTab | ) | [protected] |
Check the frame if there is an SU table.
void casa::MSFitsInput::setupMeasurementSet | ( | const String & | MSFileName, |
Bool | useTSM = True , |
||
Int | obsType = MSTileLayout::Standard |
||
) | [protected] |
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.
void casa::MSFitsInput::sortPolarizations | ( | ) | [protected] |
extract axis information
void casa::MSFitsInput::updateSpectralWindowTable | ( | ) | [protected] |
update a the Spectral window post filling if necessary
Bool casa::MSFitsInput::addSourceTable_p [private] |
Definition at line 410 of file MSFitsInput.h.
String casa::MSFitsInput::array_p [private] |
Definition at line 401 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::chanFreq_p [private] |
Definition at line 415 of file MSFitsInput.h.
Vector<String> casa::MSFitsInput::coordType_p [private] |
Definition at line 399 of file MSFitsInput.h.
Block<Int> casa::MSFitsInput::corrIndex_p [private] |
Definition at line 397 of file MSFitsInput.h.
Matrix<Int> casa::MSFitsInput::corrProduct_p [private] |
Definition at line 398 of file MSFitsInput.h.
Vector<Int> casa::MSFitsInput::corrType_p [private] |
Definition at line 396 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::delta_p [private] |
Definition at line 400 of file MSFitsInput.h.
Double casa::MSFitsInput::epoch_p [private] |
Definition at line 402 of file MSFitsInput.h.
Definition at line 403 of file MSFitsInput.h.
Definition at line 408 of file MSFitsInput.h.
Record casa::MSFitsInput::header [private] |
Definition at line 412 of file MSFitsInput.h.
FitsInput* casa::MSFitsInput::infile_p [private] |
Definition at line 389 of file MSFitsInput.h.
LogIO casa::MSFitsInput::itsLog [private] |
Definition at line 411 of file MSFitsInput.h.
MeasurementSet casa::MSFitsInput::ms_p [private] |
Definition at line 393 of file MSFitsInput.h.
MSColumns* casa::MSFitsInput::msc_p [private] |
Definition at line 394 of file MSFitsInput.h.
String casa::MSFitsInput::msFile_p [private] |
Definition at line 390 of file MSFitsInput.h.
Int casa::MSFitsInput::nAnt_p [private] |
determined by epoch_p, hence the name and type.
Definition at line 405 of file MSFitsInput.h.
Int casa::MSFitsInput::nArray_p [private] |
Definition at line 406 of file MSFitsInput.h.
Bool casa::MSFitsInput::newNameStyle [private] |
Definition at line 416 of file MSFitsInput.h.
Int casa::MSFitsInput::nIF_p [private] |
Definition at line 395 of file MSFitsInput.h.
Vector<Int> casa::MSFitsInput::nPixel_p [private] |
Definition at line 396 of file MSFitsInput.h.
String casa::MSFitsInput::object_p [private] |
Definition at line 401 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::obsTime [private] |
Definition at line 417 of file MSFitsInput.h.
Definition at line 391 of file MSFitsInput.h.
Definition at line 392 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::receptorAngle_p [private] |
Definition at line 407 of file MSFitsInput.h.
Double casa::MSFitsInput::refFreq_p [private] |
Definition at line 413 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::refPix_p [private] |
Definition at line 400 of file MSFitsInput.h.
Vector<Double> casa::MSFitsInput::refVal_p [private] |
Definition at line 400 of file MSFitsInput.h.
Double casa::MSFitsInput::restfreq_p [private] |
Definition at line 409 of file MSFitsInput.h.
String casa::MSFitsInput::timsys_p [private] |
Definition at line 401 of file MSFitsInput.h.
Bool casa::MSFitsInput::useAltrval [private] |
Definition at line 414 of file MSFitsInput.h.