casa::refim::MultiTermFTNew Class Reference

#include <MultiTermFTNew.h>

Inheritance diagram for casa::refim::MultiTermFTNew:
casa::refim::FTMachine

List of all members.

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.
MultiTermFTNewoperator= (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 ()
FTMachinecloneFTM ()
 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< FTMachinegetNewFTM (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;.

Detailed Description

Definition at line 56 of file MultiTermFTNew.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

Matrix<Float> casa::refim::MultiTermFTNew::imweights_p [protected]

Definition at line 201 of file MultiTermFTNew.h.

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.

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().


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