casa
5.7.0-16
|
FinalTvi2 - Class that serves as the final Tvi2 in a pipeline; it adds simple write functionality that allows writing back the data contained in the associated VB2. More...
#include <FinalTvi2.h>
Public Member Functions | |
FinalTvi2 (ViImplementation2 *inputVi, casacore::MeasurementSet &finalMs, casacore::Bool isWritable) | |
virtual | ~FinalTvi2 () |
Destructor. More... | |
virtual void | origin () |
+==================================+ | | | Iteration Control and Monitoring | | | +==================================+ More... | |
virtual void | next () |
virtual void | writeBackChanges (VisBuffer2 *vb) |
+=========================+ | | | Subchunk casacore::Data Accessors | | | +=========================+ More... | |
virtual void | writeFlag (const casacore::Matrix< casacore::Bool > &flag) |
These methods will throw a not-implemented exception if called. More... | |
virtual void | writeFlag (const casacore::Cube< casacore::Bool > &flag) |
Write/modify the flags in the data. More... | |
virtual void | writeFlagRow (const casacore::Vector< casacore::Bool > &rowflags) |
Write/modify the flag row column; dimension casacore::Vector (nrow) More... | |
virtual void | writeFlagCategory (const casacore::Array< casacore::Bool > &fc) |
virtual void | writeVisCorrected (const casacore::Cube< casacore::Complex > &vis) |
Write/modify the visibilities. More... | |
virtual void | writeVisModel (const casacore::Cube< casacore::Complex > &vis) |
virtual void | writeVisObserved (const casacore::Cube< casacore::Complex > &vis) |
virtual void | writeWeight (const casacore::Matrix< casacore::Float > &wt) |
Write/modify the weights. More... | |
virtual void | writeWeightSpectrum (const casacore::Cube< casacore::Float > &wtsp) |
Write/modify the weightMat virtual void writeWeightMat (const casacore::Matrix<casacore::Float> & wtmat); More... | |
virtual void | writeSigma (const casacore::Matrix< casacore::Float > &sig) |
Write/modify the Sigma. More... | |
virtual void | writeModel (const casacore::RecordInterface &rec, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false) |
Write/modify the ncorr x nrow SigmaMat. More... | |
Public Member Functions inherited from casa::vi::TransformingVi2 | |
virtual | ~TransformingVi2 () |
Destructor. More... | |
virtual casacore::String | ViiType () const override |
Report the the ViImplementation type (should be specialized in child classes) More... | |
virtual casacore::Bool | more () const override |
virtual Subchunk | getSubchunkId () const override |
virtual void | originChunks (casacore::Bool forceRewind=false) override |
Methods to control chunk iterator. More... | |
virtual casacore::Bool | moreChunks () const override |
virtual void | nextChunk () override |
virtual casacore::String | keyChange () const override |
Report Name of slowest column that changes at end of current iteration. More... | |
virtual casacore::Bool | isWritable () const override |
virtual double | getInterval () const override |
Return the time interval (in seconds) used for iteration. More... | |
virtual void | setInterval (double timeInterval) override |
virtual void | setFrequencySelections (const FrequencySelections &selection) override |
Select the channels to be returned. More... | |
virtual void | setRowBlocking (casacore::Int nRows) override |
Set the 'blocking' size for returning data. More... | |
virtual casacore::Bool | existsColumn (VisBufferComponent2 id) const override |
virtual const SortColumns & | getSortColumns () const override |
virtual casacore::Bool | isNewArrayId () const override |
virtual casacore::Bool | isNewFieldId () const override |
virtual casacore::Bool | isNewMs () const override |
virtual casacore::Bool | isNewSpectralWindow () const override |
virtual casacore::Int | nRows () const override |
Return the number of rows in the current iteration. More... | |
virtual void | getRowIds (casacore::Vector< casacore::uInt > &rowids) const override |
Return the row ids as from the original root table. More... | |
virtual VisBuffer2 * | getVisBuffer () const override |
virtual void | antenna1 (casacore::Vector< casacore::Int > &ant1) const override |
+=========================+ | | | Subchunk casacore::Data Accessors | | | +=========================+ More... | |
virtual void | antenna2 (casacore::Vector< casacore::Int > &ant2) const override |
Return antenna2. More... | |
virtual void | corrType (casacore::Vector< casacore::Int > &corrTypes) const override |
Return the correlation type (returns casacore::Stokes enums) More... | |
virtual casacore::Int | dataDescriptionId () const override |
Return current DataDescription Id. More... | |
virtual void | exposure (casacore::Vector< double > &expo) const override |
Return actual time interval. More... | |
virtual void | feed1 (casacore::Vector< casacore::Int > &fd1) const override |
Return feed1. More... | |
virtual void | feed2 (casacore::Vector< casacore::Int > &fd2) const override |
Return feed2. More... | |
virtual void | fieldIds (casacore::Vector< casacore::Int > &) const override |
Return the current FieldId. More... | |
virtual void | arrayIds (casacore::Vector< casacore::Int > &) const override |
Return the current ArrayId. More... | |
virtual casacore::String | fieldName () const override |
Return the current Field Name. More... | |
virtual void | flag (casacore::Cube< casacore::Bool > &flags) const override |
Return flag for each polarization, channel and row. More... | |
virtual void | flag (casacore::Matrix< casacore::Bool > &flags) const override |
Return flag for each channel & row. More... | |
virtual casacore::Bool | flagCategoryExists () const override |
Determine whether FLAG_CATEGORY is valid. More... | |
virtual void | flagCategory (casacore::Array< casacore::Bool > &flagCategories) const override |
Return flags for each polarization, channel, category, and row. More... | |
virtual void | flagRow (casacore::Vector< casacore::Bool > &rowflags) const override |
Return row flag. More... | |
virtual void | observationId (casacore::Vector< casacore::Int > &obsids) const override |
Return the OBSERVATION_IDs. More... | |
virtual casacore::Int | polarizationId () const override |
Return current Polarization Id. More... | |
virtual void | processorId (casacore::Vector< casacore::Int > &procids) const override |
Return the PROCESSOR_IDs. More... | |
virtual void | scan (casacore::Vector< casacore::Int > &scans) const override |
Return scan number. More... | |
virtual casacore::String | sourceName () const override |
Return the current Source Name. More... | |
virtual void | stateId (casacore::Vector< casacore::Int > &stateids) const override |
Return the STATE_IDs. More... | |
virtual void | jonesC (casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const override |
Return feed configuration matrix for specified antenna. More... | |
virtual casacore::Int | polFrame () const override |
Return frame for polarization (returns PolFrame enum) More... | |
virtual void | sigma (casacore::Matrix< casacore::Float > &sigmat) const override |
Return sigma. More... | |
virtual casacore::Int | spectralWindow () const override |
Return current SpectralWindow. More... | |
virtual void | spectralWindows (casacore::Vector< casacore::Int > &spws) const override |
virtual void | time (casacore::Vector< double > &t) const override |
Return MJD midpoint of interval. More... | |
virtual void | timeCentroid (casacore::Vector< double > &t) const override |
Return MJD centroid of interval. More... | |
virtual void | timeInterval (casacore::Vector< double > &ti) const override |
Return nominal time interval. More... | |
virtual void | uvw (casacore::Matrix< double > &uvwmat) const override |
Return u,v and w (in meters) More... | |
virtual void | visibilityCorrected (casacore::Cube< casacore::Complex > &vis) const override |
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow). More... | |
virtual void | visibilityModel (casacore::Cube< casacore::Complex > &vis) const override |
virtual void | visibilityObserved (casacore::Cube< casacore::Complex > &vis) const override |
virtual void | floatData (casacore::Cube< casacore::Float > &fcube) const override |
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS. More... | |
virtual casacore::IPosition | visibilityShape () const override |
Return the visibility 4-vector of polarizations for each channel. More... | |
virtual void | weight (casacore::Matrix< casacore::Float > &wtmat) const override |
Return weight. More... | |
virtual casacore::Bool | weightSpectrumExists () const override |
Determine whether WEIGHT_SPECTRUM exists. More... | |
virtual casacore::Bool | sigmaSpectrumExists () const override |
Determine whether SIGMA_SPECTRUM exists. More... | |
virtual void | weightSpectrum (casacore::Cube< casacore::Float > &wtsp) const override |
Return weightspectrum (a weight for each channel) More... | |
virtual void | sigmaSpectrum (casacore::Cube< casacore::Float > &sigsp) const override |
Return sgimaspectrum (a sigma for each channel) More... | |
virtual casacore::Bool | allBeamOffsetsZero () const override |
Return the number of sub-intervals in the current chunk. More... | |
virtual std::pair< bool, casacore::MDirection > | getPointingAngle (int antenna, double time) const override |
virtual casacore::MDirection | azel0 (double time) const override |
Return the antenna AZ/EL casacore::Vector (nant) More... | |
virtual const casacore::Vector < casacore::MDirection > & | azel (double time) const override |
static void azel0Calculate (double time, MSDerivedValues & msd, MDirection & azel0, const MEpoch & mEpoch0); More... | |
virtual const casacore::Vector < casacore::Float > & | feed_pa (double time) const override |
static void azelCalculate (double time, MSDerivedValues & msd, Vector<MDirection> & azel, Int nAnt, const MEpoch & mEpoch0); More... | |
virtual const casacore::Cube < casacore::RigidVector < double, 2 > > & | getBeamOffsets () const override |
static Vector<Float> feed_paCalculate (double time, MSDerivedValues & msd, Int nAntennas, const MEpoch & mEpoch0, const Vector<Float> & receptor0Angle); More... | |
virtual double | hourang (double time) const override |
Return the hour angle for the specified time. More... | |
virtual const casacore::Float & | parang0 (double time) const override |
Return nominal parallactic angle at specified time (does not include feed position angle offset–see feed_pa) A global value for all antennas (e.g., small array) More... | |
virtual const casacore::Vector < casacore::Float > & | parang (double time) const override |
Per antenna: More... | |
virtual const casacore::MDirection & | phaseCenter () const override |
Return the current phase center as an MDirection. More... | |
virtual const casacore::Cube < double > & | receptorAngles () const override |
Return receptor angles for all antennae and feeds First axis of the cube is a receptor number, 2nd is antennaId, 3rd is feedId Note: the method is intended to provide an access to MSIter::receptorAngles for VisBuffer in the multi-feed case. More... | |
virtual const casacore::Vector < casacore::String > & | antennaMounts () const override |
+=========================+ | | | Chunk and casacore::MS Level casacore::Data | | | +=========================+ More... | |
virtual casacore::MEpoch | getEpoch () const override |
virtual casacore::Vector<casacore::MPosition> antennaPositions () const; casacore::MSDerivedValues makeMsd (); More... | |
virtual const VisImagingWeight & | getImagingWeightGenerator () const override |
Return imaging weight (a weight for each channel) virtual casacore::Matrix<casacore::Float> & imagingWeight (casacore::Matrix<casacore::Float> & wt) const;. More... | |
virtual casacore::MFrequency::Types | getObservatoryFrequencyType () const override |
virtual casacore::MPosition | getObservatoryPosition () const override |
virtual casacore::Vector < casacore::Float > | getReceptor0Angle () override |
virtual casacore::Int | getReportingFrameOfReference () const override |
virtual void | setReportingFrameOfReference (casacore::Int frame) override |
virtual casacore::Vector < casacore::Int > | getChannels (double time, casacore::Int frameOfReference, casacore::Int spectralWindowId, casacore::Int msId) const override |
virtual casacore::Vector < casacore::Int > | getCorrelations () const override |
virtual casacore::Vector < casacore::Stokes::StokesTypes > | getCorrelationTypesDefined () const override |
virtual casacore::Vector < casacore::Stokes::StokesTypes > | getCorrelationTypesSelected () const override |
virtual casacore::Vector< double > | getFrequencies (double time, casacore::Int frameOfReference, casacore::Int spectralWindowId, casacore::Int msId) const override |
virtual void | dataDescriptionIds (casacore::Vector< casacore::Int > &) const override |
virtual casacore::Int | msId () const override |
reference to actual ms in interator More... | |
virtual const casacore::MeasurementSet & | ms () const override |
virtual casacore::Int | getNMs () const override |
virtual casacore::String | msName () const override |
Name of nominal MS (will typically be beneath several layers) More... | |
virtual void | slurp () const override |
Call to use the slurp i/o method for all scalar columns. More... | |
virtual const vi::SubtableColumns & | subtableColumns () const override |
Access the current casacore::ROMSColumns object in MSIter. More... | |
virtual const SpectralWindowChannels & | getSpectralWindowChannels (casacore::Int msId, casacore::Int spectralWindowId) const override |
get back the selected spectral windows and spectral channels for current ms More... | |
virtual void | useImagingWeight (const VisImagingWeight &imWgt) override |
assign a VisImagingWeight object to this iterator More... | |
virtual casacore::Int | nAntennas () const override |
Return number of antennasm spws, polids, ddids. More... | |
virtual casacore::Int | nDataDescriptionIds () const override |
virtual casacore::Int | nPolarizationIds () const override |
virtual casacore::Int | nRowsInChunk () const override |
virtual casacore::Int | nRowsViWillSweep () const override |
virtual casacore::Int | nSpectralWindows () const override |
virtual void | writeSigmaSpectrum (const casacore::Cube< casacore::Float > &sigsp) override |
Write/modify the sigmaSpectrum. More... | |
virtual void | setWeightScaling (casacore::CountedPtr< WeightScaling > weightscaling) override |
virtual casacore::Bool | hasWeightScaling () const override |
virtual casacore::CountedPtr < WeightScaling > | getWeightScaling () const override |
const casacore::ROMSAntennaColumns & | antennaSubtablecols () const override |
const casacore::ROMSDataDescColumns & | dataDescriptionSubtablecols () const override |
Access to dataDescription subtable. More... | |
const casacore::ROMSFeedColumns & | feedSubtablecols () const override |
Access to feed subtable. More... | |
const casacore::ROMSFieldColumns & | fieldSubtablecols () const override |
Access to field subtable. More... | |
const casacore::ROMSFlagCmdColumns & | flagCmdSubtablecols () const override |
Access to flagCmd subtable. More... | |
const casacore::ROMSHistoryColumns & | historySubtablecols () const override |
Access to history subtable. More... | |
const casacore::ROMSObservationColumns & | observationSubtablecols () const override |
Access to observation subtable. More... | |
const casacore::ROMSPointingColumns & | pointingSubtablecols () const override |
Access to pointing subtable. More... | |
const casacore::ROMSPolarizationColumns & | polarizationSubtablecols () const override |
Access to polarization subtable. More... | |
const casacore::ROMSProcessorColumns & | processorSubtablecols () const override |
Access to processor subtable. More... | |
const casacore::ROMSSpWindowColumns & | spectralWindowSubtablecols () const override |
Access to spectralWindow subtable. More... | |
const casacore::ROMSStateColumns & | stateSubtablecols () const override |
Access to state subtable. More... | |
const casacore::ROMSDopplerColumns & | dopplerSubtablecols () const override |
Access to doppler subtable. More... | |
const casacore::ROMSFreqOffsetColumns & | freqOffsetSubtablecols () const override |
Access to freqOffset subtable. More... | |
const casacore::ROMSSourceColumns & | sourceSubtablecols () const override |
Access to source subtable. More... | |
const casacore::ROMSSysCalColumns & | sysCalSubtablecols () const override |
Access to sysCal subtable. More... | |
const casacore::ROMSWeatherColumns & | weatherSubtablecols () const override |
Access to weather subtable. More... | |
Public Member Functions inherited from casa::vi::ViImplementation2 | |
ViImplementation2 (const ViImplementation2 &)=delete | |
make noncopyable... More... | |
ViImplementation2 & | operator= (const ViImplementation2 &)=delete |
ViImplementation2 () | |
virtual | ~ViImplementation2 () |
Destructor. More... | |
virtual void | initWeightSpectrum (const casacore::Cube< casacore::Float > &) |
Initialize the weightSpectrum. More... | |
virtual void | initSigmaSpectrum (const casacore::Cube< casacore::Float > &) |
Initialize the sigmaSpectrum. More... | |
Private Attributes | |
ViColumns2 | columns_p |
casacore::Bool | columnsAttached_p |
casacore::MeasurementSet | ms_p |
FinalTvi2 - Class that serves as the final Tvi2 in a pipeline; it adds simple write functionality that allows writing back the data contained in the associated VB2.
Public interface
The FinalTvi2 in a transforming VI2 pipeline.
At the end of a Transforming VI pipeline it can be handy to write out the result. Putting a FinalTvi2 as the last transforming VI allows the output to disk of the transformed data into a brand new MS.
Definition at line 100 of file FinalTvi2.h.
casa::vi::FinalTvi2::FinalTvi2 | ( | ViImplementation2 * | inputVi, |
casacore::MeasurementSet & | finalMs, | ||
casacore::Bool | isWritable | ||
) |
|
virtual |
Destructor.
|
virtual |
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
+==================================+ | | | Iteration Control and Monitoring | | | +==================================+
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
+=========================+ | | | Subchunk casacore::Data Accessors | | | +=========================+
+---------------------—+ | | | Angular casacore::Data Providers | | | +---------------------—+
+=========================+ | | | Chunk and casacore::MS Level casacore::Data | | | +=========================+
+----------------—+ | | | Writeback Methods | | | +----------------—+
This method writes back any changed (dirty) components of the provided VisBuffer and is the preferred method for writing data out.
Reimplemented from casa::vi::TransformingVi2.
|
protected |
void configureNewSubchunk ();
These are the methods that actually write the data in the VB2 out to the new casacore::MS when called by writeBackChanges. The VB's data are handled as four categories: data - the various visibility data and the associated weight, weight spectrum, sigma, etc. keys - the values of the columns that ID the row (e.g., antennas, DdId, etc.) misc - the column values that don't fall in the data or key categories.
|
virtual |
These methods will throw a not-implemented exception if called.
They are here because the interface requires them but the intended use of FinalTvi2 expects that the data will be output using only the writeBackChanges method.
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the flags in the data.
This writes the flags as found in the casacore::MS, casacore::Cube (npol,nchan,nrow), where nrow is the number of rows in the current iteration (given by nRow ()).
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the flag row column; dimension casacore::Vector (nrow)
Reimplemented from casa::vi::TransformingVi2.
|
protected |
|
protected |
|
virtual |
Write/modify the ncorr x nrow SigmaMat.
virtual void writeSigmaMat (const casacore::Matrix<casacore::Float> & sigmat);
Write the information needed to generate on-the-fly model visibilities.
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the Sigma.
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the visibilities.
This is possibly only for a 'reference' casacore::MS which has a new DATA column. The first axis of the matrix should equal the selected number of channels in the original MS. If the casacore::MS does not contain all polarizations, only the parallel hand polarizations are used. virtual void writeVisCorrected (const casacore::Matrix<CStokesVector> & visibilityStokes); virtual void writeVisModel (const casacore::Matrix<CStokesVector> & visibilityStokes); virtual void writeVisObserved (const casacore::Matrix<CStokesVector> & visibilityStokes);
Write/modify the visibilities This writes the data as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the weights.
Reimplemented from casa::vi::TransformingVi2.
|
virtual |
Write/modify the weightMat
virtual void writeWeightMat (const casacore::Matrix<casacore::Float> & wtmat);
Write/modify the weightSpectrum
Reimplemented from casa::vi::TransformingVi2.
|
private |
Definition at line 188 of file FinalTvi2.h.
|
private |
Definition at line 189 of file FinalTvi2.h.
|
private |
Definition at line 190 of file FinalTvi2.h.