Write a MeasurementSet to a random group uvfits file. More...
#include <MSFitsOutput.h>
| Public Member Functions | |
| MSFitsOutput (const String &fitsfile, const MeasurementSet &ms, const String &column) | |
| void | setChannelInfo (Int startChan, Int nchan, Int stepChan, Int avgChan) | 
| void | setWriteSysCal (Bool writeSysCal) | 
| void | setAsMultiSource (Bool asMultiSource) | 
| void | setCombineSpw (Bool combineSpw) | 
| void | setWriteStation (Bool writeStation) | 
| void | setSensitivity (Double sensitivity) | 
| void | setPadWitFlags (Bool padWithFlags) | 
| void | setFieldNumber (uInt fieldNumber) | 
| void | setOverwrite (Bool overwrite) | 
| void | write () const | 
| write the uvfits file. | |
| Static Public Member Functions | |
| static Bool | writeFitsFile (const String &fitsfile, const MeasurementSet &ms, const String &column, Int startchan=0, Int nchan=1, Int stepchan=1, Bool writeSysCal=False, Bool asMultiSource=False, Bool combineSpw=False, Bool writeStation=False, Double sensitivity=1.0, const Bool padWithFlags=false, Int avgchan=1, uInt fieldNumber=0, Bool overwrite=False) | 
| Convert a MeasurementSet to random group UVFITS. | |
| Private Member Functions | |
| FitsOutput * | _writeMain (Int &refPixelFreq, Double &refFreq, Double &chanbw, const String &outFITSFile, const Block< Int > &spwidMap, Int nrspw, const Block< Int > &fieldidMap, Bool asMultiSource) const | 
| Write the main table. | |
| Static Private Member Functions | |
| static Bool | writeFQ (FitsOutput *output, const MeasurementSet &ms, const Block< Int > &spwidMap, Int nrspw, Double refFreq, Int refPixelFreq, Double chanbw, Bool combineSpw, Int chanstart=0, Int nchan=-1, Int chanstep=1, Int avgchan=1) | 
| Write the FQ table. | |
| static Bool | writeAN (FitsOutput *output, const MeasurementSet &ms, Double refFreq, Bool writeStation) | 
| Write the AN table. | |
| static Bool | writeSU (FitsOutput *output, const MeasurementSet &ms, const Block< Int > &fieldidMap, Int nrfield, const Block< Int > &spwidMap, Int nrspw) | 
| Write the SU table. | |
| static Bool | writeTY (FitsOutput *output, const MeasurementSet &ms, const Table &syscal, const Block< Int > &spwidMap, uInt nrif, Bool combineSpw) | 
| Write the TY table. | |
| static Bool | writeGC (FitsOutput *output, const MeasurementSet &ms, const Table &syscal, const Block< Int > &spwidMap, uInt nrif, Bool combineSpw, Double sensitivity, Int refPixelFreq, Double refFreq, Double chanbw) | 
| Write the GC table. | |
| static Bool | writeWX (FitsOutput *output, const MeasurementSet &ms) | 
| Write the WX table. | |
| static void | timeToDay (Int &day, Double &dayFraction, Double time) | 
| Convert time to day and fraction. | |
| static void | getStartHA (Double &startTime, Double &startHA, const MeasurementSet &ms, uInt rownr) | 
| Get the time and hourangle from the MS at the given row. | |
| static void | handleAntNumbers (const MeasurementSet &ms, Vector< Int > &antnumbers) | 
| Discern the antenna numbers that go into UVFITS. | |
| static Table | handleSysCal (const MeasurementSet &ms, const Vector< Int > &spwids, Bool isSubset) | 
| Handle the SYSCAL table. | |
| static Int | _makeIdMap (Block< Int > &map, Vector< Int > &selids, const Vector< Int > &allids) | 
| Determine which ids are selected in the main table (used for fields and spectral-window). | |
| static uInt | get_tbf_end (const uInt rownr, const uInt nrow, const uInt nif, const ScalarColumn< Double > &timec, const ScalarColumn< Double > &ininterval, const ScalarColumn< Int > &ant1, const ScalarColumn< Int > &ant2, const Bool asMultiSource, const ScalarColumn< Int > &fieldid) | 
| Find the end of a group of rows with the same time(_centroid) (within 0.25 * ininterval(rownr)), baseline #, and, if asMultiSource, field ID. | |
| static void | _checkReceptorAngles (const Vector< Quantity > &ra0, Vector< Quantity > &ra1, Int antnum) | 
| Private Attributes | |
| const String | _fitsfile | 
| const String | _column | 
| const MeasurementSet | _ms | 
| Int | _startChan | 
| Int | _nchan | 
| Int | _stepChan | 
| Int | _avgChan | 
| Bool | _writeSysCal | 
| Bool | _asMultiSource | 
| Bool | _combineSpw | 
| Bool | _writeStation | 
| Bool | _padWithFlags | 
| Bool | _overwrite | 
| Double | _sensitivity | 
| uInt | _fieldNumber | 
Write a MeasurementSet to a random group uvfits file.
Definition at line 50 of file MSFitsOutput.h.
| casacore::MSFitsOutput::MSFitsOutput | ( | const String & | fitsfile, | |
| const MeasurementSet & | ms, | |||
| const String & | column | |||
| ) | 
| fitsfile | Output filename | |
| ms | input | |
| column | specifies which "data" column to write ("observed", "calibrated", "model") | 
| static void casacore::MSFitsOutput::_checkReceptorAngles | ( | const Vector< Quantity > & | ra0, | |
| Vector< Quantity > & | ra1, | |||
| Int | antnum | |||
| ) |  [static, private] | 
| static Int casacore::MSFitsOutput::_makeIdMap | ( | Block< Int > & | map, | |
| Vector< Int > & | selids, | |||
| const Vector< Int > & | allids | |||
| ) |  [static, private] | 
Determine which ids are selected in the main table (used for fields and spectral-window).
| map | (Really an output here, not an input.) spwidMap[inp_id] = output_id, if inp_id is selected -1 otherwise. | |
| selids | (Really an output here, not an input.) A list of the selected input IDs. | |
| allids | (Really is an input, not an output!) IDs to consider. | 
| FitsOutput* casacore::MSFitsOutput::_writeMain | ( | Int & | refPixelFreq, | |
| Double & | refFreq, | |||
| Double & | chanbw, | |||
| const String & | outFITSFile, | |||
| const Block< Int > & | spwidMap, | |||
| Int | nrspw, | |||
| const Block< Int > & | fieldidMap, | |||
| Bool | asMultiSource | |||
| ) | const  [private] | 
Write the main table.
| refPixelFreq | ||
| refFreq | ||
| chanbw | ||
| outFITSFile | ||
| rawms | ||
| column | data column to write | |
| spwidMap | spwidMap[inp_spw] = output_spw, if inp_spw is selected -1 otherwise. | |
| nrspw | # of selected spws. | |
| startchan | First channel | |
| nchan | # of channels | |
| stepchan | channel stride | |
| fieldidMap | fieldidMap[inp_fld] = output_fld, if inp_fld is selected -1 otherwise. | |
| asMultiSource | If true, write a multisource UVFITS file. | |
| combineSpw | If true, export the spectral window(s) as IF(s). | |
| padWithFlags | If true && combineSpw==true, pad the spws with flags as necessary to fit the IF structure. | |
| avgchan | average every N channels | 
| static uInt casacore::MSFitsOutput::get_tbf_end | ( | const uInt | rownr, | |
| const uInt | nrow, | |||
| const uInt | nif, | |||
| const ScalarColumn< Double > & | timec, | |||
| const ScalarColumn< Double > & | ininterval, | |||
| const ScalarColumn< Int > & | ant1, | |||
| const ScalarColumn< Int > & | ant2, | |||
| const Bool | asMultiSource, | |||
| const ScalarColumn< Int > & | fieldid | |||
| ) |  [static, private] | 
Find the end of a group of rows with the same time(_centroid) (within 0.25 * ininterval(rownr)), baseline #, and, if asMultiSource, field ID.
| rownr | Row # to start from. | |
| nrow | # of rows in the columns. | |
| nif | # of IFs | |
| timec | time(_centroid) col | |
| ininterval | used to set tolerance on changes in timec. | |
| ant1 | ID of baseline's antenna 1. | |
| ant2 | ID of baseline's antenna 2. | |
| asMultiSource | If false, treat fieldid as unattached + prone to segfault | |
| fieldid | 
| static void casacore::MSFitsOutput::getStartHA | ( | Double & | startTime, | |
| Double & | startHA, | |||
| const MeasurementSet & | ms, | |||
| uInt | rownr | |||
| ) |  [static, private] | 
Get the time and hourangle from the MS at the given row.
It uses the field-id and observation-id to calculate the hourangle.
| static void casacore::MSFitsOutput::handleAntNumbers | ( | const MeasurementSet & | ms, | |
| Vector< Int > & | antnumbers | |||
| ) |  [static, private] | 
Discern the antenna numbers that go into UVFITS.
| static Table casacore::MSFitsOutput::handleSysCal | ( | const MeasurementSet & | ms, | |
| const Vector< Int > & | spwids, | |||
| Bool | isSubset | |||
| ) |  [static, private] | 
Handle the SYSCAL table.
It skips the entries not needed and sorts it in the correct order.
| void casacore::MSFitsOutput::setAsMultiSource | ( | Bool | asMultiSource | ) | 
| asMultiSource | If true a multi-source UVFits file is written. | 
| startchan | 1st channel | |
| nchan | # of channels | |
| stepchan | # of channels to stride by | |
| avgchan | average every N channels | 
| void casacore::MSFitsOutput::setCombineSpw | ( | Bool | combineSpw | ) | 
| combineSpw | If true it attempts to write the spectral windows as IFs. This is necessary for many aips tasks, and for difmap. | 
| void casacore::MSFitsOutput::setFieldNumber | ( | uInt | fieldNumber | ) | 
| void casacore::MSFitsOutput::setOverwrite | ( | Bool | overwrite | ) | 
| overwrite | overwrite existing file? | 
| void casacore::MSFitsOutput::setPadWitFlags | ( | Bool | padWithFlags | ) | 
| padWithFlags | If true and combineSpw==true, fill spws with flags as needed to fit the IF structure. Does not yet support spws with different shapes. | 
| void casacore::MSFitsOutput::setSensitivity | ( | Double | sensitivity | ) | 
| void casacore::MSFitsOutput::setWriteStation | ( | Bool | writeStation | ) | 
| writeStation | If true uses pad instead of antenna names. | 
| void casacore::MSFitsOutput::setWriteSysCal | ( | Bool | writeSysCal | ) | 
| writeSysCal | whether to write the system calibration table | 
| static void casacore::MSFitsOutput::timeToDay | ( | Int & | day, | |
| Double & | dayFraction, | |||
| Double | time | |||
| ) |  [static, private] | 
Convert time to day and fraction.
| void casacore::MSFitsOutput::write | ( | ) | const | 
write the uvfits file.
| static Bool casacore::MSFitsOutput::writeAN | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms, | |||
| Double | refFreq, | |||
| Bool | writeStation | |||
| ) |  [static, private] | 
Write the AN table.
| static Bool casacore::MSFitsOutput::writeFitsFile | ( | const String & | fitsfile, | |
| const MeasurementSet & | ms, | |||
| const String & | column, | |||
| Int | startchan = 0, | |||
| Int | nchan = 1, | |||
| Int | stepchan = 1, | |||
| Bool | writeSysCal = False, | |||
| Bool | asMultiSource = False, | |||
| Bool | combineSpw = False, | |||
| Bool | writeStation = False, | |||
| Double | sensitivity = 1.0, | |||
| const Bool | padWithFlags = false, | |||
| Int | avgchan = 1, | |||
| uInt | fieldNumber = 0, | |||
| Bool | overwrite = False | |||
| ) |  [static] | 
Convert a MeasurementSet to random group UVFITS.
| fitsfile | Output filename | |
| ms | input | |
| column | specifies which "data" column to write ("observed", "calibrated", "model") | |
| startchan | 1st channel | |
| nchan | # of channels | |
| stepchan | # of channels to stride by | |
| writeSysCal | whether to write the system calibration table | |
| asMultiSource | If true a multi-source UVFits file is written. | |
| combineSpw | If true it attempts to write the spectral windows as IFs. This is necessary for many aips tasks, and for difmap. | |
| writeStation | If true uses pad instead of antenna names. | |
| sensitivity | ||
| padWithFlags | If true and combineSpw==true, fill spws with flags as needed to fit the IF structure. Does not yet support spws with different shapes. | |
| avgchan | average every N channels | |
| overwrite | overwrite existing file? | 
| static Bool casacore::MSFitsOutput::writeFQ | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms, | |||
| const Block< Int > & | spwidMap, | |||
| Int | nrspw, | |||
| Double | refFreq, | |||
| Int | refPixelFreq, | |||
| Double | chanbw, | |||
| Bool | combineSpw, | |||
| Int | chanstart = 0, | |||
| Int | nchan = -1, | |||
| Int | chanstep = 1, | |||
| Int | avgchan = 1 | |||
| ) |  [static, private] | 
Write the FQ table.
If combineSpw is True, all spectral-windows are written in one row of the FITS table.
| static Bool casacore::MSFitsOutput::writeGC | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms, | |||
| const Table & | syscal, | |||
| const Block< Int > & | spwidMap, | |||
| uInt | nrif, | |||
| Bool | combineSpw, | |||
| Double | sensitivity, | |||
| Int | refPixelFreq, | |||
| Double | refFreq, | |||
| Double | chanbw | |||
| ) |  [static, private] | 
Write the GC table.
| static Bool casacore::MSFitsOutput::writeSU | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms, | |||
| const Block< Int > & | fieldidMap, | |||
| Int | nrfield, | |||
| const Block< Int > & | spwidMap, | |||
| Int | nrspw | |||
| ) |  [static, private] | 
Write the SU table.
| static Bool casacore::MSFitsOutput::writeTY | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms, | |||
| const Table & | syscal, | |||
| const Block< Int > & | spwidMap, | |||
| uInt | nrif, | |||
| Bool | combineSpw | |||
| ) |  [static, private] | 
Write the TY table.
| static Bool casacore::MSFitsOutput::writeWX | ( | FitsOutput * | output, | |
| const MeasurementSet & | ms | |||
| ) |  [static, private] | 
Write the WX table.
| Bool casacore::MSFitsOutput::_asMultiSource  [private] | 
Definition at line 133 of file MSFitsOutput.h.
| Int casacore::MSFitsOutput::_avgChan  [private] | 
Definition at line 132 of file MSFitsOutput.h.
| const String casacore::MSFitsOutput::_column  [private] | 
Definition at line 130 of file MSFitsOutput.h.
| Bool casacore::MSFitsOutput::_combineSpw  [private] | 
Definition at line 133 of file MSFitsOutput.h.
| uInt casacore::MSFitsOutput::_fieldNumber  [private] | 
Definition at line 136 of file MSFitsOutput.h.
| const String casacore::MSFitsOutput::_fitsfile  [private] | 
Definition at line 130 of file MSFitsOutput.h.
| const MeasurementSet casacore::MSFitsOutput::_ms  [private] | 
Definition at line 131 of file MSFitsOutput.h.
| Int casacore::MSFitsOutput::_nchan  [private] | 
Definition at line 132 of file MSFitsOutput.h.
| Bool casacore::MSFitsOutput::_overwrite  [private] | 
Definition at line 133 of file MSFitsOutput.h.
| Bool casacore::MSFitsOutput::_padWithFlags  [private] | 
Definition at line 133 of file MSFitsOutput.h.
| Double casacore::MSFitsOutput::_sensitivity  [private] | 
Definition at line 135 of file MSFitsOutput.h.
| Int casacore::MSFitsOutput::_startChan  [private] | 
Definition at line 132 of file MSFitsOutput.h.
| Int casacore::MSFitsOutput::_stepChan  [private] | 
Definition at line 132 of file MSFitsOutput.h.
| Bool casacore::MSFitsOutput::_writeStation  [private] | 
Definition at line 133 of file MSFitsOutput.h.
| Bool casacore::MSFitsOutput::_writeSysCal  [private] | 
Definition at line 133 of file MSFitsOutput.h.
 1.6.1
 1.6.1