casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
casa::ConvolutionFunction Class Reference

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

#include <ConvolutionFunction.h>

Inheritance diagram for casa::ConvolutionFunction:
casa::AWConvFunc casa::EVLAConvFunc casa::PixelatedConvFunc< T > casa::TabulatedConvFunc casa::WOnlyConvFunc casa::WOnlyConvFunc casa::AWConvFuncEPJones casa::IlluminationConvFunc casa::ALMACalcIlluminationConvFunc casa::VLACalcIlluminationConvFunc casa::VLAIlluminationConvFunc

List of all members.

Public Member Functions

 ConvolutionFunction ()
 ConvolutionFunction (Int dim)
virtual ~ConvolutionFunction ()
virtual void setDimension (Int n)
 Set the dimention of the convolution function.
virtual CF_TYPE getValue (Vector< CF_TYPE > &, Vector< CF_TYPE > &)
 Given the pixel co-ordinates and an offset values, this returns the value of the convolution function.
virtual int getVisParams (const VisBuffer &vb, const CoordinateSystem &skyCoord=CoordinateSystem())=0
 A support function which, for now, returns and integer ID corresponding to the on-sky frequency of the supplied VisBuffer.
virtual void makeConvFunction (const ImageInterface< Complex > &image, const VisBuffer &vb, const Int wConvSize, const CountedPtr< PolOuterProduct > &pop, const Float pa, const Float dpa, const Vector< Double > &uvScale, const Vector< Double > &uvOffset, const Matrix< Double > &vbFreqSelection, CFStore2 &cfs, CFStore2 &cfwts)=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.
virtual Bool makeAverageResponse (const VisBuffer &vb, const ImageInterface< Complex > &image, ImageInterface< Float > &theavgPB, Bool reset=True)=0
 This method computes the average response function.
virtual Bool makeAverageResponse (const VisBuffer &vb, const ImageInterface< Complex > &image, ImageInterface< Complex > &theavgPB, Bool reset=True)=0
virtual void setPolMap (const Vector< Int > &polMap)=0
virtual void setSpwSelection (const Cube< Int > &spwChanSelFlag)
virtual void setSpwFreqSelection (const Matrix< Double > &spwFreqSel)
virtual void setRotateCF (const Double &computeCFAngleRad, const Double &rotateOTF)
virtual Bool findSupport (Array< Complex > &func, Float &threshold, Int &origin, Int &R)=0
 virtual void setFeedStokes(const Vector<Int>& feedStokes) = 0;
virtual Vector< DoublefindPointingOffset (const ImageInterface< Complex > &image, const VisBuffer &vb)=0
virtual void prepareConvFunction (const VisBuffer &vb, VBRow2CFBMapType &theMap)=0
 virtual void setParams(const Vector<Int>& polMap, const Vector<Int>& feedStokes) {setPolMap(polMap); setFeedStokes(feedStokes);};
virtual Matrix< IntmakeBaselineList (const Vector< Int > &antList)
virtual Int mapAntIDToAntType (const Int &)
virtual void setMiscInfo (const RecordInterface &)

Protected Member Functions

LogIOlogIO ()

Protected Attributes

LogIO logIO_p
Cube< IntspwChanSelFlag_p
Matrix< DoublespwFreqSelection_p
Double computeCFAngleRad_p
Double rotateCFOTFAngleRad_p

