#include <MultiTermFTNew.h>
Public Member Functions | |
| MultiTermFTNew (CountedPtr< FTMachine > &subftm, Int nterms=1, Bool forward=False) | |
| Construct using an existing FT-Machine. | |
| MultiTermFTNew (const RecordInterface &stateRec) | |
| Construct from a Record containing the MultiTermFTNew state. | |
| MultiTermFTNew (const MultiTermFTNew &other) | |
| Copy constructor. | |
| MultiTermFTNew & | operator= (const MultiTermFTNew &other) |
| Assignment operator --- leave it as the default. | |
| ~MultiTermFTNew () | |
| Destructor. | |
| void | initializeToVis (ImageInterface< Complex > &, const vi::VisBuffer2 &) |
| Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here. | |
| virtual void | initializeToVisNew (const vi::VisBuffer2 &vb, CountedPtr< SIImageStore > imstore) |
| Vectorized InitializeToVis void initializeToVis(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec,PtrBlock<SubImage<Float> *> & modelImageVec, PtrBlock<SubImage<Float> *>& weightImageVec, PtrBlock<SubImage<Float> *>& fluxScaleVec, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb);. | |
| void | finalizeToVis () |
| Called at the end of de-gridding : subftm->finalizeToVis(). | |
| void | initializeToSky (ImageInterface< Complex > &, Matrix< Float > &, const vi::VisBuffer2 &) |
| Called at the start of gridding : subftm->initializeToSky(). | |
| virtual void | initializeToSkyNew (const Bool dopsf, const vi::VisBuffer2 &vb, CountedPtr< SIImageStore > imstore) |
| void initializeToSky(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb, const Bool dopsf); | |
| void | finalizeToSky () |
| Called at the end of gridding : subftm->finalizeToSky(). | |
| virtual void | finalizeToSkyNew (Bool dopsf, const vi::VisBuffer2 &vb, CountedPtr< SIImageStore > imstore) |
| void finalizeToSky(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec, PtrBlock<SubImage<Float> *> & resImageVec, PtrBlock<SubImage<Float> *>& weightImageVec, PtrBlock<SubImage<Float> *>& fluxScaleVec, Bool dopsf, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb); | |
| void | get (vi::VisBuffer2 &vb, Int row=-1) |
| void normalizeToSky(ImageInterface<Complex>& compImage, ImageInterface<Float>& resImage, ImageInterface<Float>& weightImage, Bool dopsf, Matrix<Float>& weights) {throw(AipsError("MultiTermFTNew::normalizeToSky should not get called !"));}; | |
| void | put (vi::VisBuffer2 &vb, Int row=-1, Bool dopsf=False, refim::FTMachine::Type type=refim::FTMachine::OBSERVED) |
| Modify imaging weights with Taylor-weights and do gridding via subftm->put(). | |
| void | put (const vi::VisBuffer2 &, Int, Bool, refim::FTMachine::Type) |
| Have a const version for compatibility with other FTMs. | |
| virtual void | ComputeResiduals (vi::VisBuffer2 &vb, Bool useCorrected) |
| Calculate residual visibilities if possible. | |
| void | makeImage (refim::FTMachine::Type type, vi::VisibilityIterator2 &vs, ImageInterface< Complex > &image, Matrix< Float > &weight) |
| Make an image : subftm->makeImage(). | |
| ImageInterface< Complex > & | getImage (Matrix< Float > &, Bool=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 Bool | useWeightImage () |
| All FTMachines that fill weightimage, need to set this. | |
| void | getWeightImage (ImageInterface< Float > &weightImage, Matrix< Float > &weights) |
| Get the final weights image. | |
| virtual Bool | toRecord (String &error, RecordInterface &outRec, Bool withImage=False, const String diskimage="") |
| {throw(AipsError("MultiTermFTNew::getWeightImage() should not be called"));} | |
| 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. | |
| void | printFTTypes () |
| FTMachine * | cloneFTM () |
| clone copy should make it pure virtual forcing every ftm to have a cloner | |
| virtual void | setDryRun (Bool val) |
| virtual Bool | isUsingCFCache () |
Protected Member Functions | |
| virtual void | initMaps (const vi::VisBuffer2 &vb) |
| have to call the initmaps of subftm | |
| CountedPtr< FTMachine > | getNewFTM (const CountedPtr< FTMachine > &ftm) |
| Instantiate a new sub FTM. | |
| Bool | modifyVisWeights (vi::VisBuffer2 &vb, uInt thisterm) |
| Multiply Imaging weights by Taylor-function weights - during "put". | |
| Bool | modifyModelVis (vi::VisBuffer2 &vb, uInt thisterm) |
| Multiply model visibilities by Taylor-function weights - during "get". | |
| void | restoreImagingWeights (vi::VisBuffer2 &vb) |
| Restore vb.imagingweights to the original. | |
| Bool | storeAsImg (String fileName, ImageInterface< Float > &theImg) |
| Helper function to write ImageInterfaces to disk. | |
Protected Attributes | |
| Cube< Complex > | modviscube_p |
| New MTFT specific internal parameters and functions *uInt | nterms_p |
| New MTFT specific internal parameters and functions *uInt | psfnterms_p |
| Double | reffreq_p |
| Matrix< Float > | imweights_p |
| String | machineName_p |
| Block< CountedPtr< FTMachine > > | subftms_p |
| Bool donePSF_p;. | |
Definition at line 56 of file MultiTermFTNew.h.
| casa::refim::MultiTermFTNew::MultiTermFTNew | ( | CountedPtr< FTMachine > & | subftm, | |
| Int | nterms = 1, |
|||
| Bool | forward = False | |||
| ) |
Construct using an existing FT-Machine.
| casa::refim::MultiTermFTNew::MultiTermFTNew | ( | const RecordInterface & | stateRec | ) |
Construct from a Record containing the MultiTermFTNew state.
| casa::refim::MultiTermFTNew::MultiTermFTNew | ( | const MultiTermFTNew & | other | ) |
Copy constructor.
This first calls the default "=" operator, and then instantiates objects for member pointers.
| casa::refim::MultiTermFTNew::~MultiTermFTNew | ( | ) |
Destructor.
| FTMachine* casa::refim::MultiTermFTNew::cloneFTM | ( | ) | [virtual] |
clone copy should make it pure virtual forcing every ftm to have a cloner
Reimplemented from casa::refim::FTMachine.
| virtual void casa::refim::MultiTermFTNew::ComputeResiduals | ( | vi::VisBuffer2 & | vb, | |
| Bool | useCorrected | |||
| ) | [virtual] |
Calculate residual visibilities if possible.
The purpose is to allow rGridFT to make this multi-threaded
Implements casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::finalizeToSky | ( | ) | [inline, virtual] |
Called at the end of gridding : subftm->finalizeToSky().
Implements casa::refim::FTMachine.
Definition at line 100 of file MultiTermFTNew.h.
| virtual void casa::refim::MultiTermFTNew::finalizeToSkyNew | ( | Bool | dopsf, | |
| const vi::VisBuffer2 & | vb, | |||
| CountedPtr< SIImageStore > | imstore | |||
| ) | [virtual] |
void finalizeToSky(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec, PtrBlock<SubImage<Float> *> & resImageVec, PtrBlock<SubImage<Float> *>& weightImageVec, PtrBlock<SubImage<Float> *>& fluxScaleVec, Bool dopsf, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb);
Reimplemented from casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::finalizeToVis | ( | ) | [virtual] |
Called at the end of de-gridding : subftm->finalizeToVis().
Implements casa::refim::FTMachine.
| virtual Bool casa::refim::MultiTermFTNew::fromRecord | ( | String & | error, | |
| const RecordInterface & | inRec | |||
| ) | [virtual] |
Reimplemented from casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::get | ( | vi::VisBuffer2 & | vb, | |
| Int | row = -1 | |||
| ) | [virtual] |
void normalizeToSky(ImageInterface<Complex>& compImage, ImageInterface<Float>& resImage, ImageInterface<Float>& weightImage, Bool dopsf, Matrix<Float>& weights) {throw(AipsError("MultiTermFTNew::normalizeToSky should not get called !"));};
Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights
Implements casa::refim::FTMachine.
| ImageInterface<Complex>& casa::refim::MultiTermFTNew::getImage | ( | Matrix< Float > & | , | |
| Bool | = True | |||
| ) | [inline, 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() ImageInterface<Complex>& getImage(Matrix<Float>& weights, Bool normalize=True) {return getImage(weights,normalize,0);}; ImageInterface<Complex>& getImage(Matrix<Float>& weights, Bool normalize=True, const Int taylorindex=0);
Implements casa::refim::FTMachine.
Definition at line 139 of file MultiTermFTNew.h.
| CountedPtr<FTMachine> casa::refim::MultiTermFTNew::getNewFTM | ( | const CountedPtr< FTMachine > & | ftm | ) | [protected] |
Instantiate a new sub FTM.
| void casa::refim::MultiTermFTNew::getWeightImage | ( | ImageInterface< Float > & | weightImage, | |
| Matrix< Float > & | weights | |||
| ) | [inline, virtual] |
Get the final weights image.
Implements casa::refim::FTMachine.
Definition at line 145 of file MultiTermFTNew.h.
References AlwaysAssert, and subftms_p.
| void casa::refim::MultiTermFTNew::initializeToSky | ( | ImageInterface< Complex > & | , | |
| Matrix< Float > & | , | |||
| const vi::VisBuffer2 & | ||||
| ) | [inline, virtual] |
Called at the start of gridding : subftm->initializeToSky().
Implements casa::refim::FTMachine.
Definition at line 90 of file MultiTermFTNew.h.
| virtual void casa::refim::MultiTermFTNew::initializeToSkyNew | ( | const Bool | dopsf, | |
| const vi::VisBuffer2 & | vb, | |||
| CountedPtr< SIImageStore > | imstore | |||
| ) | [virtual] |
void initializeToSky(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb, const Bool dopsf);
Reimplemented from casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::initializeToVis | ( | ImageInterface< Complex > & | , | |
| const vi::VisBuffer2 & | ||||
| ) | [inline, virtual] |
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here.
Implements casa::refim::FTMachine.
Definition at line 78 of file MultiTermFTNew.h.
| virtual void casa::refim::MultiTermFTNew::initializeToVisNew | ( | const vi::VisBuffer2 & | vb, | |
| CountedPtr< SIImageStore > | imstore | |||
| ) | [virtual] |
Vectorized InitializeToVis void initializeToVis(Block<CountedPtr<ImageInterface<Complex> > > & compImageVec,PtrBlock<SubImage<Float> *> & modelImageVec, PtrBlock<SubImage<Float> *>& weightImageVec, PtrBlock<SubImage<Float> *>& fluxScaleVec, Block<Matrix<Float> >& weightsVec, const VisBuffer& vb);.
Reimplemented from casa::refim::FTMachine.
| virtual void casa::refim::MultiTermFTNew::initMaps | ( | const vi::VisBuffer2 & | vb | ) | [protected, virtual] |
have to call the initmaps of subftm
Reimplemented from casa::refim::FTMachine.
| virtual Bool casa::refim::MultiTermFTNew::isFourier | ( | ) | [inline, virtual] |
Various small inline functions.
Reimplemented from casa::refim::FTMachine.
Definition at line 156 of file MultiTermFTNew.h.
References casacore::True.
| virtual Bool casa::refim::MultiTermFTNew::isUsingCFCache | ( | ) | [inline, virtual] |
Reimplemented from casa::refim::FTMachine.
Definition at line 177 of file MultiTermFTNew.h.
References casacore::False, isUsingCFCache(), and subftms_p.
Referenced by isUsingCFCache().
| void casa::refim::MultiTermFTNew::makeImage | ( | refim::FTMachine::Type | type, | |
| vi::VisibilityIterator2 & | vs, | |||
| ImageInterface< Complex > & | image, | |||
| Matrix< Float > & | weight | |||
| ) | [virtual] |
Make an image : subftm->makeImage().
Reimplemented from casa::refim::FTMachine.
| Bool casa::refim::MultiTermFTNew::modifyModelVis | ( | vi::VisBuffer2 & | vb, | |
| uInt | thisterm | |||
| ) | [protected] |
Multiply model visibilities by Taylor-function weights - during "get".
| Bool casa::refim::MultiTermFTNew::modifyVisWeights | ( | vi::VisBuffer2 & | vb, | |
| uInt | thisterm | |||
| ) | [protected] |
Multiply Imaging weights by Taylor-function weights - during "put".
| virtual String casa::refim::MultiTermFTNew::name | ( | ) | const [inline, virtual] |
Return the name of the machine.
Implements casa::refim::FTMachine.
Definition at line 158 of file MultiTermFTNew.h.
References machineName_p.
| MultiTermFTNew& casa::refim::MultiTermFTNew::operator= | ( | const MultiTermFTNew & | other | ) |
Assignment operator --- leave it as the default.
Reimplemented from casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::printFTTypes | ( | ) | [inline] |
Definition at line 161 of file MultiTermFTNew.h.
References casacore::nelements(), and subftms_p.
| void casa::refim::MultiTermFTNew::put | ( | const vi::VisBuffer2 & | , | |
| Int | , | |||
| Bool | , | |||
| refim::FTMachine::Type | ||||
| ) | [inline, virtual] |
Have a const version for compatibility with other FTMs.
. Throw an exception if called.
Implements casa::refim::FTMachine.
Definition at line 118 of file MultiTermFTNew.h.
| void casa::refim::MultiTermFTNew::put | ( | vi::VisBuffer2 & | vb, | |
| Int | row = -1, |
|||
| Bool | dopsf = False, |
|||
| refim::FTMachine::Type | type = refim::FTMachine::OBSERVED | |||
| ) | [virtual] |
Modify imaging weights with Taylor-weights and do gridding via subftm->put().
Reimplemented from casa::refim::FTMachine.
| void casa::refim::MultiTermFTNew::restoreImagingWeights | ( | vi::VisBuffer2 & | vb | ) | [protected] |
Restore vb.imagingweights to the original.
| virtual void casa::refim::MultiTermFTNew::setDryRun | ( | Bool | val | ) | [inline, virtual] |
cerr << "MTFTMN: " << isDryRun << endl;
Reimplemented from casa::refim::FTMachine.
Definition at line 170 of file MultiTermFTNew.h.
References casa::refim::FTMachine::isDryRun, and subftms_p.
| virtual void casa::refim::MultiTermFTNew::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::refim::FTMachine.
Definition at line 159 of file MultiTermFTNew.h.
| virtual void casa::refim::MultiTermFTNew::setNoPadding | ( | Bool | nopad | ) | [inline, virtual] |
To make sure no padding is used in certain gridders.
Reimplemented from casa::refim::FTMachine.
Definition at line 157 of file MultiTermFTNew.h.
References subftms_p.
| Bool casa::refim::MultiTermFTNew::storeAsImg | ( | String | fileName, | |
| ImageInterface< Float > & | theImg | |||
| ) | [protected] |
Helper function to write ImageInterfaces to disk.
| virtual Bool casa::refim::MultiTermFTNew::toRecord | ( | String & | error, | |
| RecordInterface & | outRec, | |||
| Bool | withImage = False, |
|||
| const String | diskimage = "" | |||
| ) | [virtual] |
{throw(AipsError("MultiTermFTNew::getWeightImage() should not be called"));}
Save and restore the MultiTermFTNew to and from a record
Reimplemented from casa::refim::FTMachine.
| virtual Bool casa::refim::MultiTermFTNew::useWeightImage | ( | ) | [inline, virtual] |
All FTMachines that fill weightimage, need to set this.
TODO : Make this pure virtual.
Reimplemented from casa::refim::FTMachine.
Definition at line 142 of file MultiTermFTNew.h.
References AlwaysAssert, and subftms_p.
Matrix<Float> casa::refim::MultiTermFTNew::imweights_p [protected] |
Definition at line 201 of file MultiTermFTNew.h.
String casa::refim::MultiTermFTNew::machineName_p [protected] |
Definition at line 202 of file MultiTermFTNew.h.
Referenced by name().
Cube<Complex> casa::refim::MultiTermFTNew::modviscube_p [protected] |
Definition at line 196 of file MultiTermFTNew.h.
New MTFT specific internal parameters and functions* uInt casa::refim::MultiTermFTNew::nterms_p [protected] |
Definition at line 199 of file MultiTermFTNew.h.
New MTFT specific internal parameters and functions* uInt casa::refim::MultiTermFTNew::psfnterms_p [protected] |
Definition at line 199 of file MultiTermFTNew.h.
Double casa::refim::MultiTermFTNew::reffreq_p [protected] |
Definition at line 200 of file MultiTermFTNew.h.
Block< CountedPtr<FTMachine> > casa::refim::MultiTermFTNew::subftms_p [protected] |
Bool donePSF_p;.
Definition at line 206 of file MultiTermFTNew.h.
Referenced by getWeightImage(), isUsingCFCache(), printFTTypes(), setDryRun(), setNoPadding(), and useWeightImage().
1.6.1