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::NewMultiTermFT Class Reference

#include <NewMultiTermFT.h>

Inheritance diagram for casa::NewMultiTermFT:
casa::FTMachine

Public Member Functions

 NewMultiTermFT (FTMachine *subftm, casacore::Int nterms=1, casacore::Double reffreq=0.0)
 Construct using an existing FT-Machine. More...
 
 NewMultiTermFT (const casacore::RecordInterface &stateRec)
 Construct from a casacore::Record containing the NewMultiTermFT state. More...
 
 NewMultiTermFT (const NewMultiTermFT &other)
 Copy constructor. More...
 
NewMultiTermFToperator= (const NewMultiTermFT &other)
 Assignment operator — leave it as the default. More...
 
 ~NewMultiTermFT ()
 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...
 
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...
 
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...
 
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)
 Vectorized InitializeToSky. More...
 
void finalizeToSky ()
 Called at the end of gridding : subftm->finalizeToSky() More...
 
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...
 
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("NewMultiTermFT::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...
 
void getWeightImage (casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)
 Place-holder for possible use with AWProject and AWProjectWB FTMs. More...
 
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"));} 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 ()
 
virtual void setDOPBCorrection (casacore::Bool doit=true)
 
virtual casacore::Bool getDOPBCorrection ()
 
virtual void setConjBeams (casacore::Bool useit=true)
 
virtual casacore::Bool getConjBeams ()
 
- 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 FTMachinecloneFTM ()
 clone copy the default cloner clones via a Record copy More...
 
virtual void initializeToVisNew (const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 
virtual void initializeToSkyNew (const casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 
virtual void finalizeToSky (casacore::ImageInterface< casacore::Complex > &iimage)
 
virtual void finalizeToSkyNew (casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 
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 useWeightImage ()
 All FTMachines that fill weightimage, need to set this. More...
 
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 void setDryRun (casacore::Bool val)
 
virtual casacore::Bool dryRun ()
 
virtual casacore::Bool isUsingCFCache ()
 

Protected Member Functions

FTMachinegetNewFTM (const 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...
 
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. More...
 
void calculateTaylorPBs (casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec)
 
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(casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & resImageVec); void normalizeWideBandPB(casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & resImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& scratchImageVec);. More...
 
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::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 initMaps (const VisBuffer &vb)
 
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
 
casacore::Bool donePSF_p
 
casacore::Bool doingPSF_p
 
casacore::Double reffreq_p
 
casacore::Matrix< casacore::Floatimweights_p
 
casacore::String machineName_p
 
casacore::Float pblimit_p
 
casacore::Bool doWideBandPBCorrection_p
 
casacore::String cacheDir_p
 
casacore::Bool donePBTaylor_p
 
casacore::Bool useConjBeams_p
 
casacore::Block
< casacore::CountedPtr
< FTMachine > > 
subftms_p
 
casacore::Block
< casacore::Matrix
< casacore::Float > > 
sumweights_p
 
casacore::Double sumwt_p
 
casacore::Matrix
< casacore::Double
hess_p
 
casacore::Matrix
< casacore::Double
invhess_p
 
casacore::Block
< casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > > 
sensitivitymaps_p
 
casacore::PtrBlock
< casacore::SubImage
< casacore::Float > * > 
pbcoeffs_p
 
casacore::Bool dbg_p
 
casacore::Bool dotime_p
 
casacore::Timer tmr_p
 
casacore::Double time_get
 
casacore::Double time_put
 
casacore::Double time_res
 
- 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 NewMultiTermFT.h.

Constructor & Destructor Documentation

casa::NewMultiTermFT::NewMultiTermFT ( FTMachine subftm,
casacore::Int  nterms = 1,
casacore::Double  reffreq = 0.0 
)

Construct using an existing FT-Machine.

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

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

casa::NewMultiTermFT::NewMultiTermFT ( const NewMultiTermFT other)

Copy constructor.

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

casa::NewMultiTermFT::~NewMultiTermFT ( )

Destructor.

Member Function Documentation

void casa::NewMultiTermFT::applyWideBandPB ( casacore::String  action,
casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &  imageVec 
)
protected

Make pixel-by-pixel matrices from pbcoeffs, invert, apply to residuals void normalizeWideBandPB2(casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & resImageVec); void normalizeWideBandPB(casacore::PtrBlock<casacore::SubImage<casacore::Float> *> & resImageVec, casacore::PtrBlock<casacore::SubImage<casacore::Float> *>& scratchImageVec);.

void casa::NewMultiTermFT::calculateTaylorPBs ( casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &  weightImageVec)
protected
virtual void casa::NewMultiTermFT::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::NewMultiTermFT::finalizeToSky ( )
inlinevirtual

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

Implements casa::FTMachine.

Definition at line 96 of file NewMultiTermFT.h.

void casa::NewMultiTermFT::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 
)
virtual

Vectorized finalizeToSky.

Reimplemented from casa::FTMachine.

void casa::NewMultiTermFT::finalizeToVis ( )
virtual

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

Implements casa::FTMachine.

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

Reimplemented from casa::FTMachine.

void casa::NewMultiTermFT::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("NewMultiTermFT::normalizeToSky should not get called !"));};

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

Implements casa::FTMachine.

virtual casacore::Bool casa::NewMultiTermFT::getConjBeams ( )
inlinevirtual

Definition at line 177 of file NewMultiTermFT.h.

References useConjBeams_p.

virtual casacore::Bool casa::NewMultiTermFT::getDOPBCorrection ( )
inlinevirtual

Definition at line 175 of file NewMultiTermFT.h.

References doWideBandPBCorrection_p.

casacore::ImageInterface<casacore::Complex>& casa::NewMultiTermFT::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 134 of file NewMultiTermFT.h.

FTMachine* casa::NewMultiTermFT::getNewFTM ( const FTMachine ftm)
protected

Instantiate a new sub FTM.

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

Place-holder for possible use with AWProject and AWProjectWB FTMs.

Get the final weights image - this will hold PB2

void getWeightImage(casacore::ImageInterface<casacore::Float>& weightImage, casacore::Matrix<casacore::Float>& weights) {getWeightImage(weightImage, weights, 0);}; void getWeightImage(casacore::ImageInterface<casacore::Float>& weightImage, casacore::Matrix<casacore::Float>& weights, const casacore::Int taylorindex);

Implements casa::FTMachine.

Definition at line 151 of file NewMultiTermFT.h.

References subftms_p.

void casa::NewMultiTermFT::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 88 of file NewMultiTermFT.h.

void casa::NewMultiTermFT::initializeToSky ( casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &  compImageVec,
casacore::Block< casacore::Matrix< casacore::Float > > &  weightsVec,
const VisBuffer vb,
const casacore::Bool  dopsf 
)
virtual

Vectorized InitializeToSky.

Reimplemented from casa::FTMachine.

void casa::NewMultiTermFT::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 NewMultiTermFT.h.

void casa::NewMultiTermFT::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 
)
virtual

Vectorized InitializeToVis.

Reimplemented from casa::FTMachine.

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

Various small inline functions.

Reimplemented from casa::FTMachine.

Definition at line 161 of file NewMultiTermFT.h.

void casa::NewMultiTermFT::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::NewMultiTermFT::modifyModelVis ( VisBuffer vb,
casacore::uInt  thisterm 
)
protected

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

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

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

void casa::NewMultiTermFT::multiplyHMatrix ( casacore::Matrix< casacore::Double > &  hmat,
casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &  invec,
casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &  outvec,
casacore::String  saveImagePrefix 
)
protected
virtual casacore::String casa::NewMultiTermFT::name ( ) const
inlinevirtual

Return the name of the machine.

Implements casa::FTMachine.

Definition at line 163 of file NewMultiTermFT.h.

References machineName_p.

void casa::NewMultiTermFT::normAvgPBs ( casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &  weightImageVec)
protected

Use sumwts to make a Hessian, invert it, apply to weight images, fill in pbcoeffs_p.

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

Assignment operator — leave it as the default.

void casa::NewMultiTermFT::printFTTypes ( )
inline

Definition at line 166 of file NewMultiTermFT.h.

References casacore::nelements(), and subftms_p.

void casa::NewMultiTermFT::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::NewMultiTermFT::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 112 of file NewMultiTermFT.h.

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

Restore vb.imagingweights to the original.

virtual void casa::NewMultiTermFT::setConjBeams ( casacore::Bool  useit = true)
inlinevirtual

Definition at line 176 of file NewMultiTermFT.h.

References useConjBeams_p.

virtual void casa::NewMultiTermFT::setDOPBCorrection ( casacore::Bool  doit = true)
inlinevirtual

Definition at line 174 of file NewMultiTermFT.h.

References doWideBandPBCorrection_p.

virtual void casa::NewMultiTermFT::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 164 of file NewMultiTermFT.h.

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

To make sure no padding is used in certain gridders.

Reimplemented from casa::FTMachine.

Definition at line 162 of file NewMultiTermFT.h.

References subftms_p.

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

Helper function to write ImageInterfaces to disk.

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

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

Save and restore the NewMultiTermFT to and from a record

Reimplemented from casa::FTMachine.

Member Data Documentation

casacore::String casa::NewMultiTermFT::cacheDir_p
protected

Definition at line 217 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::dbg_p
protected

Definition at line 230 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::doingPSF_p
protected

Definition at line 211 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::donePBTaylor_p
protected

Definition at line 218 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::donePSF_p
protected

Definition at line 211 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::dotime_p
protected

Definition at line 230 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::doWideBandPBCorrection_p
protected

Definition at line 216 of file NewMultiTermFT.h.

Referenced by getDOPBCorrection(), and setDOPBCorrection().

casacore::Matrix<casacore::Double> casa::NewMultiTermFT::hess_p
protected

Definition at line 225 of file NewMultiTermFT.h.

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

Definition at line 213 of file NewMultiTermFT.h.

casacore::Matrix<casacore::Double> casa::NewMultiTermFT::invhess_p
protected

Definition at line 225 of file NewMultiTermFT.h.

casacore::String casa::NewMultiTermFT::machineName_p
protected

Definition at line 214 of file NewMultiTermFT.h.

Referenced by name().

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

Definition at line 207 of file NewMultiTermFT.h.

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

Definition at line 210 of file NewMultiTermFT.h.

casacore::PtrBlock<casacore::SubImage<casacore::Float>* > casa::NewMultiTermFT::pbcoeffs_p
protected

Definition at line 228 of file NewMultiTermFT.h.

casacore::Float casa::NewMultiTermFT::pblimit_p
protected

Definition at line 215 of file NewMultiTermFT.h.

casacore::Double casa::NewMultiTermFT::reffreq_p
protected

Definition at line 212 of file NewMultiTermFT.h.

casacore::Block<casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > > casa::NewMultiTermFT::sensitivitymaps_p
protected

Definition at line 227 of file NewMultiTermFT.h.

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

Definition at line 221 of file NewMultiTermFT.h.

Referenced by getWeightImage(), printFTTypes(), and setNoPadding().

casacore::Block<casacore::Matrix<casacore::Float> > casa::NewMultiTermFT::sumweights_p
protected

Definition at line 222 of file NewMultiTermFT.h.

casacore::Double casa::NewMultiTermFT::sumwt_p
protected

Definition at line 224 of file NewMultiTermFT.h.

casacore::Double casa::NewMultiTermFT::time_get
protected

Definition at line 232 of file NewMultiTermFT.h.

casacore::Double casa::NewMultiTermFT::time_put
protected

Definition at line 232 of file NewMultiTermFT.h.

casacore::Double casa::NewMultiTermFT::time_res
protected

Definition at line 232 of file NewMultiTermFT.h.

casacore::Timer casa::NewMultiTermFT::tmr_p
protected

Definition at line 231 of file NewMultiTermFT.h.

casacore::Bool casa::NewMultiTermFT::useConjBeams_p
protected

Definition at line 219 of file NewMultiTermFT.h.

Referenced by getConjBeams(), and setConjBeams().


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