casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
casa::refim::ConvolutionFunction Class Referenceabstract

The base class to compute convolution functions for convolutional gridding. More...

#include <ConvolutionFunction.h>

Inheritance diagram for casa::refim::ConvolutionFunction:
casa::refim::AWConvFunc casa::refim::EVLAConvFunc casa::refim::TabulatedConvFunc casa::refim::AWConvFuncEPJones casa::refim::IlluminationConvFunc casa::refim::VLACalcIlluminationConvFunc casa::refim::VLAIlluminationConvFunc

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 VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &vb)=0
 
virtual void prepareConvFunction (const VisBuffer2 &vb, VB2CFBMap &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 void setPointingOffsets (const casacore::CountedPtr< refim::PointingOffsets > &po)
 
virtual casacore::CountedPtr
< CFTerms
getTerm (const casacore::String &)
 
virtual int getOversampling ()
 
virtual casacore::Vector
< casacore::Vector
< casacore::Double > > 
findPointingOffset (const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer2 &vb, const casacore::Bool &doPointing)=0
 

Protected Member Functions

casacore::LogIOlogIO ()
 

Protected Attributes

casacore::LogIO logIO_p
 
casacore::Cube< casacore::IntspwChanSelFlag_p
 
casacore::Matrix
< casacore::Double
spwFreqSelection_p
 
casacore::Double computeCFAngleRad_p
 
casacore::Double rotateCFOTFAngleRad_p
 
casacore::CountedPtr
< PointingOffsets
po_p
 

Private Attributes

casacore::Int nDim
 

Detailed Description

The base class to compute convolution functions for convolutional gridding.

Intended use:

Public interface

Etymology

Class to encapsulate the convolution function for convolutional gridding.

Synopsis

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 80 of file ConvolutionFunction.h.

Constructor & Destructor Documentation

casa::refim::ConvolutionFunction::ConvolutionFunction ( )
inline

Definition at line 83 of file ConvolutionFunction.h.

casa::refim::ConvolutionFunction::ConvolutionFunction ( casacore::Int  dim)
inline

Definition at line 87 of file ConvolutionFunction.h.

References nDim.

virtual casa::refim::ConvolutionFunction::~ConvolutionFunction ( )
virtual

Member Function Documentation

virtual casacore::Vector<casacore::Double> casa::refim::ConvolutionFunction::findPointingOffset ( const casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer2 vb 
)
pure virtual
virtual casacore::Vector<casacore::Vector<casacore::Double> > casa::refim::ConvolutionFunction::findPointingOffset ( const casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer2 vb,
const casacore::Bool doPointing 
)
pure virtual
virtual casacore::Bool casa::refim::ConvolutionFunction::findSupport ( casacore::Array< casacore::Complex > &  func,
casacore::Float threshold,
casacore::Int origin,
casacore::Int R 
)
pure virtual

virtual void setFeedStokes(const casacore::Vector<casacore::Int>& feedStokes) = 0;

Implemented in casa::refim::AWConvFunc, casa::refim::VLACalcIlluminationConvFunc, casa::refim::IlluminationConvFunc, and casa::refim::EVLAConvFunc.

virtual int casa::refim::ConvolutionFunction::getOversampling ( )
inlinevirtual

Reimplemented in casa::refim::AWConvFunc.

Definition at line 161 of file ConvolutionFunction.h.

virtual casacore::CountedPtr<CFTerms> casa::refim::ConvolutionFunction::getTerm ( const casacore::String )
inlinevirtual

Reimplemented in casa::refim::AWConvFunc.

Definition at line 160 of file ConvolutionFunction.h.

virtual CF_TYPE casa::refim::ConvolutionFunction::getValue ( casacore::Vector< CF_TYPE > &  ,
casacore::Vector< CF_TYPE > &   
)
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::refim::IlluminationConvFunc.

Definition at line 100 of file ConvolutionFunction.h.

virtual int casa::refim::ConvolutionFunction::getVisParams ( const VisBuffer2 vb,
const casacore::CoordinateSystem skyCoord = casacore::CoordinateSystem() 
)
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::refim::AWConvFunc, and casa::refim::IlluminationConvFunc.

casacore::LogIO& casa::refim::ConvolutionFunction::logIO ( )
inlineprotected

Definition at line 171 of file ConvolutionFunction.h.

References logIO_p.

virtual casacore::Bool casa::refim::ConvolutionFunction::makeAverageResponse ( const VisBuffer2 vb,
const casacore::ImageInterface< casacore::Complex > &  image,
casacore::ImageInterface< casacore::Float > &  theavgPB,
casacore::Bool  reset = true 
)
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::refim::VLACalcIlluminationConvFunc, casa::refim::AWConvFunc, and casa::refim::IlluminationConvFunc.

virtual casacore::Bool casa::refim::ConvolutionFunction::makeAverageResponse ( const VisBuffer2 vb,
const casacore::ImageInterface< casacore::Complex > &  image,
casacore::ImageInterface< casacore::Complex > &  theavgPB,
casacore::Bool  reset = true 
)
pure virtual
virtual casacore::Matrix<casacore::Int> casa::refim::ConvolutionFunction::makeBaselineList ( const casacore::Vector< casacore::Int > &  antList)
virtual
virtual void casa::refim::ConvolutionFunction::makeConvFunction ( const casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer2 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 
)
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::refim::AWConvFunc, and casa::refim::AWConvFuncEPJones.

virtual casacore::Int casa::refim::ConvolutionFunction::mapAntIDToAntType ( const casacore::Int )
inlinevirtual

Reimplemented in casa::refim::AWConvFunc.

Definition at line 157 of file ConvolutionFunction.h.

virtual void casa::refim::ConvolutionFunction::prepareConvFunction ( const VisBuffer2 vb,
VB2CFBMap theMap 
)
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 VisBuffer2& vb, CFStore2& cfs)=0; virtual void prepareConvFunction(const VisBuffer2& vb, VBRow2CFBMapType& theMap)=0;

