29 #ifndef MSVIS_VISBUFFERUTIL_H
30 #define MSVIS_VISBUFFERUTIL_H
40 #include <unordered_map>
A Measure: astronomical direction.
casacore::MDirection getPointingDir(const VisBuffer &vb, const casacore::Int antid, const casacore::Int row)
get the pointing direction for a given integration and antenna id will cache it for large pointing ta...
casacore::MDirection getEphemDir(const vi::VisBuffer2 &vb, const casacore::Double time=-1.0)
Get the ephemeris direction of a source fieldid of vb at time given.
void pointingIndex(casacore::Double *&timecol, casacore::Int *&antcol, casacore::Double *&intervalcol, const casacore::Int nrow, const casacore::Int antenna, const casacore::Int ntimes, casacore::Double *&ptime, casacore::Vector< casacore::Int > &indices)
A quicker pointing index finder void pointingIndex(const casacore::MSPointing& pcols, const casacore::Int antenna, const casacore::Int ntimes, casacore::Double*& ptime, casacore::Vector<casacore::Int>& indices,casacore::Vector<casacore::MDirection>& direction);.
Internal value for MFrequency.
casacore::Int oldPCMSId_p
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
casacore::Vector< casacore::Vector< casacore::MDirection > > cachedPointingDir_p
casacore::Vector< std::map< casacore::Double, casacore::MDirection > > cachedPhaseCenter_p
casacore::Bool rotateUVW(const vi::VisBuffer2 &vb, const casacore::MDirection &desiredDir, casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase)
Rotate the uvw in the vb along with giving the phase needed to convert the visibilities to a new phas...
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Container for Measure frame.
static casacore::Bool getFreqRangeFromRange(casacore::Double &outfreqMin, casacore::Double &outfreqMax, const casacore::MFrequency::Types inFreqFrame, const casacore::Double infreqMin, const casacore::Double infreqMax, vi::VisibilityIterator2 &vi, casacore::MFrequency::Types outFreqFrame)
Get the freqRange from in Frame to range it represents in outFrame for all the fields and time select...
PredefinedColumns
The Main table colums with predefined meaning.
VisBufferUtil()
Empty Constructor.
Interpolate in one dimension.
A Measure: instant in time.
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
InterpolationMethod
Interpolation methods.
void swapyz(casacore::Cube< casacore::Bool > &out, const casacore::Cube< casacore::Bool > &in)
casacore::MeasFrame mframe_
A casacore::MeasFrame for conversions.
bool Bool
Define the standard types used by Casacore.
Types
Types of known MDopplers Warning: The order defines the order in the translation matrix FromTo in th...
casacore::MDirection getEphemBasedPhaseDir(const vi::VisBuffer2 &vb, const casacore::String &ephemPath, const casacore::MDirection &refDir, const casacore::Double t)
get ephemeris based direction corrected for parallax for the position in the frame ...
casacore::Vector< std::map< std::pair< double, int >, int > > timeAntIndex_p
void toVelocity(casacore::Vector< casacore::Double > &outVel, const VisBuffer &vb, const casacore::MFrequency::Types freqFrame, const casacore::MVFrequency restFreq, const casacore::MDoppler::Types veldef)
Converts the frequency in this VisBuffer to velocity in the frame/def requested.
void makePSFVisBuffer(VisBuffer &vb)
Make PSF VisBuffer.
VisBuffer2s encapsulate one chunk of visibility data for processing.
static void getFreqRange(casacore::Double &freqMin, casacore::Double &freqMax, vi::VisibilityIterator2 &vi, casacore::MFrequency::Types freqFrame)
This is a helper function as vi2 does not have a get Freq range for the data selected.
String: the storage and methods of handling collections of characters.
casacore::Bool interpolateFrequency(casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Bool > &flags, const VisBuffer &vb, const casacore::Vector< casacore::Float > &outFreqGrid, const casacore::MS::PredefinedColumns whichCol=casacore::MS::DATA, const casacore::MFrequency::Types freqFrame=casacore::MFrequency::LSRK, const casacore::InterpolateArray1D< casacore::Float, casacore::Complex >::InterpolationMethod interp=(casacore::InterpolateArray1D< casacore::Float, casacore::Complex >::nearestNeighbour))
Regrid the data on a new frequency grid (defined by outFreqGrid), on the frequency frame (defined by ...
VisBuffers encapsulate one chunk of visibility data for processing.
void rejectConsecutive(const casacore::Vector< casacore::Double > &t, casacore::Vector< casacore::Double > &retval)
void convertFrequency(casacore::Vector< casacore::Double > &outFreq, const VisBuffer &vb, const casacore::MFrequency::Types freqFrame)
Converts the frequency in this visbuffer to the frame requested.
casacore::MDirection getPhaseCenter(const vi::VisBuffer2 &vb, const casacore::Double time=-1.0)
get the phaseCenter for a given time..cached so that it does not need to do small read every time of ...
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
Complex visibility matrix.