29 #ifndef SYNTHESIS_TRANSFORM2_MULTITERMFTNEW_H
30 #define SYNTHESIS_TRANSFORM2_MULTITERMFTNEW_H
56 class VisibilityIterator2;
156 subftms_p[0]->getWeightImage(weightImage, weights);}
172 cout <<
"** Number of FTs : " <<
subftms_p.nelements() <<
" -- " ;
174 cout << tix <<
" : " << (
subftms_p[tix])->name() <<
" " ;
void finalizeToSky()
Called at the end of gridding : subftm->finalizeToSky()
A Measure: astronomical direction.
A 1-D Specialization of the Array class.
A Measure: position on Earth.
casacore::String machineName_p
virtual void initBriggsWeightor(vi::VisibilityIterator2 &vi)
This function has to be called after initMaps to initialize Briggs Cube weighting scheme ...
virtual const casacore::CountedPtr< refim::FTMachine > & getFTM2(const casacore::Bool)
virtual casacore::Bool fromRecord(casacore::String &error, const casacore::RecordInterface &inRec)
virtual casacore::Long estimateRAM(const casacore::CountedPtr< SIImageStore > &imstore)
estimate of memory necessary in kB
defines interface for the Fourier Transform Machine
void put(const vi::VisBuffer2 &, casacore::Int, casacore::Bool, refim::FTMachine::Type)
Have a const version for compatibility with other FTMs.
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual void initMaps(const vi::VisBuffer2 &vb)
have to call the initmaps of subftm
virtual void initializeToVisNew(const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore)
Vectorized InitializeToVis void initializeToVis(casacore::Block<casacore::CountedPtr<casacore::ImageI...
virtual Type type()
Return the type enum.
casacore::Matrix< casacore::Float > imweights_p
virtual casacore::Bool isUsingCFCache()
void initializeToSky(casacore::ImageInterface< casacore::Complex > &, casacore::Matrix< casacore::Float > &, const vi::VisBuffer2 &)
Called at the start of gridding : subftm->initializeToSky()
virtual void finalizeToSkyNew(casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore)
void finalizeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> >...
virtual casacore::Bool useWeightImage()
All FTMachines that fill weightimage, need to set this.
virtual casacore::Bool isFourier()
Various small inline functions.
casacore::Bool modifyVisWeights(vi::VisBuffer2 &vb, casacore::uInt thisterm)
Multiply Imaging weights by Taylor-function weights - during "put".
void put(vi::VisBuffer2 &vb, casacore::Int row=-1, casacore::Bool dopsf=false, refim::FTMachine::Type type=refim::FTMachine::OBSERVED)
Modify imaging weights with Taylor-weights and do gridding via subftm->put()
casacore::CountedPtr< FTMachine > getNewFTM(const casacore::CountedPtr< FTMachine > &ftm)
Instantiate a new sub FTM.
virtual void setMovingSource(const casacore::String &sourcename, const casacore::String &ephemtable="")
set a moving source aka planets or comets => adjust phase center on the fly for gridding ...
void finalizeToVis()
Called at the end of de-gridding : subftm->finalizeToVis()
virtual casacore::Int nTerms()
return number of terms
void makeImage(refim::FTMachine::Type type, vi::VisibilityIterator2 &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
Make an image : subftm->makeImage()
MultiTermFTNew & operator=(const MultiTermFTNew &other)
Assignment operator — leave it as the default.
Referenced counted pointer for constant data.
Make the multi term images void makeMTImages(refim::FTMachine::Type type, vi::VisibilityIterator2 &vi, casacore::Vector< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &image, casacore::Vector< casacore::CountedPtr< casacore::Matrix< casacore::Float > > > &weight)
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"));} ...
void getWeightImage(casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)
Get the final weights image.
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...
New MTFT specific internal parameters and functions *casacore::uInt psfnterms_p
casacore::Bool modifyModelVis(vi::VisBuffer2 &vb, casacore::uInt thisterm)
Multiply model visibilities by Taylor-function weights - during "get".
void initializeToVis(casacore::ImageInterface< casacore::Complex > &, const vi::VisBuffer2 &)
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image div...
LatticeExprNode nelements(const LatticeExprNode &expr)
1-argument function to get the number of elements in a lattice.
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...
Type
Types of known Images that may be made using the makeImage method.
Converts UVW coordinates between coordinate systems.
New MTFT specific internal parameters and functions *casacore::uInt nterms_p
#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.
FTMachine * cloneFTM()
clone copy should make it pure virtual forcing every ftm to have a cloner
virtual void setCFCache(casacore::CountedPtr< CFCache > &cfc, const casacore::Bool resetCFC=true)
casacore::Cube< casacore::Complex > modviscube_p
MultiTermFTNew(casacore::CountedPtr< FTMachine > &subftm, casacore::Int nterms=1, casacore::Bool forward=false)
Construct using an existing FT-Machine.
virtual void setNoPadding(casacore::Bool nopad)
To make sure no padding is used in certain gridders.
virtual void setDryRun(casacore::Bool val)
~MultiTermFTNew()
Destructor.
virtual void setLocation(const casacore::MPosition &loc)
set and get the location used for frame
VisBuffer2s encapsulate one chunk of visibility data for processing.
void restoreImagingWeights(vi::VisBuffer2 &vb)
Restore vb.imagingweights to the original.
Base class for all Casacore library errors.
virtual casacore::String name() const
Return the name of the machine.
String: the storage and methods of handling collections of characters.
casacore::Double reffreq_p
Abstract base class for Record classes.
virtual casacore::Int psfNTerms()
virtual void ComputeResiduals(vi::VisBuffer2 &vb, casacore::Bool useCorrected)
Calculate residual visibilities if possible.
casacore::ImageInterface< casacore::Complex > * image
casacore::Bool storeAsImg(casacore::String fileName, casacore::ImageInterface< casacore::Float > &theImg)
Helper function to write ImageInterfaces to disk.
casacore::Block< casacore::CountedPtr< FTMachine > > subftms_p
casacore::Bool donePSF_p;
virtual void initializeToSkyNew(const casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore)
void initializeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex>...
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.