Private Attributes

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 Projection algorithms (like W-Projection, A-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 76 of file ConvolutionFunction.h.


Constructor & Destructor Documentation

Definition at line 79 of file ConvolutionFunction.h.

Definition at line 80 of file ConvolutionFunction.h.

References nDim.


Member Function Documentation

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

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

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

virtual CF_TYPE casa::ConvolutionFunction::getValue ( Vector< CF_TYPE > &  ,
Vector< CF_TYPE > &   
) [inline, virtual]

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

virtual int casa::ConvolutionFunction::getVisParams ( const VisBuffer vb,
const CoordinateSystem skyCoord = 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::AWConvFunc, casa::IlluminationConvFunc, and casa::PixelatedConvFunc< T >.

LogIO& casa::ConvolutionFunction::logIO ( ) [inline, protected]

Reimplemented in casa::EVLAConvFunc.

Definition at line 150 of file ConvolutionFunction.h.

References logIO_p.

virtual Bool casa::ConvolutionFunction::makeAverageResponse ( const VisBuffer vb,
const ImageInterface< Complex > &  image,
ImageInterface< Float > &  theavgPB,
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::IlluminationConvFunc, casa::VLACalcIlluminationConvFunc, casa::AWConvFunc, casa::WOnlyConvFunc, and casa::WOnlyConvFunc.

virtual Bool casa::ConvolutionFunction::makeAverageResponse ( const VisBuffer vb,
const ImageInterface< Complex > &  image,
ImageInterface< Complex > &  theavgPB,
Bool  reset = True 
) [pure virtual]
virtual Matrix<Int> casa::ConvolutionFunction::makeBaselineList ( const Vector< Int > &  antList) [virtual]
virtual void casa::ConvolutionFunction::makeConvFunction ( const ImageInterface< Complex > &  image,
const VisBuffer vb,
const Int  wConvSize,
const CountedPtr< PolOuterProduct > &  pop,
const Float  pa,
const Float  dpa,
const Vector< Double > &  uvScale,
const Vector< Double > &  uvOffset,
const Matrix< Double > &  vbFreqSelection,
CFStore2 cfs,
CFStore2 cfwts 
) [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.

virtual Int casa::ConvolutionFunction::mapAntIDToAntType ( const Int ) [inline, virtual]

Reimplemented in casa::AWConvFunc.

Definition at line 145 of file ConvolutionFunction.h.

virtual void casa::ConvolutionFunction::prepareConvFunction ( const VisBuffer vb,
VBRow2CFBMapType theMap 
) [pure virtual]

virtual void setParams(const Vector<Int>& polMap, const Vector<Int>& feedStokes) {setPolMap(polMap); setFeedStokes(feedStokes);};

virtual void prepareConvFunction(const VisBuffer& vb, CFStore2& cfs)=0;

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

virtual void casa::ConvolutionFunction::setDimension ( Int  n) [inline, virtual]

Set the dimention of the convolution function.

Definition at line 84 of file ConvolutionFunction.h.

References nDim.

virtual void casa::ConvolutionFunction::setMiscInfo ( const RecordInterface ) [inline, virtual]

Reimplemented in casa::AWConvFunc.

Definition at line 146 of file ConvolutionFunction.h.

virtual void casa::ConvolutionFunction::setPolMap ( const Vector< Int > &  polMap) [pure virtual]
virtual void casa::ConvolutionFunction::setRotateCF ( const Double computeCFAngleRad,
const Double rotateOTF 
) [inline, virtual]

Definition at line 131 of file ConvolutionFunction.h.

References computeCFAngleRad_p, and rotateCFOTFAngleRad_p.

virtual void casa::ConvolutionFunction::setSpwFreqSelection ( const Matrix< Double > &  spwFreqSel) [inline, virtual]

Definition at line 130 of file ConvolutionFunction.h.

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

virtual void casa::ConvolutionFunction::setSpwSelection ( const Cube< Int > &  spwChanSelFlag) [inline, virtual]

Definition at line 129 of file ConvolutionFunction.h.

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


Member Data Documentation

Definition at line 154 of file ConvolutionFunction.h.

Referenced by setRotateCF().

Reimplemented in casa::EVLAConvFunc.

Definition at line 151 of file ConvolutionFunction.h.

Referenced by logIO().

Reimplemented in casa::PixelatedConvFunc< T >.

Definition at line 146 of file ConvolutionFunction.h.

Referenced by ConvolutionFunction(), and setDimension().

Definition at line 154 of file ConvolutionFunction.h.

Referenced by setRotateCF().

Definition at line 152 of file ConvolutionFunction.h.

Referenced by setSpwSelection().

Definition at line 153 of file ConvolutionFunction.h.

Referenced by setSpwFreqSelection().


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