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

#include <MosaicFTNew.h>

Inheritance diagram for casa::MosaicFTNew:
casa::MosaicFT casa::FTMachine

Public Member Functions

 MosaicFTNew (SkyJones *sj, casacore::MPosition mloc, casacore::String stokes, casacore::Long cachesize, casacore::Int tilesize=16, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false)
 Constructor: cachesize is the size of the cache in words (e.g. More...
 
 MosaicFTNew (const casacore::RecordInterface &rec)
 
FTMachinecloneFTM ()
 clone copy the default cloner clones via a Record copy More...
 
casacore::ImageInterface
< casacore::Complex > & 
getImage (casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true)
 Get the final image: do the Fourier transform and grid-correct, then optionally normalize by the summed weights. More...
 
void getWeightImage (casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &)
 Get the final weights image. More...
 
virtual casacore::String name () const
 Return name of this machine. More...
 
- Public Member Functions inherited from casa::MosaicFT
 MosaicFT (SkyJones *sj, casacore::MPosition mloc, casacore::String stokes, casacore::Long cachesize, casacore::Int tilesize=16, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false)
 Constructor: cachesize is the size of the cache in words (e.g. More...
 
 MosaicFT (const casacore::RecordInterface &stateRec)
 Construct from a casacore::Record containing the MosaicFT state. More...
 
 MosaicFT (const MosaicFT &other)
 Copy constructor–convolution function is referenced. More...
 
MosaicFToperator= (const MosaicFT &other)
 Assignment operator – convolution function is referenced. More...
 
 ~MosaicFT ()
 
void initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
 Initialize transform to Visibility plane using the image as a template. More...
 
void finalizeToVis ()
 Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used. More...
 
void initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer &vb)
 Initialize transform to Sky plane: initializes the image. More...
 
void get (VisBuffer &vb, casacore::Int row=-1)
 Get actual coherence from grid by degridding. More...
 
void put (const VisBuffer &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=FTMachine::OBSERVED)
 Put coherence to grid by gridding. More...
 
void makeImage (FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
 Make the entire image. More...
 
virtual void normalizeImage (casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool)
 
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...
 
casacore::Bool toRecord (casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="")
 Save and restore the MosaicFT to and from a record. More...
 
casacore::Bool fromRecord (casacore::String &error, const casacore::RecordInterface &inRec)
 
casacore::Bool isFourier ()
 Can this FTMachine be represented by Fourier convolutions? More...
 
virtual casacore::Bool useWeightImage ()
 All FTMachines that fill weightimage, need to set this. More...
 
void setConvFunc (casacore::CountedPtr< SimplePBConvFunc > &pbconvFunc)
 Copy convolution function etc to another FT machine necessary if ft and ift are distinct but can share convfunctions. More...
 
casacore::CountedPtr
< SimplePBConvFunc > & 
getConvFunc ()
 
casacore::CountedPtr
< casacore::TempImage
< casacore::Float > > & 
getConvWeightImage ()
 
virtual void reset ()
 reset weight image 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 (VisBuffer &, casacore::Bool)
 Make the VB and VBStore interefaces for the interim re-factoring work. More...
 
- 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 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 ()=0
 

Finalize transform to Sky plane 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 finalizeToSkyNew (casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore)
 
virtual void put (VisBuffer &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=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::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 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...
 
virtual void setNoPadding (casacore::Bool nopad)
 To make sure no padding is used in certain gridders. 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 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 ()
 

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::MosaicFT
Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used. DOES NOT DO THE FINAL TRANSFORM! */ void finalizeToSky()
 
- Public Attributes inherited from casa::FTMachine
casacore::Bool isDryRun
 
- Protected Member Functions inherited from casa::MosaicFT
casacore::Int nint (casacore::Double val)
 
void findConvFunction (const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
 Find the convolution function. More...
 
void addBeamCoverage (casacore::ImageInterface< casacore::Complex > &image)
 void girarUVW(casacore::Matrix<casacore::Double>& uvw, casacore::Vector<casacore::Double>& dphase, const VisBuffer& vb); More...
 
void prepGridForDegrid ()
 
casacore::Array
< casacore::Complex > * 
getDataPointer (const casacore::IPosition &, casacore::Bool)
 Get the appropriate data pointer. More...
 
void ok ()
 
void init ()
 
casacore::Bool recordOnGrid (const VisBuffer &vb, casacore::Int rownr) const
 Is this record on Grid? check both ends. More...
 
casacore::Int getIndex (const casacore::ROMSPointingColumns &mspc, const casacore::Double &time, const casacore::Double &interval)
 
casacore::Bool getXYPos (const VisBuffer &vb, casacore::Int row)
 
- Protected Member Functions inherited from casa::FTMachine
casacore::LogIOlogIO ()
 
virtual void initMaps (const VisBuffer &vb)
 
virtual void initPolInfo (const VisBuffer &vb)
 
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 inherited from casa::MosaicFT
SkyJonessj_p
 
casacore::LatticeCache
< casacore::Complex > * 
imageCache
 Image cache. More...
 
casacore::Long cachesize
 Sizes. More...
 
casacore::Int tilesize
 
casacore::ConvolveGridder
< casacore::Double,
casacore::Complex > * 
gridder
 Gridder. More...
 
casacore::Bool isTiled
 Is this tiled? More...
 
casacore::CountedPtr
< casacore::Lattice
< casacore::Complex > > 
arrayLattice
 casacore::Array lattice More...
 
casacore::CountedPtr
< casacore::Lattice
< casacore::Complex > > 
lattice
 Lattice. More...
 
casacore::CountedPtr
< casacore::Lattice
< casacore::Complex > > 
weightLattice
 
casacore::Float maxAbsData
 
casacore::IPosition centerLoc
 Useful IPositions. More...
 
casacore::IPosition offsetLoc
 
casacore::Vector
< casacore::Double
uvScale
 Image Scaling and offset. More...
 
casacore::Vector
< casacore::Double
uvOffset
 
casacore::Array
< casacore::Complex > 
griddedWeight
 casacore::Array for non-tiled gridding More...
 
casacore::Array
< casacore::DComplex > 
griddedWeight2
 
casacore::MSPointingColumnsmspc
 Pointing columns. More...
 
casacore::MSAntennaColumnsmsac
 Antenna columns. More...
 
casacore::DirectionCoordinate directionCoord
 
casacore::MDirection::ConvertpointingToImage
 
casacore::Vector
< casacore::Double
xyPos
 
casacore::MDirection worldPosMeas
 
casacore::Int priorCacheSize
 
casacore::Bool usezero_p
 Grid/degrid zero spacing points? More...
 
casacore::Array
< casacore::Complex > 
convFunc
 
casacore::Array
< casacore::Complex > 
weightConvFunc_p
 
casacore::Int convSampling
 
casacore::Int convSize
 
casacore::Int convSupport
 
casacore::Vector< casacore::IntconvSupportPlanes_p
 
casacore::Vector< casacore::IntconvSizePlanes_p
 
casacore::Vector< casacore::IntconvRowMap_p
 
casacore::Vector< casacore::IntconvChanMap_p
 
casacore::Vector< casacore::IntconvPolMap_p
 
casacore::Int wConvSize
 
casacore::Int lastIndex_p
 
casacore::CountedPtr
< casacore::TempImage
< casacore::Float > > 
skyCoverage_p
 
casacore::TempImage
< casacore::Complex > * 
convWeightImage_p
 
casacore::CountedPtr
< SimplePBConvFunc
pbConvFunc_p
 
casacore::String machineName_p
 Later this. More...
 
casacore::Bool doneWeightImage_p
 
casacore::String stokes_p
 
- 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
 

Detailed Description

Definition at line 48 of file MosaicFTNew.h.

Constructor & Destructor Documentation

casa::MosaicFTNew::MosaicFTNew ( SkyJones sj,
casacore::MPosition  mloc,
casacore::String  stokes,
casacore::Long  cachesize,
casacore::Int  tilesize = 16,
casacore::Bool  usezero = true,
casacore::Bool  useDoublePrec = false 
)
inline

Constructor: cachesize is the size of the cache in words (e.g.

a few million is a good number), tilesize is the size of the tile used in gridding (cannot be less than 12, 16 works in most cases).

Definition at line 56 of file MosaicFTNew.h.

casa::MosaicFTNew::MosaicFTNew ( const casacore::RecordInterface rec)
inline

Definition at line 60 of file MosaicFTNew.h.

Member Function Documentation

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

clone copy the default cloner clones via a Record copy

Reimplemented from casa::FTMachine.

casacore::ImageInterface<casacore::Complex>& casa::MosaicFTNew::getImage ( casacore::Matrix< casacore::Float > &  ,
casacore::Bool  normalize = true 
)
virtual

Get the final image: do the Fourier transform and grid-correct, then optionally normalize by the summed weights.

Reimplemented from casa::MosaicFT.

void casa::MosaicFTNew::getWeightImage ( casacore::ImageInterface< casacore::Float > &  ,
casacore::Matrix< casacore::Float > &   
)
virtual

Get the final weights image.

Reimplemented from casa::MosaicFT.

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

Return name of this machine.

Reimplemented from casa::MosaicFT.

Definition at line 74 of file MosaicFTNew.h.


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