casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Protected Attributes
casa::MultiTermFT Class Reference

#include <MultiTermFT.h>

Inheritance diagram for casa::MultiTermFT:
casa::FTMachine

List of all members.

Public Member Functions

 MultiTermFT (FTMachine *subftm, String subFTMname, Int nterms=1, Double reffreq=0.0)
 Construct using an existing FT-Machine.
 MultiTermFT (const RecordInterface &stateRec)
 Construct from a Record containing the MultiTermFT state.
 MultiTermFT (const MultiTermFT &other)
 Copy constructor.
MultiTermFToperator= (const MultiTermFT &other)
 Assignment operator --- leave it as the default.
 ~MultiTermFT ()
 Destructor.
void initializeToVis (ImageInterface< Complex > &image, const VisBuffer &vb)
 Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here.
void finalizeToVis ()
 Called at the end of de-gridding : subftm->finalizeToVis()
void initializeToSky (ImageInterface< Complex > &image, Matrix< Float > &weight, const VisBuffer &vb)
 Called at the start of gridding : subftm->initializeToSky()
void finalizeToSky ()
 Called at the end of gridding : subftm->finalizeToSky()
void get (VisBuffer &vb, Int row=-1)
 Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights.
void put (VisBuffer &vb, Int row=-1, Bool dopsf=False, FTMachine::Type type=FTMachine::OBSERVED)
 Modify imaging weights with Taylor-weights and do gridding via subftm->put()
void put (const VisBuffer &, Int, Bool, FTMachine::Type)
 Have a const version for compatibility with other FTMs.
virtual void ComputeResiduals (VisBuffer &vb, Bool useCorrected)
 Calculate residual visibilities if possible.
void makeImage (FTMachine::Type type, VisSet &vs, ImageInterface< Complex > &image, Matrix< Float > &weight)
 Make an image : subftm->makeImage()
ImageInterface< Complex > & getImage (Matrix< Float > &, Bool normalize=True)
 Get the final image: do the Fourier transform grid-correct, then optionally normalize by the summed weights Note : Post-gridding residual-image divisions by PBs will go here.
virtual void normalizeImage (Lattice< Complex > &, const Matrix< Double > &, Lattice< Float > &, Bool)
 Place-holder for possible use with AWProject and AWProjectWB FTMs.
void getWeightImage (ImageInterface< Float > &, Matrix< Float > &)
 Get the final weights image - this will hold PB2.
virtual Bool toRecord (String &error, RecordInterface &outRec, Bool withImage=False)
 Save and restore the MultiTermFT to and from a record.
virtual Bool fromRecord (String &error, const RecordInterface &inRec)
virtual Bool isFourier ()
 Various small inline functions.
virtual void setNoPadding (Bool nopad)
 To make sure no padding is used in certain gridders.
virtual String name () const
 Return the name of the machine.
virtual void setMiscInfo (const Int qualifier)
 set the order of the Taylor term for MFS this is to tell A-Projection to qualify the accumulated avgPB for each Taylor term in the CFCache.

Protected Member Functions

Bool modifyVisWeights (VisBuffer &vb)
 Multiply Imaging weights by Taylor-function weights - during "put".
Bool modifyModelVis (VisBuffer &vb)
 Multiply model visibilities by Taylor-function weights - during "get".
Bool restoreImagingWeights (VisBuffer &vb)
 Restore vb.imagingweights to the original.
virtual void initMaps (const VisBuffer &vb)
 have to call the initmaps of subftm

Protected Attributes

New MTFT specific internal
parameters and functions
*CountedPtr< FTMachine
subftm_p
String subFTMname_p
Int nterms_p
Int thisterm_p
Double reffreq_p
Matrix< Floatimweights_p
Double sumwt_p
String machineName_p
Bool dbg_p
Bool dotime_p
Timer tmr_p
Double time_get
Double time_put
Double time_res

Detailed Description

Definition at line 52 of file MultiTermFT.h.


Constructor & Destructor Documentation

casa::MultiTermFT::MultiTermFT ( FTMachine subftm,
String  subFTMname,
Int  nterms = 1,
Double  reffreq = 0.0 
)

Construct using an existing FT-Machine.

Construct from a Record containing the MultiTermFT state.

Copy constructor.

This first calls the default "=" operator, and then instantiates objects for member pointers.

Destructor.


Member Function Documentation

virtual void casa::MultiTermFT::ComputeResiduals ( VisBuffer vb,
Bool  useCorrected 
) [virtual]

Calculate residual visibilities if possible.

The purpose is to allow rGridFT to make this multi-threaded

Implements casa::FTMachine.

Called at the end of gridding : subftm->finalizeToSky()

Implements casa::FTMachine.

Called at the end of de-gridding : subftm->finalizeToVis()

Implements casa::FTMachine.

virtual Bool casa::MultiTermFT::fromRecord ( String error,
const RecordInterface inRec 
) [virtual]

Reimplemented from casa::FTMachine.

void casa::MultiTermFT::get ( VisBuffer vb,
Int  row = -1 
) [virtual]

Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights.

