|
casacore
|
#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 | |
| std::shared_ptr< 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 (std::shared_ptr< 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 (std::shared_ptr< FitsOutput > output, const MeasurementSet &ms, Double refFreq, Bool writeStation) |
| Write the AN table. | |
| static Bool | _writeSU (std::shared_ptr< FitsOutput > output, const MeasurementSet &ms, const Block< Int > &fieldidMap, Int nrfield, const Block< Int > &spwidMap, Int nrspw) |
| Write the SU table. | |
| static Bool | _writeTY (std::shared_ptr< FitsOutput > output, const MeasurementSet &ms, const Table &syscal, const Block< Int > &spwidMap, uInt nrif, Bool combineSpw) |
| Write the TY table. | |
| static Bool | _writeGC (std::shared_ptr< 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 (std::shared_ptr< FitsOutput > output, const MeasurementSet &ms) |
| Write the WX table. | |
| static Bool | _writeSY (std::shared_ptr< FitsOutput > output, const MeasurementSet &ms, Table &syspower, Int nspw, const Block< Int > &spwIDMap, Bool combineSpw) |
| Write the SY 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 |
| 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") |
|
staticprivate |
|
staticprivate |
Discern the antenna numbers that go into UVFITS.
|
staticprivate |
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. |
|
staticprivate |
Write the AN table.
|
staticprivate |
Write the FQ table.
If combineSpw is True, all spectral-windows are written in one row of the FITS table.
|
staticprivate |
Write the GC table.
|
private |
Write the main table.
| refPixelFreq | |
| refFreq | |
| chanbw | |
| outFITSFile | |
| spwidMap | spwidMap[inp_spw] = output_spw, if inp_spw is selected -1 otherwise. |
| nrspw | # of selected spws. |
| fieldidMap | fieldidMap[inp_fld] = output_fld, if inp_fld is selected -1 otherwise. |
| asMultiSource | If true, write a multisource UVFITS file. |
|
staticprivate |
Write the SU table.
|
staticprivate |
Write the SY table.
|
staticprivate |
Write the TY table.
|
staticprivate |
Write the WX table.
|
staticprivate |
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 |
|
staticprivate |
Get the time and hourangle from the MS at the given row.
It uses the field-id and observation-id to calculate the hourangle.
|
staticprivate |
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 |
|
staticprivate |
Convert time to day and fraction.
| void casacore::MSFitsOutput::write | ( | ) | const |
write the uvfits file.
|
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 |
| fieldNumber | field number |
| overwrite | overwrite existing file? |
|
private |
Definition at line 132 of file MSFitsOutput.h.
|
private |
Definition at line 131 of file MSFitsOutput.h.
|
private |
Definition at line 129 of file MSFitsOutput.h.
|
private |
Definition at line 132 of file MSFitsOutput.h.
|
private |
Definition at line 135 of file MSFitsOutput.h.
|
private |
Definition at line 129 of file MSFitsOutput.h.
|
private |
Definition at line 130 of file MSFitsOutput.h.
|
private |
Definition at line 131 of file MSFitsOutput.h.
|
private |
Definition at line 133 of file MSFitsOutput.h.
|
private |
Definition at line 133 of file MSFitsOutput.h.
|
private |
Definition at line 134 of file MSFitsOutput.h.
|
private |
Definition at line 131 of file MSFitsOutput.h.
|
private |
Definition at line 131 of file MSFitsOutput.h.
|
private |
Definition at line 133 of file MSFitsOutput.h.
|
private |
Definition at line 132 of file MSFitsOutput.h.