Implemented in casa::refim::AWConvFunc, casa::refim::IlluminationConvFunc, and casa::refim::TabulatedConvFunc.

virtual void casa::refim::ConvolutionFunction::setDimension ( casacore::Int  n)
inlinevirtual

Set the dimention of the convolution function.

Definition at line 94 of file ConvolutionFunction.h.

References nDim.

virtual void casa::refim::ConvolutionFunction::setMiscInfo ( const casacore::RecordInterface )
inlinevirtual

Reimplemented in casa::refim::AWConvFunc.

Definition at line 158 of file ConvolutionFunction.h.

virtual void casa::refim::ConvolutionFunction::setPointingOffsets ( const casacore::CountedPtr< refim::PointingOffsets > &  po)
inlinevirtual

Definition at line 159 of file ConvolutionFunction.h.

References po_p.

virtual void casa::refim::ConvolutionFunction::setPolMap ( const casacore::Vector< casacore::Int > &  polMap)
pure virtual
virtual void casa::refim::ConvolutionFunction::setRotateCF ( const casacore::Double computeCFAngleRad,
const casacore::Double rotateOTF 
)
inlinevirtual

Definition at line 142 of file ConvolutionFunction.h.

References computeCFAngleRad_p, and rotateCFOTFAngleRad_p.

virtual void casa::refim::ConvolutionFunction::setSpwFreqSelection ( const casacore::Matrix< casacore::Double > &  spwFreqSel)
inlinevirtual

Definition at line 141 of file ConvolutionFunction.h.

References casacore::Matrix< T >::assign(), and spwFreqSelection_p.

virtual void casa::refim::ConvolutionFunction::setSpwSelection ( const casacore::Cube< casacore::Int > &  spwChanSelFlag)
inlinevirtual

Definition at line 140 of file ConvolutionFunction.h.

References casacore::Cube< T >::assign(), and spwChanSelFlag_p.

Member Data Documentation

casacore::Double casa::refim::ConvolutionFunction::computeCFAngleRad_p
protected

Definition at line 175 of file ConvolutionFunction.h.

Referenced by setRotateCF().

casacore::LogIO casa::refim::ConvolutionFunction::logIO_p
protected

Definition at line 172 of file ConvolutionFunction.h.

Referenced by logIO().

casacore::Int casa::refim::ConvolutionFunction::nDim
private

Definition at line 169 of file ConvolutionFunction.h.

Referenced by ConvolutionFunction(), and setDimension().

casacore::CountedPtr<PointingOffsets> casa::refim::ConvolutionFunction::po_p
protected

Definition at line 176 of file ConvolutionFunction.h.

Referenced by setPointingOffsets().

casacore::Double casa::refim::ConvolutionFunction::rotateCFOTFAngleRad_p
protected

Definition at line 175 of file ConvolutionFunction.h.

Referenced by setRotateCF().

casacore::Cube<casacore::Int> casa::refim::ConvolutionFunction::spwChanSelFlag_p
protected

Definition at line 173 of file ConvolutionFunction.h.

Referenced by setSpwSelection().

casacore::Matrix<casacore::Double> casa::refim::ConvolutionFunction::spwFreqSelection_p
protected

Definition at line 174 of file ConvolutionFunction.h.

Referenced by setSpwFreqSelection().


The documentation for this class was generated from the following file: