casa::VisImagingWeight Class Reference

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>

List of all members.

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 ()
VisImagingWeightoperator= (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

Detailed Description

Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do that.

Etymology

Synopsis

Example

Motivation

Definition at line 69 of file VisImagingWeight.h.


Constructor & Destructor Documentation

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]

Member Function Documentation

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.


Member Data Documentation

Definition at line 160 of file VisImagingWeight.h.

Vector<Float> casa::VisImagingWeight::d2_p [private]

Definition at line 156 of file VisImagingWeight.h.

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.

Definition at line 158 of file VisImagingWeight.h.

Definition at line 158 of file VisImagingWeight.h.

Definition at line 162 of file VisImagingWeight.h.

Definition at line 163 of file VisImagingWeight.h.

Definition at line 165 of file VisImagingWeight.h.

Definition at line 164 of file VisImagingWeight.h.

Definition at line 161 of file VisImagingWeight.h.

Definition at line 157 of file VisImagingWeight.h.

Definition at line 155 of file VisImagingWeight.h.

Definition at line 157 of file VisImagingWeight.h.

Definition at line 155 of file VisImagingWeight.h.

Definition at line 154 of file VisImagingWeight.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1