29 #ifndef SYNTHESIS_NEWMULTITERMFT_H
30 #define SYNTHESIS_NEWMULTITERMFT_H
114 {
throw(
casacore::AipsError(
"NewMultiTermFT::put called with a const vb. This FTM needs to modify the vb."));};
152 {
subftms_p[0]->getWeightImage(weightImage, weights);}
168 cout <<
"** Number of FTs : " <<
subftms_p.nelements() <<
" -- " ;
170 cout << tix <<
" : " << (
subftms_p[tix])->name() <<
" " ;
casacore::Bool useConjBeams_p
virtual casacore::Bool toRecord(casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="")
{throw(casacore::AipsError("NewMultiTermFT::getWeightImage() should not be called"));} ...
casacore::Bool modifyVisWeights(VisBuffer &vb, casacore::uInt thisterm)
Multiply Imaging weights by Taylor-function weights - during "put".
casacore::String machineName_p
casacore::Bool storeAsImg(casacore::String fileName, casacore::ImageInterface< casacore::Float > &theImg)
Helper function to write ImageInterfaces to disk.
void makeImage(FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
Make an image : subftm->makeImage()
casacore::Bool donePBTaylor_p
FTMachine * getNewFTM(const FTMachine *ftm)
Instantiate a new sub FTM.
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()
void initializeToVis(casacore::ImageInterface< casacore::Complex > &, const VisBuffer &)
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image div...
virtual Type type()
Return the type enum.
casacore::Double time_res
casacore::String cacheDir_p
NewMultiTermFT(FTMachine *subftm, casacore::Int nterms=1, casacore::Double reffreq=0.0)
Construct using an existing FT-Machine.
NewMultiTermFT & operator=(const NewMultiTermFT &other)
Assignment operator — leave it as the default.
casacore::Bool modifyModelVis(VisBuffer &vb, casacore::uInt thisterm)
Multiply model visibilities by Taylor-function weights - during "get".
casacore::ImageInterface< casacore::Complex > * image
void restoreImagingWeights(VisBuffer &vb)
Restore vb.imagingweights to the original.
casacore::Cube< casacore::Complex > modviscube_p
virtual casacore::Bool isFourier()
Various small inline functions.
void finalizeToSky()
Called at the end of gridding : subftm->finalizeToSky()
virtual void setDOPBCorrection(casacore::Bool doit=true)
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...
casacore::Double time_get
void normAvgPBs(casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec)
Use sumwts to make a Hessian, invert it, apply to weight images, fill in pbcoeffs_p.
casacore::Bool doingPSF_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...
Referenced counted pointer for constant data.
void calculateTaylorPBs(casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec)
New MTFT specific internal parameters and functions *casacore::uInt nterms_p
void finalizeToVis()
Called at the end of de-gridding : subftm->finalizeToVis()
LatticeExprNode nelements(const LatticeExprNode &expr)
1-argument function to get the number of elements in a lattice.
casacore::PtrBlock< casacore::SubImage< casacore::Float > * > pbcoeffs_p
Type
Types of known Images that may be made using the makeImage method.
void put(const VisBuffer &, casacore::Int=-1, casacore::Bool=false, FTMachine::Type=FTMachine::OBSERVED)
Have a const version for compatibility with other FTMs.
Converts UVW coordinates between coordinate systems.
bool Bool
Define the standard types used by Casacore.
measure the time it takes to execute parts of a program
casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > > sensitivitymaps_p
virtual casacore::Bool getDOPBCorrection()
A (masked) subset of an ImageInterface object.
A drop-in replacement for Block<T*>.
casacore::Float pblimit_p
virtual casacore::Bool getConjBeams()
casacore::Double reffreq_p
casacore::Bool doWideBandPBCorrection_p
casacore::Matrix< casacore::Double > invhess_p
virtual casacore::String name() const
Return the name of the machine.
Base class for all Casacore library errors.
void multiplyHMatrix(casacore::Matrix< casacore::Double > &hmat, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &invec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &outvec, casacore::String saveImagePrefix)
casacore::Matrix< casacore::Double > hess_p
virtual void ComputeResiduals(VisBuffer &vb, casacore::Bool useCorrected)
Calculate residual visibilities if possible.
String: the storage and methods of handling collections of characters.
VisBuffers encapsulate one chunk of visibility data for processing.
casacore::Double time_put
void getWeightImage(casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)
Place-holder for possible use with AWProject and AWProjectWB FTMs.
virtual casacore::Bool fromRecord(casacore::String &error, const casacore::RecordInterface &inRec)
void applyWideBandPB(casacore::String action, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &imageVec)
Make pixel-by-pixel matrices from pbcoeffs, invert, apply to residuals void normalizeWideBandPB2(casa...
casacore::Matrix< casacore::Float > imweights_p
Abstract base class for Record classes.
virtual void setConjBeams(casacore::Bool useit=true)
void initializeToSky(casacore::ImageInterface< casacore::Complex > &, casacore::Matrix< casacore::Float > &, const VisBuffer &)
Called at the start of gridding : subftm->initializeToSky()
casacore::Block< casacore::CountedPtr< FTMachine > > subftms_p
casacore::Block< casacore::Matrix< casacore::Float > > sumweights_p
~NewMultiTermFT()
Destructor.
defines interface for the Fourier Transform Machine
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.
virtual void setNoPadding(casacore::Bool nopad)
To make sure no padding is used in certain gridders.