29 #ifndef SYNTHESIS_MULTITERMFTNEW_H
30 #define SYNTHESIS_MULTITERMFTNEW_H
125 {
throw(
casacore::AipsError(
"MultiTermFTNew::put called with a const vb. This FTM needs to modify the vb."));};
153 subftms_p[0]->getWeightImage(weightImage, weights);}
169 cout <<
"** Number of FTs : " <<
subftms_p.nelements() <<
" -- " ;
171 cout << tix <<
" : " << (
subftms_p[tix])->name() <<
" " ;
void put(VisBuffer &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=FTMachine::OBSERVED)
Modify imaging weights with Taylor-weights and do gridding via subftm->put()
virtual casacore::Bool useWeightImage()
All FTMachines that fill weightimage, need to set this.
void makeImage(FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
Make an image : subftm->makeImage()
casacore::Block< casacore::CountedPtr< FTMachine > > subftms_p
casacore::Bool donePSF_p;
New MTFT specific internal parameters and functions *casacore::uInt psfnterms_p
virtual void setMiscInfo(const casacore::Int qualifier)
set the order of the Taylor term for MFS this is to tell A-casacore::Projection to qualify the accumu...
casacore::Matrix< casacore::Float > imweights_p
virtual void ComputeResiduals(VisBuffer &vb, casacore::Bool useCorrected)
Calculate residual visibilities if possible.
casacore::Bool storeAsImg(casacore::String fileName, casacore::ImageInterface< casacore::Float > &theImg)
Helper function to write ImageInterfaces to disk.
virtual Type type()
Return the type enum.
void put(const VisBuffer &, casacore::Int=-1, casacore::Bool=false, FTMachine::Type=FTMachine::OBSERVED)
Have a const version for compatibility with other FTMs.
virtual void initializeToVisNew(const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
Vectorized InitializeToVis void initializeToVis(casacore::Block<casacore::CountedPtr<casacore::ImageI...
virtual void setNoPadding(casacore::Bool nopad)
To make sure no padding is used in certain gridders.
void restoreImagingWeights(VisBuffer &vb)
Restore vb.imagingweights to the original.
casacore::ImageInterface< casacore::Complex > * image
virtual void initializeToSkyNew(const casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
void initializeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex>...
~MultiTermFTNew()
Destructor.
casacore::Bool modifyVisWeights(VisBuffer &vb, casacore::uInt thisterm)
Multiply Imaging weights by Taylor-function weights - during "put".
void getWeightImage(casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)
Get the final weights image.
Referenced counted pointer for constant data.
casacore::CountedPtr< FTMachine > getNewFTM(const casacore::CountedPtr< FTMachine > &ftm)
Instantiate a new sub FTM.
virtual void finalizeToSkyNew(casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
void finalizeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> >...
virtual casacore::Bool toRecord(casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="")
{throw(casacore::AipsError("MultiTermFTNew::getWeightImage() should not be called"));} ...
FTMachine * cloneFTM()
clone copy the default cloner clones via a Record copy
casacore::Double reffreq_p
LatticeExprNode nelements(const LatticeExprNode &expr)
1-argument function to get the number of elements in a lattice.
Type
Types of known Images that may be made using the makeImage method.
Converts UVW coordinates between coordinate systems.
#define AlwaysAssert(expr, exception)
These marcos are provided for use instead of simply using the constructors of assert_ to allow additi...
bool Bool
Define the standard types used by Casacore.
virtual void setDryRun(casacore::Bool val)
void initializeToSky(casacore::ImageInterface< casacore::Complex > &, casacore::Matrix< casacore::Float > &, const VisBuffer &)
Called at the start of gridding : subftm->initializeToSky()
New MTFT specific internal parameters and functions *casacore::uInt nterms_p
virtual casacore::Bool fromRecord(casacore::String &error, const casacore::RecordInterface &inRec)
void initializeToVis(casacore::ImageInterface< casacore::Complex > &, const VisBuffer &)
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image div...
casacore::Bool modifyModelVis(VisBuffer &vb, casacore::uInt thisterm)
Multiply model visibilities by Taylor-function weights - during "get".
virtual casacore::Bool isFourier()
Various small inline functions.
Base class for all Casacore library errors.
virtual void initMaps(const VisBuffer &vb)
have to call the initmaps of subftm
virtual casacore::Bool isUsingCFCache()
String: the storage and methods of handling collections of characters.
casacore::String machineName_p
VisBuffers encapsulate one chunk of visibility data for processing.
casacore::ImageInterface< casacore::Complex > & getImage(casacore::Matrix< casacore::Float > &, casacore::Bool=true)
Get the final image: do the Fourier transform grid-correct, then optionally normalize by the summed w...
MultiTermFTNew(casacore::CountedPtr< FTMachine > &subftm, casacore::Int nterms=1, casacore::Bool forward=false)
Construct using an existing FT-Machine.
Abstract base class for Record classes.
casacore::Cube< casacore::Complex > modviscube_p
virtual casacore::String name() const
Return the name of the machine.
void finalizeToSky()
Called at the end of gridding : subftm->finalizeToSky()
defines interface for the Fourier Transform Machine
MultiTermFTNew & operator=(const MultiTermFTNew &other)
Assignment operator — leave it as the default.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.
void finalizeToVis()
Called at the end of de-gridding : subftm->finalizeToVis()