casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
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.
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 Vector< 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 Vector< Float > &weight) const
 Natural weighting scheme imagingWeight should be sized by (nchan, row) already.
virtual void weightRadial (Matrix< Float > &imagingWeight, const Matrix< Bool > &flag, const Matrix< Double > &uvw, const Vector< Double > &frequency, const Vector< 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 Vector< 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)

Private Attributes

SimpleOrderedMap< String, IntmultiFieldMap_p
Block< Matrix< Float > > gwt_p
String wgtType_p
Float uscale_p
Float vscale_p
Vector< Floatf2_p
Vector< Floatd2_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 68 of file VisImagingWeight.h.


Constructor & Destructor Documentation

empty constructor

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.


Member Function Documentation

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 Vector< 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]
virtual void casa::VisImagingWeight::weightNatural ( Matrix< Float > &  imagingWeight,
const Matrix< Bool > &  flag,
const Vector< 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 Vector< 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 Vector< 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 137 of file VisImagingWeight.h.

Definition at line 133 of file VisImagingWeight.h.

Definition at line 136 of file VisImagingWeight.h.

Definition at line 133 of file VisImagingWeight.h.

Definition at line 130 of file VisImagingWeight.h.

Definition at line 129 of file VisImagingWeight.h.

Definition at line 143 of file VisImagingWeight.h.

Definition at line 135 of file VisImagingWeight.h.

Definition at line 135 of file VisImagingWeight.h.

Definition at line 139 of file VisImagingWeight.h.

Definition at line 140 of file VisImagingWeight.h.

Definition at line 142 of file VisImagingWeight.h.

Definition at line 141 of file VisImagingWeight.h.

Definition at line 138 of file VisImagingWeight.h.

Definition at line 134 of file VisImagingWeight.h.

Definition at line 132 of file VisImagingWeight.h.

Definition at line 134 of file VisImagingWeight.h.

Definition at line 132 of file VisImagingWeight.h.

Definition at line 131 of file VisImagingWeight.h.


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