casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
casa::MultiTermFTNew Class Reference

#include <MultiTermFTNew.h>

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

Public Member Functions

 MultiTermFTNew (casacore::CountedPtr< FTMachine > &subftm, casacore::Int nterms=1, casacore::Bool forward=false)
 Construct using an existing FT-Machine. More...
 
 MultiTermFTNew (const casacore::RecordInterface &stateRec)
 Construct from a casacore::Record containing the MultiTermFTNew state. More...
 
 MultiTermFTNew (const MultiTermFTNew &other)
 Copy constructor. More...
 
MultiTermFTNewoperator= (const MultiTermFTNew &other)
 Assignment operator — leave it as the default. More...
 
 ~MultiTermFTNew ()
 Destructor. More...
 
void initializeToVis (casacore::ImageInterface< casacore::Complex > &, const VisBuffer &)
 Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here. More...
 
virtual void initializeToVisNew (const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 Vectorized InitializeToVis void initializeToVis(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > > & compImageVec,casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & modelImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& weightImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& fluxScaleVec, casacore::Block<casacore::Matrix<casacore::Float> >& weightsVec, const VisBuffer& vb);. More...
 
void finalizeToVis ()
 Called at the end of de-gridding : subftm->finalizeToVis() More...
 
void initializeToSky (casacore::ImageInterface< casacore::Complex > &, casacore::Matrix< casacore::Float > &, const VisBuffer &)
 Called at the start of gridding : subftm->initializeToSky() More...
 
virtual void initializeToSkyNew (const casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 void initializeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > > & compImageVec, casacore::Block<casacore::Matrix<casacore::Float> >& weightsVec, const VisBuffer& vb, const casacore::Bool dopsf); More...
 
void finalizeToSky ()
 Called at the end of gridding : subftm->finalizeToSky() More...
 
virtual void finalizeToSkyNew (casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 void finalizeToSky(casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > > & compImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & resImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& weightImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& fluxScaleVec, casacore::Bool dopsf, casacore::Block<casacore::Matrix<casacore::Float> >& weightsVec, const VisBuffer& vb); More...
 
void get (VisBuffer &vb, casacore::Int row=-1)
 void normalizeToSky(casacore::ImageInterface<casacore::Complex>& compImage, casacore::ImageInterface<casacore::Float>& resImage, casacore::ImageInterface<casacore::Float>& weightImage, casacore::Bool dopsf, casacore::Matrix<casacore::Float>& weights) {throw(casacore::AipsError("MultiTermFTNew::normalizeToSky should not get called !"));}; More...
 
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() More...
 
void put (const VisBuffer &, casacore::Int=-1, casacore::Bool=false, FTMachine::Type=FTMachine::OBSERVED)
 Have a const version for compatibility with other FTMs. More...
 
virtual void ComputeResiduals (VisBuffer &vb, casacore::Bool useCorrected)
 Calculate residual visibilities if possible. More...
 
void makeImage (FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
 Make an image : subftm->makeImage() More...
 
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 weights Note : Post-gridding residual-image divisions by PBs will go here. More...
 
virtual casacore::Bool useWeightImage ()
 All FTMachines that fill weightimage, need to set this. More...
 
void getWeightImage (casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)
 Get the final weights image. More...
 
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"));} More...
 
virtual casacore::Bool fromRecord (casacore::String &error, const casacore::RecordInterface &inRec)
 
virtual casacore::Bool isFourier ()
 Various small inline functions. More...
 
virtual void setNoPadding (casacore::Bool nopad)
 To make sure no padding is used in certain gridders. More...
 
virtual casacore::String name () const
 Return the name of the machine. More...
 
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 accumulated avgPB for each Taylor term in the CFCache. More...
 
void printFTTypes ()
 
FTMachinecloneFTM ()
 clone copy the default cloner clones via a Record copy More...
 
virtual void setDryRun (casacore::Bool val)
 
virtual casacore::Bool isUsingCFCache ()
 
- Public Member Functions inherited from casa::FTMachine
 FTMachine ()
 
 FTMachine (casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cfctor)
 
 FTMachine (const FTMachine &other)
 
FTMachineoperator= (const FTMachine &other)
 
void setBasePrivates (const FTMachine &other)
 
virtual ~FTMachine ()
 
virtual void initializeToVis (casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &compImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &modelImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &fluxScaleVec, casacore::Block< casacore::Matrix< casacore::Float > > &weightsVec, const VisBuffer &vb)
 Vectorized InitializeToVis. More...
 
virtual void initializeToSky (casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &compImageVec, casacore::Block< casacore::Matrix< casacore::Float > > &weightsVec, const VisBuffer &vb, const casacore::Bool dopsf=false)
 Vectorized InitializeToSky. More...
 
virtual void finalizeToSky (casacore::ImageInterface< casacore::Complex > &iimage)
 
virtual void finalizeToSky (casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &compImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &resImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &fluxScaleVec, casacore::Bool dopsf, casacore::Block< casacore::Matrix< casacore::Float > > &weightsVec, const VisBuffer &vb)
 Vectorized finalizeToSky. More...
 
virtual void correlationToStokes (casacore::ImageInterface< casacore::Complex > &compImage, casacore::ImageInterface< casacore::Float > &resImage, const casacore::Bool dopsf)
 
More...
 
virtual void stokesToCorrelation (casacore::ImageInterface< casacore::Float > &modelImage, casacore::ImageInterface< casacore::Complex > &compImage)
 
virtual void normalizeImage (casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool)
 
virtual void normalizeImage (casacore::ImageInterface< casacore::Float > &skyImage, casacore::Matrix< casacore::Float > &sumOfWts, casacore::ImageInterface< casacore::Float > &sensitivityImage, casacore::Bool dopsf, casacore::Float pblimit, casacore::Int normtype)
 
virtual casacore::Bool isSkyJonesSet ()
 
virtual casacore::Bool isSkyJonesChanged (VisBuffer &vb, casacore::Int row)
 
virtual void setSkyJones (casacore::Vector< casacore::CountedPtr< SkyJones > > &sj)
 Set SkyJones if image domain corrections /applycation are needed To reset the the FTMachine for stopping image based correction/applycation set in a casacore::Vector of size 0. More...
 
casacore::Bool changedSkyJonesLogic (const VisBuffer &vb, casacore::Bool &firstRow, casacore::Bool &internalRow)
 
template<typename T >
void getGrid (casacore::Array< T > &thegrid)
 
More...
 
virtual const
casacore::CountedPtr
< ConvolutionFunction > & 
getAWConvFunc ()
 
virtual void findConvFunction (const casacore::ImageInterface< casacore::Complex > &, const VisBuffer &)
 
virtual void getFluxImage (casacore::ImageInterface< casacore::Float > &image)
 Get a flux (divide by this to get a flux density correct image) image if there is one. More...
 
virtual void makeImage (FTMachine::Type type, ROVisibilityIterator &vi, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
 Make the entire image using a ROVisIter. More...
 
void girarUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const VisBuffer &vb)
 
More...
 
void rotateUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const VisBuffer &vb)
 
void refocus (casacore::Matrix< casacore::Double > &uvw, const casacore::Vector< casacore::Int > &ant1, const casacore::Vector< casacore::Int > &ant2, casacore::Vector< casacore::Double > &dphase, const VisBuffer &vb)
 Refocus on a finite distance. More...
 
virtual casacore::Bool changed (const VisBuffer &vb)
 Has this operator changed since the last application? More...
 
casacore::Bool setSpw (casacore::Vector< casacore::Int > &spw, casacore::Bool validFrame)
 set spw for cube that will be used; More...
 
virtual casacore::Bool doublePrecGrid ()
 return whether the ftmachine is using a double precision grid More...
 
void setLocation (const casacore::MPosition &loc)
 set and get the location used for frame More...
 
casacore::MPositiongetLocation ()
 
virtual void setMovingSource (const casacore::String &sourcename)
 set a moving source aka planets or comets => adjust phase center on the fly for gridding More...
 
virtual void setMovingSource (const casacore::MDirection &mdir)
 
void setPhaseCenterTime (const casacore::Double time)
 set and get Time to calculate phasecenter -1.0 means using the time available at each iteration..this is used when the phasecenter in the field table is either a polynomial or has a ephemerides tables associated with it Using double in the units and epoch-frame of the ms(s)..caller is responsible for conversion More...
 
casacore::Double getPhaseCenterTime ()
 
virtual void reset ()
 reset stuff in an FTMachine More...
 
virtual void setFreqInterpolation (const casacore::String &method)
 set frequency interpolation type More...
 
virtual void setPointingDirColumn (const casacore::String &column="DIRECTION")
 tell ftmachine which Pointing table column to use for Direction Mosaic or Single dish ft use this for example More...
 
virtual casacore::String getPointingDirColumnInUse ()
 
virtual void setSpwChanSelection (const casacore::Cube< casacore::Int > &spwchansels)
 
virtual casacore::Cube
< casacore::Int
getSpwChanSelection ()
 
virtual void setSpwFreqSelection (const casacore::Matrix< casacore::Double > &spwfreqs)
 
virtual casacore::Matrix
< casacore::Double
getSpwFreqSelection ()
 
virtual void setCanComputeResiduals (casacore::Bool &b)
 
virtual casacore::Bool canComputeResiduals ()
 
virtual casacore::Float getPBLimit ()
 
void setnumthreads (casacore::Int n)
 virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads More...
 
casacore::Int getnumthreads ()
 
virtual void setCFCache (casacore::CountedPtr< CFCache > &cfc, const casacore::Bool resetCFC=true)
 
casacore::CountedPtr< CFCachegetCFCache ()
 
casacore::String getCacheDir ()
 
virtual casacore::Bool dryRun ()
 

Protected Member Functions

virtual void initMaps (const VisBuffer &vb)
 have to call the initmaps of subftm More...
 
casacore::CountedPtr< FTMachinegetNewFTM (const casacore::CountedPtr< FTMachine > &ftm)
 Instantiate a new sub FTM. More...
 
casacore::Bool modifyVisWeights (VisBuffer &vb, casacore::uInt thisterm)
 Multiply Imaging weights by Taylor-function weights - during "put". More...
 
casacore::Bool modifyModelVis (VisBuffer &vb, casacore::uInt thisterm)
 Multiply model visibilities by Taylor-function weights - during "get". More...
 
void restoreImagingWeights (VisBuffer &vb)
 Restore vb.imagingweights to the original. More...
 
casacore::Bool storeAsImg (casacore::String fileName, casacore::ImageInterface< casacore::Float > &theImg)
 Helper function to write ImageInterfaces to disk. More...
 
- Protected Member Functions inherited from casa::FTMachine
casacore::LogIOlogIO ()
 
virtual void initPolInfo (const VisBuffer &vb)
 
virtual void ok ()
 
virtual void gridOk (casacore::Int gridsupport)
 check if image is big enough for gridding More...
 
casacore::Bool matchChannel (const casacore::Int &spw, const VisBuffer &vb)
 
casacore::Bool matchAllSpwChans (const VisBuffer &vb)
 redo all spw chan match especially if ms has changed underneath More...
 
virtual casacore::Bool interpolateFrequencyTogrid (const VisBuffer &vb, const casacore::Matrix< casacore::Float > &wt, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag, casacore::Matrix< casacore::Float > &weight, FTMachine::Type type=FTMachine::OBSERVED)
 interpolate visibility data of vb to grid frequency definition flag will be set the one as described in interpolateArray1D return false if no interpolation is done...for e.g for nearest case More...
 
virtual casacore::Bool interpolateFrequencyFromgrid (VisBuffer &vb, casacore::Cube< casacore::Complex > &data, FTMachine::Type type=FTMachine::MODEL)
 degridded data interpolated back onto visibilities More...
 
virtual void getInterpolateArrays (const VisBuffer &vb, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag)
 Interpolate visibilities to be degridded upon. More...
 
void setSpectralFlag (const VisBuffer &vb, casacore::Cube< casacore::Bool > &modflagcube)
 
casacore::Bool saveMeasure (casacore::RecordInterface &rec, const casacore::String &name, casacore::String &error, const casacore::Measure &ms)
 helper to save Measures in a record More...
 

Protected Attributes

casacore::Cube< casacore::Complex > modviscube_p
 
New MTFT specific internal
parameters and functions
*casacore::uInt 
nterms_p
 
New MTFT specific internal
parameters and functions
*casacore::uInt 
psfnterms_p
 
casacore::Double reffreq_p
 
casacore::Matrix< casacore::Floatimweights_p
 
casacore::String machineName_p
 
casacore::Block
< casacore::CountedPtr
< FTMachine > > 
subftms_p
 casacore::Bool donePSF_p; More...
 
- Protected Attributes inherited from casa::FTMachine
casacore::LogIO logIO_p
 
casacore::ImageInterface
< casacore::Complex > * 
image
 
casacore::UVWMachineuvwMachine_p
 
casacore::CountedPtr
< casacore::UVWMachine
phaseShifter_p
 
casacore::MeasFrame mFrame_p
 
casacore::Bool tangentSpecified_p
 Direction of desired tangent plane. More...
 
casacore::MDirection mTangent_p
 
casacore::MDirection mImage_p
 
casacore::MDirection movingDir_p
 moving source stuff More...
 
casacore::Bool fixMovingSource_p
 
casacore::MDirection firstMovingDir_p
 
casacore::Double distance_p
 
casacore::uInt nAntenna_p
 
casacore::Int lastFieldId_p
 
casacore::Int lastMSId_p
 
casacore::Bool useDoubleGrid_p
 Use douple precision grid in gridding process. More...
 
casacore::Matrix
< casacore::Double
sumWeight
 Sum of weights per polarization and per chan. More...
 
casacore::Matrix
< casacore::Double
sumCFWeight
 
casacore::Int nx
 Sizes. More...
 
casacore::Int ny
 
casacore::Int npol
 
casacore::Int nchan
 
casacore::Int nvischan
 
casacore::Int nvispol
 
casacore::Vector< casacore::IntchanMap
 Maps of channels and polarization. More...
 
casacore::Vector< casacore::IntpolMap
 
casacore::Bool isIOnly
 Is casacore::Stokes I only? iso XX,XY,YX,YY or LL,LR,RL,RR. More...
 
casacore::MPosition mLocation_p
 Default Position used for phase rotations. More...
 
casacore::Bool doUVWRotation_p
 Set if uvwrotation is necessary. More...
 
casacore::Block
< casacore::Vector
< casacore::Int > > 
multiChanMap_p
 setup multiple spectral window for cubes More...
 
casacore::Vector< casacore::IntselectedSpw_p
 
casacore::Vector< casacore::IntnVisChan_p
 
casacore::SpectralCoordinate spectralCoord_p
 Private variables needed for spectral frame conversion. More...
 
casacore::Vector< casacore::BooldoConversion_p
 
casacore::Bool freqFrameValid_p
 
casacore::Vector
< casacore::Double
imageFreq_p
 
casacore::Vector
< casacore::Double
lsrFreq_p
 casacore::Vector of float lsrfreq needed for regridding More...
 
casacore::Vector
< casacore::Double
interpVisFreq_p
 
casacore::InterpolateArray1D
< casacore::Double,
casacore::Complex >
::InterpolationMethod 
freqInterpMethod_p
 
casacore::String pointingDirCol_p
 
casacore::Cube< casacore::IntspwChanSelFlag_p
 
casacore::Matrix
< casacore::Double
spwFreqSel_p
 
casacore::Matrix
< casacore::Double
expandedSpwFreqSel_p
 
casacore::Matrix
< casacore::Double
expandedSpwConjFreqSel_p
 
casacore::Vector< casacore::IntcfStokes_p
 
casacore::Int polInUse_p
 
casacore::CountedPtr< CFCachecfCache_p
 
CFStore cfs_p
 
CFStore cfwts_p
 
casacore::CountedPtr< CFStore2cfs2_p
 
casacore::CountedPtr< CFStore2cfwts2_p
 
casacore::CountedPtr
< ConvolutionFunction
convFuncCtor_p
 
casacore::CountedPtr
< PolOuterProduct
pop_p
 
casacore::Bool canComputeResiduals_p
 
casacore::Bool toVis_p
 
casacore::Int numthreads_p
 
casacore::Array
< casacore::Complex > 
griddedData
 casacore::Array for non-tiled gridding These are common to most FTmachines More...
 
casacore::Array
< casacore::DComplex > 
griddedData2
 
casacore::Float pbLimit_p
 
casacore::Vector
< casacore::CountedPtr
< SkyJones > > 
sj_p
 casacore::Vector<SkyJones *> sj_p; More...
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Complex > > 
cmplxImage_p
 A holder for the complex image if nobody else is keeping it. More...
 
FFT2D ft_p
 
casacore::Double phaseCenterTime_p
 

Additional Inherited Members

- Public Types inherited from casa::FTMachine
enum  Type {
  OBSERVED,
  MODEL,
  CORRECTED,
  RESIDUAL,
  PSF,
  COVERAGE,
  N_types,
  DEFAULT
}
 Types of known Images that may be made using the makeImage method. More...
 
- Static Public Member Functions inherited from casa::FTMachine
static void locateuvw (const casacore::Double *&uvw, const casacore::Double *&dphase, const casacore::Double *&freq, const casacore::Int &nchan, const casacore::Double *&scale, const casacore::Double *&offset, const casacore::Int &sampling, casacore::Int *&loc, casacore::Int *&off, casacore::Complex *&phasor, const casacore::Int &row, const casacore::Bool &doW=false)
 helper function for openmp to call...no private dependency More...
 
- Public Attributes inherited from casa::FTMachine
casacore::Bool isDryRun
 

Detailed Description

Definition at line 56 of file MultiTermFTNew.h.

Constructor & Destructor Documentation

casa::MultiTermFTNew::MultiTermFTNew ( casacore::CountedPtr< FTMachine > &  subftm,
casacore::Int  nterms = 1,
casacore::Bool  forward = false 
)

Construct using an existing FT-Machine.

casa::MultiTermFTNew::MultiTermFTNew ( const casacore::RecordInterface stateRec)

Construct from a casacore::Record containing the MultiTermFTNew state.

casa::MultiTermFTNew::MultiTermFTNew ( const MultiTermFTNew other)

Copy constructor.

This first calls the default "=" operator, and then instantiates objects for member pointers.

casa::MultiTermFTNew::~MultiTermFTNew ( )

Destructor.

Member Function Documentation

FTMachine* casa::MultiTermFTNew::cloneFTM ( )
virtual

clone copy the default cloner clones via a Record copy

Reimplemented from casa::FTMachine.

virtual void casa::MultiTermFTNew::ComputeResiduals ( VisBuffer vb,
casacore::Bool  useCorrected 
)
virtual

Calculate residual visibilities if possible.

The purpose is to allow rGridFT to make this multi-threaded

Implements casa::FTMachine.

void casa::MultiTermFTNew::finalizeToSky ( )
inlinevirtual

Called at the end of gridding : subftm->finalizeToSky()

Implements casa::FTMachine.

Definition at line 103 of file MultiTermFTNew.h.

virtual void casa::MultiTermFTNew::finalizeToSkyNew ( casacore::Bool  dopsf,
const VisBuffer vb,
casacore::CountedPtr< SIImageStore imstore 
)
virtual
void casa::MultiTermFTNew::finalizeToVis ( )
virtual

Called at the end of de-gridding : subftm->finalizeToVis()

Implements casa::FTMachine.

virtual casacore::Bool casa::MultiTermFTNew::fromRecord ( casacore::String error,
const casacore::RecordInterface inRec 
)
virtual

Reimplemented from casa::FTMachine.

void casa::MultiTermFTNew::get ( VisBuffer vb,
casacore::Int  row = -1 
)
virtual

void normalizeToSky(casacore::ImageInterface<casacore::Complex>& compImage, casacore::ImageInterface<casacore::Float>& resImage, casacore::ImageInterface<casacore::Float>& weightImage, casacore::Bool dopsf, casacore::Matrix<casacore::Float>& weights) {throw(casacore::AipsError("MultiTermFTNew::normalizeToSky should not get called !"));};

Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights

Implements casa::FTMachine.

casacore::ImageInterface<casacore::Complex>& casa::MultiTermFTNew::getImage ( casacore::Matrix< casacore::Float > &  ,
casacore::Bool  = true 
)
inlinevirtual

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() casacore::ImageInterface<casacore::Complex>& getImage(casacore::Matrix<casacore::Float>& weights, casacore::Bool normalize=true) {return getImage(weights,normalize,0);}; casacore::ImageInterface<casacore::Complex>& getImage(casacore::Matrix<casacore::Float>& weights, casacore::Bool normalize=true, const casacore::Int taylorindex=0);

Implements casa::FTMachine.

Definition at line 145 of file MultiTermFTNew.h.

casacore::CountedPtr<FTMachine> casa::MultiTermFTNew::getNewFTM ( const casacore::CountedPtr< FTMachine > &  ftm)
protected

Instantiate a new sub FTM.

void casa::MultiTermFTNew::getWeightImage ( casacore::ImageInterface< casacore::Float > &  weightImage,
casacore::Matrix< casacore::Float > &  weights 
)
inlinevirtual

Get the final weights image.

Implements casa::FTMachine.

Definition at line 151 of file MultiTermFTNew.h.

References AlwaysAssert, and subftms_p.

void casa::MultiTermFTNew::initializeToSky ( casacore::ImageInterface< casacore::Complex > &  ,
casacore::Matrix< casacore::Float > &  ,
const VisBuffer  
)
inlinevirtual

Called at the start of gridding : subftm->initializeToSky()

Implements casa::FTMachine.

Definition at line 91 of file MultiTermFTNew.h.

virtual void casa::MultiTermFTNew::initializeToSkyNew ( const casacore::Bool  dopsf,
const VisBuffer vb,
casacore::CountedPtr< SIImageStore imstore 
)
virtual
void casa::MultiTermFTNew::initializeToVis ( casacore::ImageInterface< casacore::Complex > &  ,
const VisBuffer  
)
inlinevirtual

Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here.

Implements casa::FTMachine.

Definition at line 77 of file MultiTermFTNew.h.

virtual void casa::MultiTermFTNew::initializeToVisNew ( const VisBuffer vb,
casacore::CountedPtr< SIImageStore imstore 
)
virtual
virtual void casa::MultiTermFTNew::initMaps ( const VisBuffer vb)
protectedvirtual

have to call the initmaps of subftm

Reimplemented from casa::FTMachine.

virtual casacore::Bool casa::MultiTermFTNew::isFourier ( )
inlinevirtual

Various small inline functions.

Reimplemented from casa::FTMachine.

Definition at line 162 of file MultiTermFTNew.h.

virtual casacore::Bool casa::MultiTermFTNew::isUsingCFCache ( )
inlinevirtual

Reimplemented from casa::FTMachine.

Definition at line 183 of file MultiTermFTNew.h.

References isUsingCFCache(), and subftms_p.

Referenced by isUsingCFCache().

void casa::MultiTermFTNew::makeImage ( FTMachine::Type  type,
VisSet vs,
casacore::ImageInterface< casacore::Complex > &  image,
casacore::Matrix< casacore::Float > &  weight 
)
virtual

Make an image : subftm->makeImage()

Reimplemented from casa::FTMachine.

casacore::Bool casa::MultiTermFTNew::modifyModelVis ( VisBuffer vb,
casacore::uInt  thisterm 
)
protected

Multiply model visibilities by Taylor-function weights - during "get".

casacore::Bool casa::MultiTermFTNew::modifyVisWeights ( VisBuffer vb,
casacore::uInt  thisterm 
)
protected

Multiply Imaging weights by Taylor-function weights - during "put".

virtual casacore::String casa::MultiTermFTNew::name ( ) const
inlinevirtual

Return the name of the machine.

Implements casa::FTMachine.

Definition at line 164 of file MultiTermFTNew.h.

References machineName_p.

MultiTermFTNew& casa::MultiTermFTNew::operator= ( const MultiTermFTNew other)

Assignment operator — leave it as the default.

void casa::MultiTermFTNew::printFTTypes ( )
inline

Definition at line 167 of file MultiTermFTNew.h.

References casacore::nelements(), and subftms_p.

void casa::MultiTermFTNew::put ( VisBuffer vb,
casacore::Int  row = -1,
casacore::Bool  dopsf = false,
FTMachine::Type  type = FTMachine::OBSERVED 
)
virtual

Modify imaging weights with Taylor-weights and do gridding via subftm->put()

Reimplemented from casa::FTMachine.

void casa::MultiTermFTNew::put ( const VisBuffer ,
casacore::Int  = -1,
casacore::Bool  = false,
FTMachine::Type  = FTMachine::OBSERVED 
)
inlinevirtual

Have a const version for compatibility with other FTMs.

. Throw an exception if called.

Implements casa::FTMachine.

Definition at line 123 of file MultiTermFTNew.h.

void casa::MultiTermFTNew::restoreImagingWeights ( VisBuffer vb)
protected

Restore vb.imagingweights to the original.

virtual void casa::MultiTermFTNew::setDryRun ( casacore::Bool  val)
inlinevirtual

cerr << "MTFTMN: " << isDryRun << endl;

Reimplemented from casa::FTMachine.

Definition at line 176 of file MultiTermFTNew.h.

References casa::FTMachine::isDryRun, and subftms_p.

virtual void casa::MultiTermFTNew::setMiscInfo ( const casacore::Int  qualifier)
inlinevirtual

set the order of the Taylor term for MFS this is to tell A-casacore::Projection to qualify the accumulated avgPB for each Taylor term in the CFCache.

Implements casa::FTMachine.

Definition at line 165 of file MultiTermFTNew.h.

virtual void casa::MultiTermFTNew::setNoPadding ( casacore::Bool  nopad)
inlinevirtual

To make sure no padding is used in certain gridders.

Reimplemented from casa::FTMachine.

Definition at line 163 of file MultiTermFTNew.h.

References subftms_p.

casacore::Bool casa::MultiTermFTNew::storeAsImg ( casacore::String  fileName,
casacore::ImageInterface< casacore::Float > &  theImg 
)
protected

Helper function to write ImageInterfaces to disk.

virtual casacore::Bool casa::MultiTermFTNew::toRecord ( casacore::String error,
casacore::RecordInterface outRec,
casacore::Bool  withImage = false,
const casacore::String  diskimage = "" 
)
virtual

{throw(casacore::AipsError("MultiTermFTNew::getWeightImage() should not be called"));}

Save and restore the MultiTermFTNew to and from a record

Reimplemented from casa::FTMachine.

virtual casacore::Bool casa::MultiTermFTNew::useWeightImage ( )
inlinevirtual

All FTMachines that fill weightimage, need to set this.

TODO : Make this pure virtual.

Reimplemented from casa::FTMachine.

Definition at line 148 of file MultiTermFTNew.h.

References AlwaysAssert, and subftms_p.

Member Data Documentation

casacore::Matrix<casacore::Float> casa::MultiTermFTNew::imweights_p
protected

Definition at line 207 of file MultiTermFTNew.h.

casacore::String casa::MultiTermFTNew::machineName_p
protected

Definition at line 208 of file MultiTermFTNew.h.

Referenced by name().

casacore::Cube<casacore::Complex> casa::MultiTermFTNew::modviscube_p
protected

Definition at line 202 of file MultiTermFTNew.h.

New MTFT specific internal parameters and functions* casacore::uInt casa::MultiTermFTNew::nterms_p
protected

Definition at line 205 of file MultiTermFTNew.h.

New MTFT specific internal parameters and functions* casacore::uInt casa::MultiTermFTNew::psfnterms_p
protected

Definition at line 205 of file MultiTermFTNew.h.

casacore::Double casa::MultiTermFTNew::reffreq_p
protected

Definition at line 206 of file MultiTermFTNew.h.

casacore::Block< casacore::CountedPtr<FTMachine> > casa::MultiTermFTNew::subftms_p
protected

The documentation for this class was generated from the following file: