29 #ifndef SYNTHESIS_MULTITERMFT_H
30 #define SYNTHESIS_MULTITERMFT_H
98 {
throw(
casacore::AipsError(
"MultiTermFT::put called with a const vb. This FTM needs to modify the vb."));};
virtual void ComputeResiduals(VisBuffer &vb, casacore::Bool useCorrected)
Calculate residual visibilities if possible.
casacore::ImageInterface< casacore::Complex > & getImage(casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true)
Get the final image: do the Fourier transform grid-correct, then optionally normalize by the summed w...
void finalizeToSky()
Called at the end of gridding : subftm->finalizeToSky()
casacore::Bool restoreImagingWeights(VisBuffer &vb)
Restore vb.imagingweights to the original.
virtual Type type()
Return the type enum.
casacore::Bool modifyModelVis(VisBuffer &vb)
Multiply model visibilities by Taylor-function weights - during "get".
~MultiTermFT()
Destructor.
MultiTermFT(FTMachine *subftm, casacore::String subFTMname, casacore::Int nterms=1, casacore::Double reffreq=0.0)
Construct using an existing FT-Machine.
virtual casacore::String name() const
Return the name of the machine.
casacore::ImageInterface< casacore::Complex > * image
casacore::Double time_res
Referenced counted pointer for constant data.
casacore::Double reffreq_p
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()
casacore::Double time_get
virtual void setNoPadding(casacore::Bool nopad)
To make sure no padding is used in certain gridders.
casacore::String subFTMname_p
casacore::Bool modifyVisWeights(VisBuffer &vb)
Multiply Imaging weights by Taylor-function weights - during "put".
Type
Types of known Images that may be made using the makeImage method.
void finalizeToVis()
Called at the end of de-gridding : subftm->finalizeToVis()
Converts UVW coordinates between coordinate systems.
casacore::String machineName_p
bool Bool
Define the standard types used by Casacore.
casacore::Matrix< casacore::Float > imweights_p
virtual void normalizeImage(casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool)
Place-holder for possible use with AWProject and AWProjectWB FTMs.
measure the time it takes to execute parts of a program
void initializeToSky(casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer &vb)
Called at the start of gridding : subftm->initializeToSky()
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::Double time_put
void makeImage(FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
Make an image : subftm->makeImage()
void put(const VisBuffer &, casacore::Int, casacore::Bool, FTMachine::Type)
Have a const version for compatibility with other FTMs.
Base class for all Casacore library errors.
virtual casacore::Bool fromRecord(casacore::String &error, const casacore::RecordInterface &inRec)
virtual void initMaps(const VisBuffer &vb)
have to call the initmaps of subftm
String: the storage and methods of handling collections of characters.
VisBuffers encapsulate one chunk of visibility data for processing.
New MTFT specific internal parameters and functions *casacore::CountedPtr< FTMachine > subftm_p
MultiTermFT & operator=(const MultiTermFT &other)
Assignment operator — leave it as the default.
Abstract base class for Record classes.
void initializeToVis(casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image div...
virtual casacore::Bool isFourier()
Various small inline functions.
virtual casacore::Bool toRecord(casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="")
Save and restore the MultiTermFT to and from a record.
defines interface for the Fourier Transform Machine
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.
void getWeightImage(casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &)
Get the final weights image - this will hold PB2.