casa
5.7.0-16
|
#include <MultiTermFT.h>
Public Member Functions | |
MultiTermFT (FTMachine *subftm, casacore::String subFTMname, casacore::Int nterms=1, casacore::Double reffreq=0.0) | |
Construct using an existing FT-Machine. More... | |
MultiTermFT (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the MultiTermFT state. More... | |
MultiTermFT (const MultiTermFT &other) | |
Copy constructor. More... | |
MultiTermFT & | operator= (const MultiTermFT &other) |
Assignment operator — leave it as the default. More... | |
~MultiTermFT () | |
Destructor. More... | |
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 divisions by PBs will go here. More... | |
void | finalizeToVis () |
Called at the end of de-gridding : subftm->finalizeToVis() More... | |
void | initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer &vb) |
Called at the start of gridding : subftm->initializeToSky() More... | |
void | finalizeToSky () |
Called at the end of gridding : subftm->finalizeToSky() More... | |
void | get (VisBuffer &vb, casacore::Int row=-1) |
Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights. 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, casacore::Bool, FTMachine::Type) |
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 normalize=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 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. More... | |
void | getWeightImage (casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &) |
Get the final weights image - this will hold PB2. More... | |
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. 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... | |
Public Member Functions inherited from casa::FTMachine | |
FTMachine () | |
FTMachine (casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cfctor) | |
FTMachine (const FTMachine &other) | |
FTMachine & | operator= (const FTMachine &other) |
void | setBasePrivates (const FTMachine &other) |
virtual | ~FTMachine () |
virtual FTMachine * | cloneFTM () |
clone copy the default cloner clones via a Record copy More... | |
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 | initializeToVisNew (const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore) |
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 | initializeToSkyNew (const casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore) |
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 | 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::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::MPosition & | getLocation () |
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< CFCache > | getCFCache () |
casacore::String | getCacheDir () |
virtual void | setDryRun (casacore::Bool val) |
virtual casacore::Bool | dryRun () |
virtual casacore::Bool | isUsingCFCache () |
Protected Member Functions | |
casacore::Bool | modifyVisWeights (VisBuffer &vb) |
Multiply Imaging weights by Taylor-function weights - during "put". More... | |
casacore::Bool | modifyModelVis (VisBuffer &vb) |
Multiply model visibilities by Taylor-function weights - during "get". More... | |
casacore::Bool | restoreImagingWeights (VisBuffer &vb) |
Restore vb.imagingweights to the original. More... | |
virtual void | initMaps (const VisBuffer &vb) |
have to call the initmaps of subftm More... | |
Protected Member Functions inherited from casa::FTMachine | |
casacore::LogIO & | logIO () |
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... | |
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 |
Definition at line 56 of file MultiTermFT.h.
casa::MultiTermFT::MultiTermFT | ( | FTMachine * | subftm, |
casacore::String | subFTMname, | ||
casacore::Int | nterms = 1 , |
||
casacore::Double | reffreq = 0.0 |
||
) |
Construct using an existing FT-Machine.
casa::MultiTermFT::MultiTermFT | ( | const casacore::RecordInterface & | stateRec | ) |
Construct from a casacore::Record containing the MultiTermFT state.
casa::MultiTermFT::MultiTermFT | ( | const MultiTermFT & | other | ) |
Copy constructor.
This first calls the default "=" operator, and then instantiates objects for member pointers.
casa::MultiTermFT::~MultiTermFT | ( | ) |
Destructor.
|
virtual |
Calculate residual visibilities if possible.
The purpose is to allow rGridFT to make this multi-threaded
Implements casa::FTMachine.
|
virtual |
Called at the end of gridding : subftm->finalizeToSky()
Implements casa::FTMachine.
|
virtual |
Called at the end of de-gridding : subftm->finalizeToVis()
Implements casa::FTMachine.
|
virtual |
Reimplemented from casa::FTMachine.
|
virtual |
Do the degridding via subftm->get() and modify model-visibilities by Taylor-weights.
Implements casa::FTMachine.
|
virtual |
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()
Implements casa::FTMachine.
|
virtual |
Get the final weights image - this will hold PB2.
Implements casa::FTMachine.
|
virtual |
Called at the start of gridding : subftm->initializeToSky()
Implements casa::FTMachine.
|
virtual |
Called at the start of de-gridding : subftm->initializeToVis() Note : Pre-de-gridding model-image divisions by PBs will go here.
Implements casa::FTMachine.
|
protectedvirtual |
have to call the initmaps of subftm
Reimplemented from casa::FTMachine.
|
inlinevirtual |
Various small inline functions.
Reimplemented from casa::FTMachine.
Definition at line 131 of file MultiTermFT.h.
|
virtual |
Make an image : subftm->makeImage()
Reimplemented from casa::FTMachine.
|
protected |
Multiply model visibilities by Taylor-function weights - during "get".
|
protected |
Multiply Imaging weights by Taylor-function weights - during "put".
|
inlinevirtual |
Return the name of the machine.
Implements casa::FTMachine.
Definition at line 133 of file MultiTermFT.h.
References machineName_p.
|
inlinevirtual |
Place-holder for possible use with AWProject and AWProjectWB FTMs.
Reimplemented from casa::FTMachine.
Definition at line 117 of file MultiTermFT.h.
MultiTermFT& casa::MultiTermFT::operator= | ( | const MultiTermFT & | other | ) |
Assignment operator — leave it as the default.
|
virtual |
Modify imaging weights with Taylor-weights and do gridding via subftm->put()
Reimplemented from casa::FTMachine.
|
inlinevirtual |
Have a const version for compatibility with other FTMs.
. Throw an exception if called.
Implements casa::FTMachine.
Definition at line 96 of file MultiTermFT.h.
|
protected |
Restore vb.imagingweights to the original.
|
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 134 of file MultiTermFT.h.
References thisterm_p.
|
inlinevirtual |
To make sure no padding is used in certain gridders.
Reimplemented from casa::FTMachine.
Definition at line 132 of file MultiTermFT.h.
References subftm_p.
|
virtual |
Save and restore the MultiTermFT to and from a record.
Reimplemented from casa::FTMachine.
|
protected |
Definition at line 157 of file MultiTermFT.h.
|
protected |
Definition at line 157 of file MultiTermFT.h.
|
protected |
Definition at line 153 of file MultiTermFT.h.
|
protected |
Definition at line 155 of file MultiTermFT.h.
Referenced by name().
|
protected |
Definition at line 149 of file MultiTermFT.h.
|
protected |
Definition at line 151 of file MultiTermFT.h.
|
protected |
Definition at line 147 of file MultiTermFT.h.
Referenced by setNoPadding().
|
protected |
Definition at line 148 of file MultiTermFT.h.
|
protected |
Definition at line 154 of file MultiTermFT.h.
|
protected |
Definition at line 150 of file MultiTermFT.h.
Referenced by setMiscInfo().
|
protected |
Definition at line 159 of file MultiTermFT.h.
|
protected |
Definition at line 159 of file MultiTermFT.h.
|
protected |
Definition at line 159 of file MultiTermFT.h.
|
protected |
Definition at line 158 of file MultiTermFT.h.