Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do that. More...
#include <VisImagingWeight.h>
Public Member Functions | |
VisImagingWeight () | |
empty constructor | |
VisImagingWeight (const String &type) | |
Constructor to calculate natural and radial weights. | |
VisImagingWeight (ROVisibilityIterator &vi, const String &rmode, const Quantity &noise, const Double robust, const Int nx, const Int ny, const Quantity &cellx, const Quantity &celly, const Int uBox, const Int vBox, const Bool multiField=False) | |
Constructor to calculate uniform weight schemes; include Brigg's and super/uniform If multiField=True, the weight density calcution is done on a per field basis, else it is all fields combined. | |
VisImagingWeight (ROVisibilityIterator &vi, Block< Matrix< Float > > &grids, const String &rmode, const Quantity &noise, const Double robust, const Quantity &cellx, const Quantity &celly, const Bool multiField=False) | |
Constructor for uniform style weighting when the weight density is calculated elsewhere. | |
VisImagingWeight (vi::VisibilityIterator2 &vi, const String &rmode, const Quantity &noise, const Double robust, const Int nx, const Int ny, const Quantity &cellx, const Quantity &celly, const Int uBox, const Int vBox, const Bool multiField=False) | |
VisibilityIterator2 version of the above. | |
virtual | ~VisImagingWeight () |
VisImagingWeight & | operator= (const VisImagingWeight &imwgt) |
reference semantically = operator | |
virtual void | weightUniform (Matrix< Float > &imagingWeight, const Matrix< Bool > &flag, const Matrix< Double > &uvw, const Vector< Double > &frequency, const Matrix< Float > &weight, const Int msid, const Int fieldid) const |
Function to calculate the uniform style weights, include Brigg's for example imagingWeight should be sized by (nchan, row) already The fieldid and msid parameters must correspond to what VisBuffer or VisIter fieldId() and msId() returns. | |
virtual void | weightNatural (Matrix< Float > &imagingWeight, const Matrix< Bool > &flag, const Matrix< Float > &weight) const |
Natural weighting scheme imagingWeight should be sized by (nchan, row) already. | |
virtual void | weightNatural (Matrix< Float > &imagingWeight, const Matrix< Bool > &flag, const Matrix< Float > &weight) const |
*virtual void | weightRadial (Matrix< Float > &imagingWeight, const Matrix< Bool > &flag, const Matrix< Double > &uvw, const Vector< Double > &frequency, const Matrix< Float > &weight) const |
Radial weighting imagingWeight should be sized by (nchan, row) already. | |
virtual String | getType () const |
Get the type of weighting this object is on..will return one of "natural", "uniform", "radial". | |
virtual void | setFilter (const String &type, const Quantity &bmaj, const Quantity &bmin, const Quantity &bpa) |
setting uv filtering | |
virtual Bool | doFilter () const |
returns if uv filtering is set | |
virtual void | filter (Matrix< Float > &imWeight, const Matrix< Bool > &flag, const Matrix< Double > &uvw, const Vector< Double > &frequency, const Matrix< Float > &weight) const |
do uvfiltering...to be called after imaging weight is calculated | |
virtual Bool | getWeightDensity (Block< Matrix< Float > > &density) |
This is to get/set uniform style weight density...e.g if the caller wants to add densities from different pieces of data distributed via different VisibilityIterators. | |
virtual void | setWeightDensity (const Block< Matrix< Float > > &density) |
void | unPolChanWeight (Matrix< Float > &chanRowWt, const Cube< Float > &corrChanRowWt) const |
Form corr-indep weight by averaging parallel-hand weights. | |
Private Member Functions | |
void | cube2Matrix (const Cube< Bool > &fcube, Matrix< Bool > &fMat) |
Private Attributes | |
SimpleOrderedMap< String, Int > | multiFieldMap_p |
Block< Matrix< Float > > | gwt_p |
String | wgtType_p |
Float | uscale_p |
Float | vscale_p |
Vector< Float > | f2_p |
Vector< Float > | d2_p |
Int | uorigin_p |
Int | vorigin_p |
Int | nx_p |
Int | ny_p |
Bool | doFilter_p |
Double | cospa_p |
Double | sinpa_p |
Double | rbmaj_p |
Double | rbmin_p |
Double | robust_p |
String | rmode_p |
Quantity | noise_p |
Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do that.
Definition at line 69 of file VisImagingWeight.h.
casa::VisImagingWeight::VisImagingWeight | ( | ) |
empty constructor
casa::VisImagingWeight::VisImagingWeight | ( | const String & | type | ) |
Constructor to calculate natural and radial weights.
casa::VisImagingWeight::VisImagingWeight | ( | ROVisibilityIterator & | vi, | |
const String & | rmode, | |||
const Quantity & | noise, | |||
const Double | robust, | |||
const Int | nx, | |||
const Int | ny, | |||
const Quantity & | cellx, | |||
const Quantity & | celly, | |||
const Int | uBox, | |||
const Int | vBox, | |||
const Bool | multiField = False | |||
) |
Constructor to calculate uniform weight schemes; include Brigg's and super/uniform If multiField=True, the weight density calcution is done on a per field basis, else it is all fields combined.
casa::VisImagingWeight::VisImagingWeight | ( | ROVisibilityIterator & | vi, | |
Block< Matrix< Float > > & | grids, | |||
const String & | rmode, | |||
const Quantity & | noise, | |||
const Double | robust, | |||
const Quantity & | cellx, | |||
const Quantity & | celly, | |||
const Bool | multiField = False | |||
) |
Constructor for uniform style weighting when the weight density is calculated elsewhere.
casa::VisImagingWeight::VisImagingWeight | ( | vi::VisibilityIterator2 & | vi, | |
const String & | rmode, | |||
const Quantity & | noise, | |||
const Double | robust, | |||
const Int | nx, | |||
const Int | ny, | |||
const Quantity & | cellx, | |||
const Quantity & | celly, | |||
const Int | uBox, | |||
const Int | vBox, | |||
const Bool | multiField = False | |||
) |
VisibilityIterator2 version of the above.
..\. Note the VisibilityIterator can be readonly...thus recommended if you can as that will prevent unnecessary locks
virtual casa::VisImagingWeight::~VisImagingWeight | ( | ) | [virtual] |
void casa::VisImagingWeight::cube2Matrix | ( | const Cube< Bool > & | fcube, | |
Matrix< Bool > & | fMat | |||
) | [private] |
virtual Bool casa::VisImagingWeight::doFilter | ( | ) | const [virtual] |
returns if uv filtering is set
virtual void casa::VisImagingWeight::filter | ( | Matrix< Float > & | imWeight, | |
const Matrix< Bool > & | flag, | |||
const Matrix< Double > & | uvw, | |||
const Vector< Double > & | frequency, | |||
const Matrix< Float > & | weight | |||
) | const [virtual] |
do uvfiltering...to be called after imaging weight is calculated
virtual String casa::VisImagingWeight::getType | ( | ) | const [virtual] |
Get the type of weighting this object is on..will return one of "natural", "uniform", "radial".
virtual Bool casa::VisImagingWeight::getWeightDensity | ( | Block< Matrix< Float > > & | density | ) | [virtual] |
This is to get/set uniform style weight density...e.g if the caller wants to add densities from different pieces of data distributed via different VisibilityIterators.
VisImagingWeight& casa::VisImagingWeight::operator= | ( | const VisImagingWeight & | imwgt | ) |
reference semantically = operator
virtual void casa::VisImagingWeight::setFilter | ( | const String & | type, | |
const Quantity & | bmaj, | |||
const Quantity & | bmin, | |||
const Quantity & | bpa | |||
) | [virtual] |
setting uv filtering
virtual void casa::VisImagingWeight::setWeightDensity | ( | const Block< Matrix< Float > > & | density | ) | [virtual] |
void casa::VisImagingWeight::unPolChanWeight | ( | Matrix< Float > & | chanRowWt, | |
const Cube< Float > & | corrChanRowWt | |||
) | const |
Form corr-indep weight by averaging parallel-hand weights.
virtual void casa::VisImagingWeight::weightNatural | ( | Matrix< Float > & | imagingWeight, | |
const Matrix< Bool > & | flag, | |||
const Matrix< Float > & | weight | |||
) | const [virtual] |
virtual void casa::VisImagingWeight::weightNatural | ( | Matrix< Float > & | imagingWeight, | |
const Matrix< Bool > & | flag, | |||
const Matrix< Float > & | weight | |||
) | const [virtual] |
Natural weighting scheme imagingWeight should be sized by (nchan, row) already.
* virtual void casa::VisImagingWeight::weightRadial | ( | Matrix< Float > & | imagingWeight, | |
const Matrix< Bool > & | flag, | |||
const Matrix< Double > & | uvw, | |||
const Vector< Double > & | frequency, | |||
const Matrix< Float > & | weight | |||
) | const [virtual] |
Radial weighting imagingWeight should be sized by (nchan, row) already.
virtual void casa::VisImagingWeight::weightUniform | ( | Matrix< Float > & | imagingWeight, | |
const Matrix< Bool > & | flag, | |||
const Matrix< Double > & | uvw, | |||
const Vector< Double > & | frequency, | |||
const Matrix< Float > & | weight, | |||
const Int | msid, | |||
const Int | fieldid | |||
) | const [virtual] |
Function to calculate the uniform style weights, include Brigg's for example imagingWeight should be sized by (nchan, row) already The fieldid and msid parameters must correspond to what VisBuffer or VisIter fieldId() and msId() returns.
Double casa::VisImagingWeight::cospa_p [private] |
Definition at line 160 of file VisImagingWeight.h.
Vector<Float> casa::VisImagingWeight::d2_p [private] |
Definition at line 156 of file VisImagingWeight.h.
Bool casa::VisImagingWeight::doFilter_p [private] |
Definition at line 159 of file VisImagingWeight.h.
Vector<Float> casa::VisImagingWeight::f2_p [private] |
Definition at line 156 of file VisImagingWeight.h.
Block<Matrix<Float> > casa::VisImagingWeight::gwt_p [private] |
Definition at line 153 of file VisImagingWeight.h.
SimpleOrderedMap<String, Int> casa::VisImagingWeight::multiFieldMap_p [private] |
Definition at line 152 of file VisImagingWeight.h.
Quantity casa::VisImagingWeight::noise_p [private] |
Definition at line 166 of file VisImagingWeight.h.
Int casa::VisImagingWeight::nx_p [private] |
Definition at line 158 of file VisImagingWeight.h.
Int casa::VisImagingWeight::ny_p [private] |
Definition at line 158 of file VisImagingWeight.h.
Double casa::VisImagingWeight::rbmaj_p [private] |
Definition at line 162 of file VisImagingWeight.h.
Double casa::VisImagingWeight::rbmin_p [private] |
Definition at line 163 of file VisImagingWeight.h.
String casa::VisImagingWeight::rmode_p [private] |
Definition at line 165 of file VisImagingWeight.h.
Double casa::VisImagingWeight::robust_p [private] |
Definition at line 164 of file VisImagingWeight.h.
Double casa::VisImagingWeight::sinpa_p [private] |
Definition at line 161 of file VisImagingWeight.h.
Int casa::VisImagingWeight::uorigin_p [private] |
Definition at line 157 of file VisImagingWeight.h.
Float casa::VisImagingWeight::uscale_p [private] |
Definition at line 155 of file VisImagingWeight.h.
Int casa::VisImagingWeight::vorigin_p [private] |
Definition at line 157 of file VisImagingWeight.h.
Float casa::VisImagingWeight::vscale_p [private] |
Definition at line 155 of file VisImagingWeight.h.
String casa::VisImagingWeight::wgtType_p [private] |
Definition at line 154 of file VisImagingWeight.h.