casa
$Rev:20696$
|
#include <MultiTermFT.h>
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. | |
MultiTermFT & | operator= (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< Float > | imweights_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 |
Definition at line 52 of file MultiTermFT.h.
casa::MultiTermFT::MultiTermFT | ( | FTMachine * | subftm, |
String | subFTMname, | ||
Int | nterms = 1 , |
||
Double | reffreq = 0.0 |
||
) |
Construct using an existing FT-Machine.
casa::MultiTermFT::MultiTermFT | ( | const RecordInterface & | stateRec | ) |
Construct from a Record containing the MultiTermFT state.
casa::MultiTermFT::MultiTermFT | ( | const MultiTermFT & | other | ) |
Copy constructor.
This first calls the default "=" operator, and then instantiates objects for member pointers.
Destructor.
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.
void casa::MultiTermFT::finalizeToSky | ( | ) | [virtual] |
Called at the end of gridding : subftm->finalizeToSky()
Implements casa::FTMachine.
void casa::MultiTermFT::finalizeToVis | ( | ) | [virtual] |
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.
Bool casa::MultiTermFT::modifyModelVis | ( | VisBuffer & | vb | ) | [protected] |
Multiply model visibilities by Taylor-function weights - during "get".
Bool casa::MultiTermFT::modifyVisWeights | ( | VisBuffer & | vb | ) | [protected] |
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.
Bool casa::MultiTermFT::restoreImagingWeights | ( | VisBuffer & | vb | ) | [protected] |
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.
Bool casa::MultiTermFT::dbg_p [protected] |
Definition at line 153 of file MultiTermFT.h.
Bool casa::MultiTermFT::dotime_p [protected] |
Definition at line 153 of file MultiTermFT.h.
Matrix<Float> casa::MultiTermFT::imweights_p [protected] |
Definition at line 149 of file MultiTermFT.h.
String casa::MultiTermFT::machineName_p [protected] |
Definition at line 151 of file MultiTermFT.h.
Referenced by name().
Int casa::MultiTermFT::nterms_p [protected] |
Definition at line 145 of file MultiTermFT.h.
Double casa::MultiTermFT::reffreq_p [protected] |
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().
String casa::MultiTermFT::subFTMname_p [protected] |
Definition at line 144 of file MultiTermFT.h.
Double casa::MultiTermFT::sumwt_p [protected] |
Definition at line 150 of file MultiTermFT.h.
Int casa::MultiTermFT::thisterm_p [protected] |
Definition at line 146 of file MultiTermFT.h.
Referenced by setMiscInfo().
Double casa::MultiTermFT::time_get [protected] |
Definition at line 155 of file MultiTermFT.h.
Double casa::MultiTermFT::time_put [protected] |
Definition at line 155 of file MultiTermFT.h.
Double casa::MultiTermFT::time_res [protected] |
Definition at line 155 of file MultiTermFT.h.
Timer casa::MultiTermFT::tmr_p [protected] |
Definition at line 154 of file MultiTermFT.h.