casa
5.7.0-16
|
The base class to compute convolution functions for convolutional gridding. More...
#include <ConvolutionFunction.h>
Public Member Functions | |
ConvolutionFunction () | |
ConvolutionFunction (casacore::Int dim) | |
virtual | ~ConvolutionFunction () |
virtual void | setDimension (casacore::Int n) |
Set the dimention of the convolution function. More... | |
virtual CF_TYPE | getValue (casacore::Vector< CF_TYPE > &, casacore::Vector< CF_TYPE > &) |
Given the pixel co-ordinates and an offset values, this returns the value of the convolution function. More... | |
virtual int | getVisParams (const VisBuffer &vb, const casacore::CoordinateSystem &skyCoord=casacore::CoordinateSystem())=0 |
A support function which, for now, returns and integer ID corresponding to the on-sky frequency of the supplied VisBuffer. More... | |
virtual void | makeConvFunction (const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb, const casacore::Int wConvSize, const casacore::CountedPtr< PolOuterProduct > &pop, const casacore::Float pa, const casacore::Float dpa, const casacore::Vector< casacore::Double > &uvScale, const casacore::Vector< casacore::Double > &uvOffset, const casacore::Matrix< casacore::Double > &vbFreqSelection, CFStore2 &cfs, CFStore2 &cfwts, casacore::Bool fillCF=true)=0 |
This method computes the convolution function and the convolution function used for gridding the weights (typically these are the same) and returns them in the cfs and cfwts parameters. More... | |
virtual casacore::Bool | makeAverageResponse (const VisBuffer &vb, const casacore::ImageInterface< casacore::Complex > &image, casacore::ImageInterface< casacore::Float > &theavgPB, casacore::Bool reset=true)=0 |
This method computes the average response function. More... | |
virtual casacore::Bool | makeAverageResponse (const VisBuffer &vb, const casacore::ImageInterface< casacore::Complex > &image, casacore::ImageInterface< casacore::Complex > &theavgPB, casacore::Bool reset=true)=0 |
virtual void | setPolMap (const casacore::Vector< casacore::Int > &polMap)=0 |
virtual void | setSpwSelection (const casacore::Cube< casacore::Int > &spwChanSelFlag) |
virtual void | setSpwFreqSelection (const casacore::Matrix< casacore::Double > &spwFreqSel) |
virtual void | setRotateCF (const casacore::Double &computeCFAngleRad, const casacore::Double &rotateOTF) |
virtual casacore::Bool | findSupport (casacore::Array< casacore::Complex > &func, casacore::Float &threshold, casacore::Int &origin, casacore::Int &R)=0 |
virtual void setFeedStokes(const casacore::Vector<casacore::Int>& feedStokes) = 0; More... | |
virtual casacore::Vector < casacore::Double > | findPointingOffset (const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)=0 |
virtual void | prepareConvFunction (const VisBuffer &vb, VBRow2CFBMapType &theMap)=0 |
virtual void setParams(const casacore::Vector<casacore::Int>& polMap, const casacore::Vector<casacore::Int>& feedStokes) {setPolMap(polMap); setFeedStokes(feedStokes);}; More... | |
virtual casacore::Matrix < casacore::Int > | makeBaselineList (const casacore::Vector< casacore::Int > &antList) |
virtual casacore::Int | mapAntIDToAntType (const casacore::Int &) |
virtual void | setMiscInfo (const casacore::RecordInterface &) |
virtual casacore::CountedPtr < CFTerms > | getTerm (const casacore::String &) |
Protected Member Functions | |
casacore::LogIO & | logIO () |
Private Attributes | |
casacore::Int | nDim |
The base class to compute convolution functions for convolutional gridding.
Public interface
Class to encapsulate the convolution function for convolutional gridding.
Standard method of re-sampling data to or from a
regular grid is done by convolutional gridding. This requires a convolution function which a finte support size and well behaved function in the Fourier domain. For standard gridding, the Prolate Spheroidal function are used. Convolution functions used in casacore::Projection algorithms (like W-casacore::Projection, A-casacore::Projection, etc. and their combinations) each require potentially different mechanisms to compute. These are implemented in separate classes in the Synthesis module. Since these are used in common framework for gridding and de-gridding, these are all derived from a common base class. ConvolutionFunction (this class) is that base class.
Most of the methods in this base class are pure virtual. I.e., only surviving offsprings (derived classes) of this class will be those that will have the wisdom that they methods represent.
Definition at line 77 of file ConvolutionFunction.h.
|
inline |
Definition at line 80 of file ConvolutionFunction.h.
|
inline |
Definition at line 81 of file ConvolutionFunction.h.
References nDim.
|
virtual |
|
pure virtual |
Implemented in casa::AWConvFunc, casa::IlluminationConvFunc, and casa::AWConvFuncEPJones.
|
pure virtual |
virtual void setFeedStokes(const casacore::Vector<casacore::Int>& feedStokes) = 0;
Implemented in casa::AWConvFunc, casa::VLACalcIlluminationConvFunc, casa::IlluminationConvFunc, casa::WOnlyConvFunc, casa::WOnlyConvFunc, and casa::EVLAConvFunc.
|
inlinevirtual |
Reimplemented in casa::AWConvFunc.
Definition at line 149 of file ConvolutionFunction.h.
|
inlinevirtual |
Given the pixel co-ordinates and an offset values, this returns the value of the convolution function.
This is however not used anywhere yet (and is therefore also not a pure virtual function).
Reimplemented in casa::IlluminationConvFunc.
Definition at line 91 of file ConvolutionFunction.h.
|
pure virtual |
A support function which, for now, returns and integer ID corresponding to the on-sky frequency of the supplied VisBuffer.
Implemented in casa::AWConvFunc, casa::IlluminationConvFunc, and casa::PixelatedConvFunc< T >.
|
inlineprotected |
Definition at line 153 of file ConvolutionFunction.h.
References logIO_p.
|
pure virtual |
This method computes the average response function.
This is typically image-plane equivalent of the convolution functions, averaged over various axis. The precise averaging will be implementation dependent in the derived classes.
Implemented in casa::VLACalcIlluminationConvFunc, casa::AWConvFunc, casa::IlluminationConvFunc, casa::WOnlyConvFunc, and casa::WOnlyConvFunc.
|
pure virtual |
Implemented in casa::AWConvFunc, casa::IlluminationConvFunc, casa::WOnlyConvFunc, casa::WOnlyConvFunc, and casa::PixelatedConvFunc< T >.
|
virtual |
|
pure virtual |
This method computes the convolution function and the convolution function used for gridding the weights (typically these are the same) and returns them in the cfs and cfwts parameters.
The required information about the image and visibility parameters is dervided from the given image and VisBuffer objects. wConvSize is the number of w-term planes and pa is the Parallactic Angle in radians for which the convolution function(s) are computed.
Implemented in casa::AWConvFunc, and casa::AWConvFuncEPJones.
|
inlinevirtual |
Reimplemented in casa::AWConvFunc.
Definition at line 147 of file ConvolutionFunction.h.
|
pure virtual |
virtual void setParams(const casacore::Vector<casacore::Int>& polMap, const casacore::Vector<casacore::Int>& feedStokes) {setPolMap(polMap); setFeedStokes(feedStokes);};
virtual void prepareConvFunction(const VisBuffer& vb, CFStore2& cfs)=0;
Implemented in casa::AWConvFunc, and casa::IlluminationConvFunc.
|
inlinevirtual |
Set the dimention of the convolution function.
Definition at line 85 of file ConvolutionFunction.h.
References nDim.
|
inlinevirtual |
Reimplemented in casa::AWConvFunc.
Definition at line 148 of file ConvolutionFunction.h.
|
pure virtual |
|
inlinevirtual |
Definition at line 133 of file ConvolutionFunction.h.
References computeCFAngleRad_p, and rotateCFOTFAngleRad_p.
|
inlinevirtual |
Definition at line 132 of file ConvolutionFunction.h.
References casacore::Matrix< T >::assign(), and spwFreqSelection_p.
|
inlinevirtual |
Definition at line 131 of file ConvolutionFunction.h.
References casacore::Cube< T >::assign(), and spwChanSelFlag_p.
|
protected |
Definition at line 157 of file ConvolutionFunction.h.
Referenced by setRotateCF().
|
protected |
Definition at line 154 of file ConvolutionFunction.h.
Referenced by logIO().
|
private |
Definition at line 151 of file ConvolutionFunction.h.
Referenced by ConvolutionFunction(), and setDimension().
|
protected |
Definition at line 157 of file ConvolutionFunction.h.
Referenced by setRotateCF().
|
protected |
Definition at line 155 of file ConvolutionFunction.h.
Referenced by setSpwSelection().
|
protected |
Definition at line 156 of file ConvolutionFunction.h.
Referenced by setSpwFreqSelection().