2-D Image Primary Beam Model More...
#include <PBMath2DImage.h>
Public Member Functions | |
PBMath2DImage () | |
PBMath2DImage (ImageInterface< Float > &reJonesImage) | |
Instantiation from arguments; only an image is needed. | |
PBMath2DImage (ImageInterface< Float > &reJonesImage, ImageInterface< Float > &imJonesImage) | |
PBMath2DImage (const ImageInterface< Complex > &jonesImage) | |
PBMath2DImage & | operator= (const PBMath2DImage &other) |
Copy constructor PBMath2DGImage(const PBMath2DImage& other);. | |
~PBMath2DImage () | |
destructor | |
PBMathInterface::PBClass | whichPBClass () |
Get the type of PB this is. | |
void | summary (Int nValues=0) |
Summarize the construction data for this primary beam. | |
Protected Member Functions | |
virtual ImageInterface< Complex > & | apply (const ImageInterface< Complex > &in, ImageInterface< Complex > &out, const MDirection &sp, const Quantity parAngle, const BeamSquint::SquintType doSquint, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool forward) |
lower level helping apply methods | |
virtual ImageInterface< Float > & | apply (const ImageInterface< Float > &in, ImageInterface< Float > &out, const MDirection &sp, const Quantity parAngle, const BeamSquint::SquintType doSquint, Float cutoff, Int ipower) |
virtual SkyComponent & | apply (SkyComponent &in, SkyComponent &out, const MDirection &sp, const Quantity frequency, const Quantity parAngle, const BeamSquint::SquintType doSquint, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool forward) |
virtual Int | support (const CoordinateSystem &cs) |
Private Member Functions | |
void | checkJonesCongruent (ImageInterface< Float > &reJones, ImageInterface< Float > &imJones) |
Check for congruency. | |
void | checkImageCongruent (ImageInterface< Float > &image) |
void | updateJones (const CoordinateSystem &coords, const IPosition &shape, const MDirection &pc, const Quantity &paAngle) |
Update the Jones Matrix. | |
void | applyJones (const Array< Float > *reJones, const Array< Float > *imJones, const Array< Complex > &in, Array< Complex > &out, Vector< Int > &polmap, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool circular=True, Bool forward=True) |
Complex to Complex. | |
void | applyJonesFast (const Float *&reJones, const Float *&imJones, const Array< Complex > &in, Array< Complex > &out, Vector< Int > &polmap, Bool, Bool, Int ipower, Float, Bool circular, Bool forward) |
void | applyJonesFastX (const Float *&reJones, const Float *&imJones, const Complex *&in, Complex *&outstor, const Vector< Int > &polmap, Bool, Bool, Int ipower, Float, Bool circular, Bool forward, const Int ix, const Int nx, const Int ny, const Int npol) |
void | applyJones (const Array< Float > *reJones, const Array< Float > *imJones, const Array< Float > &in, Array< Float > &out, Vector< Int > &polmap, Float cutoff, Bool circular=True) |
Float to Float. | |
Private Attributes | |
TempImage< Float > * | reJonesImage_p |
TempImage< Float > * | reRegridJonesImage_p |
TempImage< Float > * | imJonesImage_p |
TempImage< Float > * | imRegridJonesImage_p |
Vector< Double > * | incrementsReJones_p |
Vector< Double > * | incrementsImJones_p |
Vector< Double > * | referencePixelReJones_p |
Vector< Double > * | referencePixelImJones_p |
Float | pa_p |
2-D Image Primary Beam Model
Public interface
PBMath2DImage: derived from PBMath2D, implements PB and VP from sampled 2D VP
See PBMath2D for a general synopsis of the 2D PB types.
The user supplies a vector which is a numerical representation of a voltage [attern (hey, if you have a PB, just take the square root, and look out for sidelobes which could be negative). The first element in the vector needs to be 1.0, the center of the voltage pattern. The last element of the vector is the value of the VP at the maximumRadius. The maximumRadius and the reference frequency at which the tabulated VP is intended are also required for construction. The PBMath2DImage constructor proceeds by performing SINC interpolation on the input vector to generate the highly oversampled lookup vector.
numPB.applyPB( im1, im2, pointingDir);
All of the 2-D PB types have everything in common except for the details of their parameterization. This lightweight class deals with those differences: construction, filling the PBArray from construction parameters, and flushing to disk. The Image type is very handy: someone can take a sample illumination pattern, FT, and take a slice of the resulting voltage pattern and construct a VP from that slice.
Definition at line 100 of file PBMath2DImage.h.
casa::PBMath2DImage::PBMath2DImage | ( | ) |
casa::PBMath2DImage::PBMath2DImage | ( | ImageInterface< Float > & | reJonesImage | ) |
Instantiation from arguments; only an image is needed.
casa::PBMath2DImage::PBMath2DImage | ( | ImageInterface< Float > & | reJonesImage, | |
ImageInterface< Float > & | imJonesImage | |||
) |
casa::PBMath2DImage::PBMath2DImage | ( | const ImageInterface< Complex > & | jonesImage | ) |
casa::PBMath2DImage::~PBMath2DImage | ( | ) |
destructor
virtual SkyComponent& casa::PBMath2DImage::apply | ( | SkyComponent & | in, | |
SkyComponent & | out, | |||
const MDirection & | sp, | |||
const Quantity | frequency, | |||
const Quantity | parAngle, | |||
const BeamSquint::SquintType | doSquint, | |||
Bool | inverse, | |||
Bool | conjugate, | |||
Int | ipower, | |||
Float | cutoff, | |||
Bool | forward | |||
) | [protected, virtual] |
Implements casa::PBMathInterface.
virtual ImageInterface<Float>& casa::PBMath2DImage::apply | ( | const ImageInterface< Float > & | in, | |
ImageInterface< Float > & | out, | |||
const MDirection & | sp, | |||
const Quantity | parAngle, | |||
const BeamSquint::SquintType | doSquint, | |||
Float | cutoff, | |||
Int | ipower | |||
) | [protected, virtual] |
Implements casa::PBMathInterface.
virtual ImageInterface<Complex>& casa::PBMath2DImage::apply | ( | const ImageInterface< Complex > & | in, | |
ImageInterface< Complex > & | out, | |||
const MDirection & | sp, | |||
const Quantity | parAngle, | |||
const BeamSquint::SquintType | doSquint, | |||
Bool | Inverse, | |||
Bool | Conjugate, | |||
Int | ipower, | |||
Float | cutoff, | |||
Bool | forward | |||
) | [protected, virtual] |
lower level helping apply methods
Implements casa::PBMathInterface.
void casa::PBMath2DImage::applyJones | ( | const Array< Float > * | reJones, | |
const Array< Float > * | imJones, | |||
const Array< Float > & | in, | |||
Array< Float > & | out, | |||
Vector< Int > & | polmap, | |||
Float | cutoff, | |||
Bool | circular = True | |||
) | [private] |
Float to Float.
void casa::PBMath2DImage::applyJones | ( | const Array< Float > * | reJones, | |
const Array< Float > * | imJones, | |||
const Array< Complex > & | in, | |||
Array< Complex > & | out, | |||
Vector< Int > & | polmap, | |||
Bool | inverse, | |||
Bool | conjugate, | |||
Int | ipower, | |||
Float | cutoff, | |||
Bool | circular = True , |
|||
Bool | forward = True | |||
) | [private] |
Complex to Complex.
void casa::PBMath2DImage::applyJonesFast | ( | const Float *& | reJones, | |
const Float *& | imJones, | |||
const Array< Complex > & | in, | |||
Array< Complex > & | out, | |||
Vector< Int > & | polmap, | |||
Bool | , | |||
Bool | , | |||
Int | ipower, | |||
Float | , | |||
Bool | circular, | |||
Bool | forward | |||
) | [private] |
void casa::PBMath2DImage::applyJonesFastX | ( | const Float *& | reJones, | |
const Float *& | imJones, | |||
const Complex *& | in, | |||
Complex *& | outstor, | |||
const Vector< Int > & | polmap, | |||
Bool | , | |||
Bool | , | |||
Int | ipower, | |||
Float | , | |||
Bool | circular, | |||
Bool | forward, | |||
const Int | ix, | |||
const Int | nx, | |||
const Int | ny, | |||
const Int | npol | |||
) | [private] |
void casa::PBMath2DImage::checkImageCongruent | ( | ImageInterface< Float > & | image | ) | [private] |
void casa::PBMath2DImage::checkJonesCongruent | ( | ImageInterface< Float > & | reJones, | |
ImageInterface< Float > & | imJones | |||
) | [private] |
Check for congruency.
PBMath2DImage& casa::PBMath2DImage::operator= | ( | const PBMath2DImage & | other | ) |
Copy constructor PBMath2DGImage(const PBMath2DImage& other);.
Assignment operator, by reference
void casa::PBMath2DImage::summary | ( | Int | nValues = 0 |
) | [virtual] |
Summarize the construction data for this primary beam.
Reimplemented from casa::PBMath2D.
virtual Int casa::PBMath2DImage::support | ( | const CoordinateSystem & | cs | ) | [protected, virtual] |
Reimplemented from casa::PBMath2D.
void casa::PBMath2DImage::updateJones | ( | const CoordinateSystem & | coords, | |
const IPosition & | shape, | |||
const MDirection & | pc, | |||
const Quantity & | paAngle | |||
) | [private] |
Update the Jones Matrix.
PBMathInterface::PBClass casa::PBMath2DImage::whichPBClass | ( | ) | [inline, virtual] |
Get the type of PB this is.
Implements casa::PBMathInterface.
Definition at line 122 of file PBMath2DImage.h.
References casa::PBMathInterface::IMAGE.
TempImage<Float>* casa::PBMath2DImage::imJonesImage_p [private] |
Definition at line 227 of file PBMath2DImage.h.
TempImage<Float>* casa::PBMath2DImage::imRegridJonesImage_p [private] |
Definition at line 228 of file PBMath2DImage.h.
Vector<Double>* casa::PBMath2DImage::incrementsImJones_p [private] |
Definition at line 231 of file PBMath2DImage.h.
Vector<Double>* casa::PBMath2DImage::incrementsReJones_p [private] |
Definition at line 230 of file PBMath2DImage.h.
Float casa::PBMath2DImage::pa_p [private] |
Definition at line 236 of file PBMath2DImage.h.
Vector<Double>* casa::PBMath2DImage::referencePixelImJones_p [private] |
Definition at line 234 of file PBMath2DImage.h.
Vector<Double>* casa::PBMath2DImage::referencePixelReJones_p [private] |
Definition at line 233 of file PBMath2DImage.h.
TempImage<Float>* casa::PBMath2DImage::reJonesImage_p [private] |
Definition at line 225 of file PBMath2DImage.h.
TempImage<Float>* casa::PBMath2DImage::reRegridJonesImage_p [private] |
Definition at line 226 of file PBMath2DImage.h.