casa
$Rev:20696$
|
A class to apply the W-Term to the given image. More...
#include <PSTerm.h>
Public Member Functions | |
PSTerm () | |
PSTerm (const IPosition shape, const Vector< Double > &uvScale, const Vector< Double > &uvOffset, const Double &psScale) | |
virtual | ~PSTerm () |
void | init (const IPosition shape, const Vector< Double > &uvScale, const Vector< Double > &uvOffset, const Double &psScale) |
Matrix< Complex > & | operator= (Matrix< Complex > &) |
Matrix< Complex > & | operator*= (Matrix< Complex > &) |
void | applySky (Matrix< Complex > &screen, Bool multiply=False) |
void | applySky (Matrix< Complex > &screen, const Vector< Double > &sampling, const Int inner) |
void | normalizeImage (Lattice< Complex > &skyImage, const Matrix< Float > &weights) |
virtual String | name () |
int | getVisParams (const VisBuffer &vb, const CoordinateSystem &skyCoord=CoordinateSystem()) |
Implementation of pure-virtual methods of CFTerms parent class. | |
void | setPolMap (const Vector< Int > &polMap) |
The mapping from VisBuffer polarizations map to the Image plane polarization. | |
virtual Float | getSupportThreshold () |
void | applySky (ImageInterface< Float > &outputImages, const VisBuffer &vb, const Bool doSquint=True, const Int &cfKey=0, const Double=-1) |
void | applySky (ImageInterface< Complex > &outputImages, const VisBuffer &vb, const Bool doSquint=True, const Int &cfKey=0, const Double=-1) |
Vector< Int > | vbRow2CFKeyMap (const VisBuffer &vb, Int &nUnique) |
Not sure if the following method is requried. | |
Int | makePBPolnCoords (const VisBuffer &vb, const Int &convSize, const Int &convSampling, const CoordinateSystem &skyCoord, const Int &skyNx, const Int &skyNy, CoordinateSystem &feedCoord) |
Int | getConvSize () |
Int | getOversampling () |
Float | getConvWeightSizeFactor () |
Private Attributes | |
CountedPtr< ConvolveGridder < Double, Complex > > | psCtor_p |
spheroidal function | |
Vector< Double > | support_p |
Vector< Int > | sampling_p |
Double | psScale_p |
A class to apply the W-Term to the given image.
Public interface
<h3>Etymology</h3> W-Term to account for non co-planar baselines <h3>Synopsis</h3>
casa::PSTerm::PSTerm | ( | ) | [inline] |
virtual casa::PSTerm::~PSTerm | ( | ) | [inline, virtual] |
void casa::PSTerm::applySky | ( | Matrix< Complex > & | screen, |
Bool | multiply = False |
||
) |
void casa::PSTerm::applySky | ( | Matrix< Complex > & | screen, |
const Vector< Double > & | sampling, | ||
const Int | inner | ||
) |
void casa::PSTerm::applySky | ( | ImageInterface< Float > & | outputImages, |
const VisBuffer & | vb, | ||
const Bool | doSquint = True , |
||
const Int & | cfKey = 0 , |
||
const Double | = -1 |
||
) | [inline, virtual] |
Implements casa::CFTerms.
void casa::PSTerm::applySky | ( | ImageInterface< Complex > & | outputImages, |
const VisBuffer & | vb, | ||
const Bool | doSquint = True , |
||
const Int & | cfKey = 0 , |
||
const Double | = -1 |
||
) | [inline, virtual] |
Implements casa::CFTerms.
Int casa::PSTerm::getConvSize | ( | ) | [inline, virtual] |
Implements casa::CFTerms.
Float casa::PSTerm::getConvWeightSizeFactor | ( | ) | [inline, virtual] |
Implements casa::CFTerms.
Int casa::PSTerm::getOversampling | ( | ) | [inline, virtual] |
Implements casa::CFTerms.
virtual Float casa::PSTerm::getSupportThreshold | ( | ) | [inline, virtual] |
int casa::PSTerm::getVisParams | ( | const VisBuffer & | vb, |
const CoordinateSystem & | skyCoord = CoordinateSystem() |
||
) | [inline, virtual] |
CFTerms (and its derived classes) ned clean-up so that this kind of code is not required everywhere).
Implements casa::CFTerms.
void casa::PSTerm::init | ( | const IPosition | shape, |
const Vector< Double > & | uvScale, | ||
const Vector< Double > & | uvOffset, | ||
const Double & | psScale | ||
) |
Referenced by PSTerm().
Int casa::PSTerm::makePBPolnCoords | ( | const VisBuffer & | vb, |
const Int & | convSize, | ||
const Int & | convSampling, | ||
const CoordinateSystem & | skyCoord, | ||
const Int & | skyNx, | ||
const Int & | skyNy, | ||
CoordinateSystem & | feedCoord | ||
) | [inline, virtual] |
Implements casa::CFTerms.
virtual String casa::PSTerm::name | ( | ) | [inline, virtual] |
void casa::PSTerm::normalizeImage | ( | Lattice< Complex > & | skyImage, |
const Matrix< Float > & | weights | ||
) | [virtual] |
Implements casa::CFTerms.
void casa::PSTerm::setPolMap | ( | const Vector< Int > & | polMap | ) | [inline, virtual] |
The mapping from VisBuffer polarizations map to the Image plane polarization.
The latter is determined by the user input, which is passed to the FTMachine in Imager.cc
The map is available in the FTMachine which uses this method to set the map for the CFTerms object.
Reimplemented from casa::CFTerms.
Vector<Int> casa::PSTerm::vbRow2CFKeyMap | ( | const VisBuffer & | vb, |
Int & | nUnique | ||
) | [inline, virtual] |
Not sure if the following method is requried.
Leaving it in the code for now with an implementation that does nothing.
virtual void applySky(Matrix<Complex>& screen, const Int wPixel, const Vector<Double>& sampling, const Int wConvSize, const Double wScale, const Int inner) {(void)screen; (void)wPixel; (void)sampling; (void)wConvSize; (void)wScale; (void)inner;};
Returns a vector of integers that map each row in the given VisBuffer to an index that is used to pick the appropriate convolution function plane. It also returns the number of unique baselines in the nUnique parameter (unique baselines are defined as the number of baselines each requiring a unique convolution function).
This is required for Heterogeneous antenna arrays (like ALMA) and for all arrays where not all antenna aperture illuminations can be treated as identical.
Implements casa::CFTerms.
CountedPtr<ConvolveGridder<Double, Complex> > casa::PSTerm::psCtor_p [private] |
Double casa::PSTerm::psScale_p [private] |
Vector<Int> casa::PSTerm::sampling_p [private] |
Vector<Double> casa::PSTerm::support_p [private] |