casa
5.7.0-16
|
#include <AWProjectWBFTNew.h>
Public Member Functions | |
AWProjectWBFTNew (casacore::Int nFacets, casacore::Long cachesize, casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cf, casacore::CountedPtr< VisibilityResamplerBase > &visResampler, casacore::Bool applyPointingOffset=true, casacore::Bool doPBCorr=true, casacore::Int tilesize=16, casacore::Float paSteps=5.0, casacore::Float pbLimit=5e-4, casacore::Bool usezero=false, casacore::Bool conjBeams_p=true, casacore::Bool doublePrecGrid=false) | |
AWProjectWBFTNew (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the AWProjectWBFT state. More... | |
virtual casacore::String | name () const |
Copy constructor AWProjectWBFTNew(const AWProjectWBFTNew &other):AWProjectWBFT() {operator=(other);}; More... | |
~AWProjectWBFTNew () | |
FTMachine * | cloneFTM () |
clone copy should make it pure virtual forcing every ftm to have a cloner More... | |
virtual casacore::Bool | useWeightImage () |
All FTMachines that fill weightimage, need to set this. More... | |
virtual void | setDryRun (casacore::Bool val) |
Public Member Functions inherited from casa::refim::AWProjectWBFT | |
AWProjectWBFT (casacore::Int nFacets, casacore::Long cachesize, casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cf, casacore::CountedPtr< VisibilityResamplerBase > &visResampler, casacore::Bool applyPointingOffset=true, casacore::Bool doPBCorr=true, casacore::Int tilesize=16, casacore::Float paSteps=5.0, casacore::Float pbLimit=5e-4, casacore::Bool usezero=false, casacore::Bool conjBeams_p=true, casacore::Bool doublePrecGrid=false) | |
Constructor: cachesize is the size of the cache in words (e.g. More... | |
AWProjectWBFT (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the AWProjectWBFT state. More... | |
AWProjectWBFT (const AWProjectWBFT &other) | |
Copy constructor. More... | |
AWProjectWBFT & | operator= (const AWProjectWBFT &other) |
Assignment operator. More... | |
~AWProjectWBFT () | |
casacore::Int | findPointingOffsets (const VisBuffer2 &vb, casacore::Array< casacore::Float > &l_off, casacore::Array< casacore::Float > &m_off, casacore::Bool Evaluate) |
casacore::Bool changed(const VisBuffer& vb) {return vpSJ->changed(vb,1);}; casacore::Bool changed(const VisBuffer& vb) {return false;} More... | |
void | normalizeAvgPB () |
More... | |
void | normalizeAvgPB (casacore::ImageInterface< casacore::Complex > &, casacore::ImageInterface< casacore::Float > &) |
virtual void | makeSensitivityImage (const VisBuffer2 &vb, const casacore::ImageInterface< casacore::Complex > &imageTemplate, casacore::ImageInterface< casacore::Float > &sensitivityImage) |
This method is called from AWProjectFT to compute the sensitivity image by accumulating in the image domain (i.e. More... | |
virtual void | makeSensitivityImage (const VisBuffer2 &vb, const casacore::ImageInterface< casacore::DComplex > &imageTemplate, casacore::ImageInterface< casacore::Float > &sensitivityImage) |
template<class T > | |
void | makeSensitivityImage (casacore::Lattice< T > &wtImage, casacore::ImageInterface< casacore::Float > &sensitivityImage, const casacore::Matrix< casacore::Float > &sumWt=casacore::Matrix< casacore::Float >(), const casacore::Bool &doFFTNorm=true) |
In AWProjectWBFT and its derivatives, sensitivity image is computed by accumulating weight functions (images) during the first gridding cycle. More... | |
void | makeSensitivitySqImage (casacore::Lattice< casacore::Complex > &wtImage, casacore::ImageInterface< casacore::Complex > &sensitivitySqImage, const casacore::Matrix< casacore::Float > &sumWt=casacore::Matrix< casacore::Float >(), const casacore::Bool &doFFTNorm=true) |
virtual casacore::ImageInterface < casacore::Complex > & | getImage (casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true) |
Method used to make normalized image from gridded visibilites. More... | |
virtual casacore::Float | pbFunc (const casacore::Float &, const casacore::Float &) |
Method used to convert the pixel value of the PB image, passed as pbPixValue, to a value used for PB-normalization. More... | |
virtual void | finalizeToSky () |
{casacore::Float tt=(pbPixValue);return (abs(tt) >= pbLimit)?tt:1.0;}; More... | |
virtual void | initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer2 &vb) |
Initialize transform to Sky plane: initializes the image. More... | |
void | setObservatoryLocation (const casacore::MPosition &mLocation) |
virtual casacore::Bool | verifyShapes (casacore::IPosition shape0, casacore::IPosition shape1) |
virtual casacore::Bool | computeAvgPB (const casacore::Double &, const casacore::Double &) |
Returns true if accumulation during gridding to compute the average PB must be done. More... | |
virtual void | setCFCache (casacore::CountedPtr< CFCache > &cfc, const casacore::Bool resetCFC=true) |
virtual void setMiscInfo(const casacore::Int qualifier) {sensitivityPatternQualifier_p=qualifier;} {qualifier_p = qualifier;taylorQualifier_p = "_MFS_"+casacore::String::toString(qualifier_p)+"_";}; More... | |
Public Member Functions inherited from casa::refim::AWProjectFT | |
AWProjectFT () | |
AWProjectFT (casacore::Int nFacets, casacore::Long cachesize, casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cf, casacore::CountedPtr< VisibilityResamplerBase > &visResampler, casacore::Bool applyPointingOffset=true, casacore::Bool doPBCorr=true, casacore::Int tilesize=16, casacore::Float pbLimit=5e-4, casacore::Bool usezero=false, casacore::Bool conjBeams_p=true, casacore::Bool doublePrecGrid=false, PolOuterProduct::MuellerType muellerType=PolOuterProduct::FULL) | |
Constructor: cachesize is the size of the cache in words (e.g. More... | |
AWProjectFT (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the AWProjectFT state. More... | |
AWProjectFT (const AWProjectFT &other) | |
Copy constructor. More... | |
AWProjectFT & | operator= (const AWProjectFT &other) |
Assignment operator. More... | |
~AWProjectFT () | |
void | setEPJones (SolvableVisJones *ep_j) |
void setEPJones(EPJones* ep_j) {epJ = ep_j;} More... | |
virtual void | setDOPBCorrection (casacore::Bool doit=true) |
virtual casacore::Bool | getDOPBCorrection () |
virtual void | setConjBeams (casacore::Bool useit=true) |
virtual casacore::Bool | getConjBeams () |
virtual casacore::Float | getPBLimit () |
void | setObservatoryLocation (const casacore::MPosition &mLocation) |
Initialize transform to Visibility plane using the image as a template. 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 vi::VisBuffer2 &vb) |
Vectorized version of initializeToVis. More... | |
virtual void | initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const vi::VisBuffer2 &vb) |
Initialize transform to Visibility plane. More... | |
virtual void | initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const vi::VisBuffer2 &vb, casacore::Array< casacore::Complex > &griddedVis, casacore::Vector< casacore::Double > &uvscale) |
This version returns the gridded vis...should be used in conjunction with the version of 'get' that needs the gridded visdata. More... | |
virtual void | finalizeToVis () |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used. More... | |
virtual void | initVisBuffer (vi::VisBuffer2 &vb, Type whichVBColumn) |
void | initVisBuffer (vi::VisBuffer2 &vb, Type whichVBColumn, casacore::Int row) |
void | get (vi::VisBuffer2 &vb, casacore::Int row=-1) |
Get actual coherence from grid by degridding. More... | |
void | get (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > °rid, casacore::Array< casacore::Complex > &griddedVis, casacore::Vector< casacore::Double > &scale, casacore::Int row=-1) |
Get the coherence from grid return it in the degrid is used especially when scratch columns are not present in ms. More... | |
void | get (vi::VisBuffer2 &vb, casacore::Cube< casacore::Float > &pointingOffsets, casacore::Int row=-1, FTMachine::Type whichVBColumn=FTMachine::MODEL, casacore::Int Conj=0) |
void | get (vi::VisBuffer2 &vb, vi::VisBuffer2 &gradAzVB, vi::VisBuffer2 &gradElVB, casacore::Cube< casacore::Float > &pointingOffsets, casacore::Int row=-1, Type whichVBColumn=FTMachine::MODEL, Type whichGradVBColumn=FTMachine::MODEL, casacore::Int Conj=0, casacore::Int doGrad=1) |
void | nget (vi::VisBuffer2 &vb, casacore::Array< casacore::Float > &l_off, casacore::Array< casacore::Float > &m_off, casacore::Cube< casacore::Complex > &Mout, casacore::Cube< casacore::Complex > &dMout1, casacore::Cube< casacore::Complex > &dMout2, casacore::Int Conj=0, casacore::Int doGrad=1) |
void | get (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > °rid, casacore::Array< casacore::Complex > &griddedVis, casacore::Vector< casacore::Double > &scale, casacore::Cube< casacore::Float > &pointingOffsets, casacore::Int row=-1) |
Get the coherence from grid return it in the degrid is used especially when scratch columns are not present in ms. More... | |
void | put (const vi::VisBuffer2 &, casacore::TempImage< casacore::Complex > &, casacore::Vector< casacore::Double > &, int, casacore::UVWMachine *, casacore::Bool) |
Put coherence to grid by gridding. More... | |
void | put (const vi::VisBuffer2 &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=FTMachine::OBSERVED) |
Put coherence to grid. More... | |
void | getWeightImage (casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &) |
Get the final weights image. More... | |
casacore::Bool | toRecord (casacore::RecordInterface &outRec, casacore::Bool withImage=false) |
Save and restore the AWProjectFT to and from a record. More... | |
casacore::Bool | fromRecord (const casacore::RecordInterface &inRec) |
casacore::Bool | isFourier () |
Can this FTMachine be represented by Fourier convolutions? More... | |
virtual casacore::Int | findPointingOffsets (const vi::VisBuffer2 &, casacore::Cube< casacore::Float > &, casacore::Array< casacore::Float > &, casacore::Array< casacore::Float > &, casacore::Bool Evaluate=true) |
virtual casacore::Double | getVBPA (const vi::VisBuffer2 &vb) |
casacore::MDirection::Convert | makeCoordinateMachine (const vi::VisBuffer2 &, const casacore::MDirection::Types &, const casacore::MDirection::Types &, casacore::MEpoch &last) |
virtual void | makeSensitivityImage (casacore::Lattice< casacore::Complex > &, casacore::ImageInterface< casacore::Float > &, const casacore::Matrix< casacore::Float > &, const casacore::Bool &) |
Make a sensitivity image (sensitivityImage), given the gridded weights (wtImage). More... | |
virtual casacore::ImageInterface < casacore::Float > & | getSensitivityImage () |
Given the sky image (Fourier transform of the visibilities), sum of weights and the sensitivity image, this method replaces the skyImage with the normalized image of the sky. More... | |
virtual casacore::Matrix < casacore::Double > & | getSumOfWeights () |
virtual casacore::Matrix < casacore::Double > & | getSumOfCFWeights () |
void | makeConjPolMap (const vi::VisBuffer2 &vb, const casacore::Vector< casacore::Int > cfPolMap, casacore::Vector< casacore::Int > &conjPolMap) |
void | makeCFPolMap (const vi::VisBuffer2 &vb, const casacore::Vector< casacore::Int > &cfstokes, casacore::Vector< casacore::Int > &polM) |
casacore::Vector<casacore::Int> makeConjPolMap(const VisBuffer& vb); More... | |
void | reset () |
void reset() {vpSJ->reset();} More... | |
void | setPAIncrement (const casacore::Quantity &computePAIncr, const casacore::Quantity &rotateOTFPAIncr) |
casacore::Vector< casacore::Int > & | getPolMap () |
virtual casacore::Bool | verifyAvgPB (casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Float > &sky) |
virtual casacore::Bool | verifyAvgPB (casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Complex > &sky) |
virtual casacore::Complex | pbFunc (const casacore::Complex &a, const casacore::Float &limit) |
{if (abs(a) >= limit) return (a);else return 1.0;}; 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... | |
virtual void | ComputeResiduals (vi::VisBuffer2 &vb, casacore::Bool useCorrected) |
Make the VB and VBStore interefaces for the interim re-factoring work. More... | |
void | makeWBCFWt (CFStore2 &cfs, const casacore::Double imRefFreq) |
virtual const casacore::CountedPtr < refim::FTMachine > & | getFTM2 (const casacore::Bool) |
Public Member Functions inherited from casa::refim::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 void | initializeToVisNew (const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | initializeToSkyNew (const casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | initBriggsWeightor (vi::VisibilityIterator2 &vi) |
This function has to be called after initMaps to initialize Briggs Cube weighting scheme More... | |
virtual void | finalizeToSky (casacore::ImageInterface< casacore::Complex > &iimage) |
virtual void | finalizeToSkyNew (casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | put (vi::VisBuffer2 &vb, casacore::Int row=-1, casacore::Bool dopsf=false, refim::FTMachine::Type type=refim::FTMachine::OBSERVED) |
Non const vb version - so that weights can be modified in-place Currently, used only by MultiTermFT. 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 (vi::VisBuffer2 &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 vi::VisBuffer2 &vb, casacore::Bool &firstRow, casacore::Bool &internalRow) |
template<typename T > | |
void | getGrid (casacore::Array< T > &thegrid) |
More... | |
virtual const casacore::CountedPtr < refim::ConvolutionFunction > & | getAWConvFunc () |
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, vi::VisibilityIterator2 &vi, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight) |
Make the entire image Make the entire image using a ROVisIter. More... | |
void | rotateUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb) |
More... | |
void | girarUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb) |
rotate with facetting style rephasing..for multifield mosaic More... | |
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 vi::VisBuffer2 &vb) |
Refocus on a finite distance. More... | |
virtual casacore::Bool | toRecord (casacore::String &error, casacore::RecordInterface &outRecord, casacore::Bool withImage=false, const casacore::String diskimagename="") |
Save and restore the FTMachine to and from a record. More... | |
virtual casacore::Bool | fromRecord (casacore::String &error, const casacore::RecordInterface &inRecord) |
virtual casacore::Bool | changed (const vi::VisBuffer2 &vb) |
Has this operator changed since the last application? More... | |
casacore::Bool | setFrameValidity (casacore::Bool validFrame) |
set otf spectral frame transform is on or off; More... | |
virtual casacore::Bool | doublePrecGrid () |
return whether the ftmachine is using a double precision grid More... | |
virtual void | setNoPadding (casacore::Bool nopad) |
To make sure no padding is used in certain gridders. More... | |
virtual void | setLocation (const casacore::MPosition &loc) |
set and get the location used for frame More... | |
virtual casacore::MPosition & | getLocation () |
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 More... | |
virtual void | setMovingSource (const casacore::MDirection &mdir) |
virtual void | setFreqInterpolation (const casacore::String &method) |
set frequency interpolation type More... | |
virtual void | setFreqInterpolation (const casacore::InterpolateArray1D< casacore::Double, casacore::Complex >::InterpolationMethod type) |
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 void | setSpwFreqSelection (const casacore::Matrix< casacore::Double > &spwfreqs) |
virtual void | setCanComputeResiduals (casacore::Bool &b) |
virtual casacore::Bool | canComputeResiduals () |
void | setnumthreads (casacore::Int n) |
virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads More... | |
casacore::Int | getnumthreads () |
casacore::CountedPtr< CFCache > | getCFCache () |
casacore::String | getCacheDir () |
virtual casacore::Bool | dryRun () |
virtual casacore::Bool | isUsingCFCache () |
void | setPseudoIStokes (casacore::Bool pseudoI) |
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 () |
casacore::Vector< casacore::Int > | channelMap (const vi::VisBuffer2 &vb) |
casacore::Matrix < casacore::Double > | getSumWeights () |
void | setBriggsCubeWeight (casacore::CountedPtr< refim::BriggsCubeWeightor > bwght) |
Functions associated with Briggs weighting for cubes. More... | |
void | getImagingWeight (casacore::Matrix< casacore::Float > &imwght, const vi::VisBuffer2 &vb) |
virtual casacore::Long | estimateRAM (const casacore::CountedPtr< SIImageStore > &imstore) |
utility function that returns a rough estimate of memory needed. More... | |
Definition at line 40 of file AWProjectWBFTNew.h.
|
inline |
Definition at line 43 of file AWProjectWBFTNew.h.
|
inline |
Construct from a casacore::Record containing the AWProjectWBFT state.
Definition at line 59 of file AWProjectWBFTNew.h.
|
inline |
Definition at line 66 of file AWProjectWBFTNew.h.
|
virtual |
clone copy should make it pure virtual forcing every ftm to have a cloner
Reimplemented from casa::refim::FTMachine.
|
protected |
|
inlinevirtual |
Copy constructor
AWProjectWBFTNew(const AWProjectWBFTNew &other):AWProjectWBFT() {operator=(other);};
Reimplemented from casa::refim::AWProjectWBFT.
Definition at line 64 of file AWProjectWBFTNew.h.
|
inlinevirtual |
cerr << "###### " << isDryRun << endl;
Reimplemented from casa::refim::FTMachine.
Definition at line 71 of file AWProjectWBFTNew.h.
References casa::refim::FTMachine::isDryRun.
|
inlinevirtual |
All FTMachines that fill weightimage, need to set this.
TODO : Make this pure virtual.
Reimplemented from casa::refim::FTMachine.
Definition at line 70 of file AWProjectWBFTNew.h.