Implements casa::FTMachine.

ImageInterface<Complex>& casa::MultiTermFT::getImage ( Matrix< Float > &  ,
Bool  normalize = True 
) [virtual]

Get the final image: do the Fourier transform grid-correct, then optionally normalize by the summed weights Note : Post-gridding residual-image divisions by PBs will go here.

For now, it just calls subftm->getImage()

Implements casa::FTMachine.

void casa::MultiTermFT::getWeightImage ( ImageInterface< Float > &  ,
Matrix< Float > &   
) [virtual]

Get the final weights image - this will hold PB2.

Implements casa::FTMachine.

void casa::MultiTermFT::initializeToSky ( ImageInterface< Complex > &  image,
Matrix< Float > &  weight,
const VisBuffer vb 
) [virtual]

Called at the start of gridding : subftm->initializeToSky()

Implements casa::FTMachine.

void casa::MultiTermFT::initializeToVis ( ImageInterface< Complex > &  image,
const VisBuffer vb 
) [virtual]

Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here.

Implements casa::FTMachine.

virtual void casa::MultiTermFT::initMaps ( const VisBuffer vb) [protected, virtual]

have to call the initmaps of subftm

Reimplemented from casa::FTMachine.

virtual Bool casa::MultiTermFT::isFourier ( ) [inline, virtual]

Various small inline functions.

Reimplemented from casa::FTMachine.

Definition at line 127 of file MultiTermFT.h.

References casa::True.

void casa::MultiTermFT::makeImage ( FTMachine::Type  type,
VisSet vs,
ImageInterface< Complex > &  image,
Matrix< Float > &  weight 
) [virtual]

Make an image : subftm->makeImage()

Reimplemented from casa::FTMachine.

Multiply model visibilities by Taylor-function weights - during "get".

Multiply Imaging weights by Taylor-function weights - during "put".

virtual String casa::MultiTermFT::name ( ) const [inline, virtual]

Return the name of the machine.

Implements casa::FTMachine.

Definition at line 129 of file MultiTermFT.h.

References machineName_p.

virtual void casa::MultiTermFT::normalizeImage ( Lattice< Complex > &  ,
const Matrix< Double > &  ,
Lattice< Float > &  ,
Bool   
) [inline, virtual]

Place-holder for possible use with AWProject and AWProjectWB FTMs.

Reimplemented from casa::FTMachine.

Definition at line 113 of file MultiTermFT.h.

MultiTermFT& casa::MultiTermFT::operator= ( const MultiTermFT other)

Assignment operator --- leave it as the default.

void casa::MultiTermFT::put ( VisBuffer vb,
Int  row = -1,
Bool  dopsf = False,
FTMachine::Type  type = FTMachine::OBSERVED 
) [virtual]

Modify imaging weights with Taylor-weights and do gridding via subftm->put()

Reimplemented from casa::FTMachine.

void casa::MultiTermFT::put ( const VisBuffer ,
Int  ,
Bool  ,
FTMachine::Type   
) [inline, virtual]

Have a const version for compatibility with other FTMs.

. Throw an exception if called.

Implements casa::FTMachine.

Definition at line 92 of file MultiTermFT.h.

Restore vb.imagingweights to the original.

virtual void casa::MultiTermFT::setMiscInfo ( const Int  qualifier) [inline, virtual]

set the order of the Taylor term for MFS this is to tell A-Projection to qualify the accumulated avgPB for each Taylor term in the CFCache.

Implements casa::FTMachine.

Definition at line 130 of file MultiTermFT.h.

References thisterm_p.

virtual void casa::MultiTermFT::setNoPadding ( Bool  nopad) [inline, virtual]

To make sure no padding is used in certain gridders.

Reimplemented from casa::FTMachine.

Definition at line 128 of file MultiTermFT.h.

References casa::FTMachine::setNoPadding(), and subftm_p.

virtual Bool casa::MultiTermFT::toRecord ( String error,
RecordInterface outRec,
Bool  withImage = False 
) [virtual]

Save and restore the MultiTermFT to and from a record.

Reimplemented from casa::FTMachine.


Member Data Documentation

Definition at line 153 of file MultiTermFT.h.

Definition at line 153 of file MultiTermFT.h.

Definition at line 149 of file MultiTermFT.h.

Definition at line 151 of file MultiTermFT.h.

Referenced by name().

Definition at line 145 of file MultiTermFT.h.

Definition at line 147 of file MultiTermFT.h.

New MTFT specific internal parameters and functions* CountedPtr<FTMachine> casa::MultiTermFT::subftm_p [protected]

Definition at line 143 of file MultiTermFT.h.

Referenced by setNoPadding().

Definition at line 144 of file MultiTermFT.h.

Definition at line 150 of file MultiTermFT.h.

Definition at line 146 of file MultiTermFT.h.

Referenced by setMiscInfo().

Definition at line 155 of file MultiTermFT.h.

Definition at line 155 of file MultiTermFT.h.

Definition at line 155 of file MultiTermFT.h.

Definition at line 154 of file MultiTermFT.h.


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