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

#include <WOnlyProjectFT.h>

Inheritance diagram for casa::WOnlyProjectFT:
casa::FTMachine

Public Member Functions

 WOnlyProjectFT (casacore::Int nFacets, casacore::Long cachesize, casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cf, casacore::CountedPtr< VisibilityResampler > &reSampler, casacore::Int tilesize=16, casacore::Float pbLimit=5e-2, casacore::Bool usezero=false)
 Constructor: cachesize is the size of the cache in words (e.g. More...
 
 WOnlyProjectFT (const casacore::RecordInterface &stateRec)
 Construct from a casacore::Record containing the WOnlyProjectFT state. More...
 
 WOnlyProjectFT (const WOnlyProjectFT &other)
 Copy constructor. More...
 
WOnlyProjectFToperator= (const WOnlyProjectFT &other)
 Assignment operator. More...
 
 ~WOnlyProjectFT ()
 
virtual void initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
 Initialize transform to Visibility plane. More...
 
virtual void initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &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 initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer &vb)
 Initialize transform to Sky plane: initializes the image. More...
 
virtual void finalizeToSky ()
 Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used. More...
 
virtual void initVisBuffer (VisBuffer &vb, Type whichVBColumn)
 
void initVisBuffer (VisBuffer &vb, Type whichVBColumn, casacore::Int row)
 
void get (VisBuffer &vb, casacore::Int row=-1)
 Get actual coherence from grid by degridding. More...
 
void get (VisBuffer &vb, casacore::Cube< casacore::Complex > &degrid, 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 put (const VisBuffer &, casacore::TempImage< casacore::Complex > &, casacore::Vector< casacore::Double > &, int, casacore::UVWMachine *, casacore::Bool)
 Put coherence to grid by gridding. More...
 
void put (const VisBuffer &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=FTMachine::OBSERVED)
 Put coherence to grid. More...
 
void makeImage (FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
 Make the entire image. More...
 
virtual
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...
 
casacore::Bool toRecord (casacore::RecordInterface &outRec, casacore::Bool withImage=false)
 Save and restore the WOnlyProjectFT 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 void makeSensitivityImage (casacore::Lattice< casacore::Complex > &wtImage, casacore::ImageInterface< casacore::Float > &sensitivityImage, const casacore::Matrix< casacore::Float > &sumWt=casacore::Matrix< casacore::Float >(), const casacore::Bool &doFFTNorm=true)
 Make a sensitivity image (sensitivityImage), given the gridded weights (wtImage). More...
 
virtual void makeSensitivityImage (const VisBuffer &vb, const casacore::ImageInterface< casacore::Complex > &imageTemplate, casacore::ImageInterface< casacore::Float > &sensitivityImage)
 
virtual void normalizeImage (casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Double > &sumOfWts, casacore::Lattice< casacore::Float > &sensitivityImage, casacore::Bool fftNorm=true)
 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 void normalizeImage (casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Double > &sumOfWts, casacore::Lattice< casacore::Float > &sensitivityImage, casacore::Lattice< casacore::Complex > &sensitivitySqImage, casacore::Bool fftNorm=true)
 
virtual
casacore::ImageInterface
< casacore::Float > & 
getSensitivityImage ()
 
virtual casacore::Matrix
< casacore::Double > & 
getSumOfWeights ()
 
casacore::Vector< casacore::Int > & getPolMap ()
 
virtual casacore::String name ()
 
virtual casacore::Bool verifyShapes (casacore::IPosition shape0, casacore::IPosition shape1)
 
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)
 
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 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 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 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 getWeightImage (casacore::ImageInterface< casacore::Float > &weightImage, casacore::Matrix< casacore::Float > &weights)=0
 Get the final weights image. More...
 
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 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 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...
 
virtual casacore::String name () const =0
 Return the name of the machine. 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 void ComputeResiduals (VisBuffer &vb, casacore::Bool useCorrected)=0
 Make the VB and VBStore interefaces for the interim re-factoring work. More...
 
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

casacore::Int nint (casacore::Double val)
 
void findConvFunction (const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
 Locate convolution functions on the disk casacore::Int locateConvFunction(const casacore::Int Nw, const casacore::Float pa); void cacheConvFunction(casacore::Int which, casacore::Array<casacore::Complex>& cf, casacore::CoordinateSystem& coord); Find the convolution function. More...
 
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
 virtual void initPolInfo(const VisBuffer& vb); Is this record on Grid? check both ends. More...
 
virtual void runFortranGet (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, casacore::Cube< casacore::Complex > &visdata, casacore::IPosition &s, casacore::Int &Conj, casacore::Cube< casacore::Int > &flags, casacore::Vector< casacore::Int > &rowFlags, casacore::Int &rownr, casacore::Vector< casacore::Double > &actualOffset, casacore::Array< casacore::Complex > *dataPtr, casacore::Int &aNx, casacore::Int &aNy, casacore::Int &npol, casacore::Int &nchan, VisBuffer &vb, casacore::Int &Nant_p, casacore::Int &scanNo, casacore::Double &sigma, casacore::Array< casacore::Float > &raoffsets, casacore::Array< casacore::Float > &decoffsets, casacore::Double area, casacore::Int &doGrad, casacore::Int paIndex)
 
virtual void runFortranPut (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const casacore::Complex &visdata_p, casacore::IPosition &s, casacore::Int &Conj, casacore::Cube< casacore::Int > &flags, casacore::Vector< casacore::Int > &rowFlags, const casacore::Matrix< casacore::Float > &weight, casacore::Int &rownr, casacore::Vector< casacore::Double > &actualOffset, casacore::Array< casacore::Complex > &dataPtr, casacore::Int &aNx, casacore::Int &aNy, casacore::Int &npol, casacore::Int &nchan, const VisBuffer &vb, casacore::Int &Nant_p, casacore::Int &scanNo, casacore::Double &sigma, casacore::Array< casacore::Float > &raoffsets, casacore::Array< casacore::Float > &decoffsets, casacore::Matrix< casacore::Double > &sumWeight, casacore::Double &area, casacore::Int &doGrad, casacore::Int &doPSF, casacore::Int paIndex)
 
void runFortranGetGrad (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, casacore::Cube< casacore::Complex > &visdata, casacore::IPosition &s, casacore::Cube< casacore::Complex > &gradVisAzData, casacore::Cube< casacore::Complex > &gradVisElData, casacore::Int &Conj, casacore::Cube< casacore::Int > &flags, casacore::Vector< casacore::Int > &rowFlags, casacore::Int &rownr, casacore::Vector< casacore::Double > &actualOffset, casacore::Array< casacore::Complex > *dataPtr, casacore::Int &aNx, casacore::Int &aNy, casacore::Int &npol, casacore::Int &nchan, VisBuffer &vb, casacore::Int &Nant_p, casacore::Int &scanNo, casacore::Double &sigma, casacore::Array< casacore::Float > &l_off, casacore::Array< casacore::Float > &m_off, casacore::Double area, casacore::Int &doGrad, casacore::Int paIndex)
 
- 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

casacore::Float padding_p
 Padding in FFT. More...
 
casacore::Int nWPlanes_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::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 > 
griddedData
 casacore::Array for non-tiled gridding More...
 
casacore::MDirection::ConvertpointingToImage
 casacore::DirectionCoordinate directionCoord; More...
 
casacore::Bool usezero_p
 Grid/degrid zero spacing points? More...
 
casacore::Array
< casacore::Complex > 
convFunc_p
 casacore::CountedPtr<ConvolutionFunction> telescopeConvFunc_p; CFStore cfs_p, cfwts_p; More...
 
casacore::Array
< casacore::Complex > 
convWeights_p
 
casacore::CountedPtr
< VisibilityResampler
reSampler_p
 
casacore::Int convSize
 casacore::Vector to hold the support size info. More...
 
casacore::Int convSampling
 
casacore::Int wConvSize
 
casacore::Int lastIndex_p
 
casacore::Int maxConvSupport
 No. More...
 
casacore::Int Nant_p
 
casacore::Bool makingPSF
 
- 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 139 of file WOnlyProjectFT.h.

Constructor & Destructor Documentation

casa::WOnlyProjectFT::WOnlyProjectFT ( casacore::Int  nFacets,
casacore::Long  cachesize,
casacore::CountedPtr< CFCache > &  cfcache,
casacore::CountedPtr< ConvolutionFunction > &  cf,
casacore::CountedPtr< VisibilityResampler > &  reSampler,
casacore::Int  tilesize = 16,
casacore::Float  pbLimit = 5e-2,
casacore::Bool  usezero = false 
)

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).

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

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

casa::WOnlyProjectFT::WOnlyProjectFT ( const WOnlyProjectFT other)

Copy constructor.

casa::WOnlyProjectFT::~WOnlyProjectFT ( )

Member Function Documentation

virtual void casa::WOnlyProjectFT::finalizeToSky ( )
virtual

Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used.

DOES NOT DO THE FINAL TRANSFORM!

Implements casa::FTMachine.

virtual void casa::WOnlyProjectFT::finalizeToVis ( )
virtual

Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used.

Implements casa::FTMachine.

void casa::WOnlyProjectFT::findConvFunction ( const casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer vb 
)
protectedvirtual

Locate convolution functions on the disk casacore::Int locateConvFunction(const casacore::Int Nw, const casacore::Float pa); void cacheConvFunction(casacore::Int which, casacore::Array<casacore::Complex>& cf, casacore::CoordinateSystem& coord); Find the convolution function.

Reimplemented from casa::FTMachine.

casacore::Bool casa::WOnlyProjectFT::fromRecord ( const casacore::RecordInterface inRec)
void casa::WOnlyProjectFT::get ( VisBuffer vb,
casacore::Int  row = -1 
)
virtual

Get actual coherence from grid by degridding.

Implements casa::FTMachine.

void casa::WOnlyProjectFT::get ( VisBuffer vb,
casacore::Cube< casacore::Complex > &  degrid,
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.

casacore::Array<casacore::Complex>* casa::WOnlyProjectFT::getDataPointer ( const casacore::IPosition ,
casacore::Bool   
)
protected

Get the appropriate data pointer.

virtual casacore::ImageInterface<casacore::Complex>& casa::WOnlyProjectFT::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.

Implements casa::FTMachine.

casacore::Vector<casacore::Int>& casa::WOnlyProjectFT::getPolMap ( )
inline

Definition at line 263 of file WOnlyProjectFT.h.

References casa::FTMachine::polMap.

virtual casacore::ImageInterface<casacore::Float>& casa::WOnlyProjectFT::getSensitivityImage ( )
inlinevirtual

Definition at line 260 of file WOnlyProjectFT.h.

virtual casacore::Matrix<casacore::Double>& casa::WOnlyProjectFT::getSumOfWeights ( )
inlinevirtual

Definition at line 261 of file WOnlyProjectFT.h.

References casa::FTMachine::sumWeight.

void casa::WOnlyProjectFT::init ( )
protected
virtual void casa::WOnlyProjectFT::initializeToSky ( casacore::ImageInterface< casacore::Complex > &  image,
casacore::Matrix< casacore::Float > &  weight,
const VisBuffer vb 
)
virtual

Initialize transform to Sky plane: initializes the image.

Implements casa::FTMachine.

virtual void casa::WOnlyProjectFT::initializeToVis ( casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer vb 
)
virtual

Initialize transform to Visibility plane.

Implements casa::FTMachine.

virtual void casa::WOnlyProjectFT::initializeToVis ( casacore::ImageInterface< casacore::Complex > &  image,
const VisBuffer vb,
casacore::Array< casacore::Complex > &  griddedVis,
casacore::Vector< casacore::Double > &  uvscale 
)
virtual

This version returns the gridded vis...should be used in conjunction with the version of 'get' that needs the gridded visdata.

virtual void casa::WOnlyProjectFT::initVisBuffer ( VisBuffer vb,
Type  whichVBColumn 
)
virtual
void casa::WOnlyProjectFT::initVisBuffer ( VisBuffer vb,
Type  whichVBColumn,
casacore::Int  row 
)
casacore::Bool casa::WOnlyProjectFT::isFourier ( )
inlinevirtual

Can this FTMachine be represented by Fourier convolutions?

Reimplemented from casa::FTMachine.

Definition at line 227 of file WOnlyProjectFT.h.

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

Make the entire image.

Reimplemented from casa::FTMachine.

virtual void casa::WOnlyProjectFT::makeSensitivityImage ( casacore::Lattice< casacore::Complex > &  wtImage,
casacore::ImageInterface< casacore::Float > &  sensitivityImage,
const casacore::Matrix< casacore::Float > &  sumWt = casacore::Matrix<casacore::Float>(),
const casacore::Bool doFFTNorm = true 
)
inlinevirtual

Make a sensitivity image (sensitivityImage), given the gridded weights (wtImage).

These are related to each other by a Fourier transform and normalization by the sum-of-weights (sumWt) and normalization by the product of the 2D FFT size along each axis. If doFFTNorm=false, normalization by the FFT size is not done. If sumWt is not provided, normalization by the sum of weights is also not done.

Definition at line 238 of file WOnlyProjectFT.h.

virtual void casa::WOnlyProjectFT::makeSensitivityImage ( const VisBuffer vb,
const casacore::ImageInterface< casacore::Complex > &  imageTemplate,
casacore::ImageInterface< casacore::Float > &  sensitivityImage 
)
virtual
virtual casacore::String casa::WOnlyProjectFT::name ( )
inlinevirtual

Definition at line 264 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::nint ( casacore::Double  val)
inlineprotected

Definition at line 270 of file WOnlyProjectFT.h.

References casacore::floor().

virtual void casa::WOnlyProjectFT::normalizeImage ( casacore::Lattice< casacore::Complex > &  skyImage,
const casacore::Matrix< casacore::Double > &  sumOfWts,
casacore::Lattice< casacore::Float > &  sensitivityImage,
casacore::Bool  fftNorm = true 
)
virtual

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.

Reimplemented from casa::FTMachine.

virtual void casa::WOnlyProjectFT::normalizeImage ( casacore::Lattice< casacore::Complex > &  skyImage,
const casacore::Matrix< casacore::Double > &  sumOfWts,
casacore::Lattice< casacore::Float > &  sensitivityImage,
casacore::Lattice< casacore::Complex > &  sensitivitySqImage,
casacore::Bool  fftNorm = true 
)
virtual
void casa::WOnlyProjectFT::ok ( )
protectedvirtual

Reimplemented from casa::FTMachine.

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

Assignment operator.

void casa::WOnlyProjectFT::put ( const VisBuffer ,
casacore::TempImage< casacore::Complex > &  ,
casacore::Vector< casacore::Double > &  ,
int  ,
casacore::UVWMachine ,
casacore::Bool   
)
inline

Put coherence to grid by gridding.

throw(casacore::AipsError("WOnlyProjectFT::put is not implemented"));

Definition at line 204 of file WOnlyProjectFT.h.

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

Put coherence to grid.

Implements casa::FTMachine.

casacore::Bool casa::WOnlyProjectFT::recordOnGrid ( const VisBuffer vb,
casacore::Int  rownr 
) const
protected

virtual void initPolInfo(const VisBuffer& vb); Is this record on Grid? check both ends.

This assumes that the ends bracket the middle

virtual void casa::WOnlyProjectFT::runFortranGet ( casacore::Matrix< casacore::Double > &  uvw,
casacore::Vector< casacore::Double > &  dphase,
casacore::Cube< casacore::Complex > &  visdata,
casacore::IPosition s,
casacore::Int Conj,
casacore::Cube< casacore::Int > &  flags,
casacore::Vector< casacore::Int > &  rowFlags,
casacore::Int rownr,
casacore::Vector< casacore::Double > &  actualOffset,
casacore::Array< casacore::Complex > *  dataPtr,
casacore::Int aNx,
casacore::Int aNy,
casacore::Int npol,
casacore::Int nchan,
VisBuffer vb,
casacore::Int Nant_p,
casacore::Int scanNo,
casacore::Double sigma,
casacore::Array< casacore::Float > &  raoffsets,
casacore::Array< casacore::Float > &  decoffsets,
casacore::Double  area,
casacore::Int doGrad,
casacore::Int  paIndex 
)
protectedvirtual
Parameters
Conjcasacore::Cube<casacore::Complex>& gradVisAzData, casacore::Cube<casacore::Complex>& gradVisElData, casacore::IPosition& gradS,
void casa::WOnlyProjectFT::runFortranGetGrad ( casacore::Matrix< casacore::Double > &  uvw,
casacore::Vector< casacore::Double > &  dphase,
casacore::Cube< casacore::Complex > &  visdata,
casacore::IPosition s,
casacore::Cube< casacore::Complex > &  gradVisAzData,
casacore::Cube< casacore::Complex > &  gradVisElData,
casacore::Int Conj,
casacore::Cube< casacore::Int > &  flags,
casacore::Vector< casacore::Int > &  rowFlags,
casacore::Int rownr,
casacore::Vector< casacore::Double > &  actualOffset,
casacore::Array< casacore::Complex > *  dataPtr,
casacore::Int aNx,
casacore::Int aNy,
casacore::Int npol,
casacore::Int nchan,
VisBuffer vb,
casacore::Int Nant_p,
casacore::Int scanNo,
casacore::Double sigma,
casacore::Array< casacore::Float > &  l_off,
casacore::Array< casacore::Float > &  m_off,
casacore::Double  area,
casacore::Int doGrad,
casacore::Int  paIndex 
)
protected
Parameters
Conjcasacore::IPosition& gradS,
virtual void casa::WOnlyProjectFT::runFortranPut ( casacore::Matrix< casacore::Double > &  uvw,
casacore::Vector< casacore::Double > &  dphase,
const casacore::Complex &  visdata_p,
casacore::IPosition s,
casacore::Int Conj,
casacore::Cube< casacore::Int > &  flags,
casacore::Vector< casacore::Int > &  rowFlags,
const casacore::Matrix< casacore::Float > &  weight,
casacore::Int rownr,
casacore::Vector< casacore::Double > &  actualOffset,
casacore::Array< casacore::Complex > &  dataPtr,
casacore::Int aNx,
casacore::Int aNy,
casacore::Int npol,
casacore::Int nchan,
const VisBuffer vb,
casacore::Int Nant_p,
casacore::Int scanNo,
casacore::Double sigma,
casacore::Array< casacore::Float > &  raoffsets,
casacore::Array< casacore::Float > &  decoffsets,
casacore::Matrix< casacore::Double > &  sumWeight,
casacore::Double area,
casacore::Int doGrad,
casacore::Int doPSF,
casacore::Int  paIndex 
)
protectedvirtual
Parameters
Conjcasacore::Cube<casacore::Complex>& gradVisAzData, casacore::Cube<casacore::Complex>& gradVisElData, casacore::IPosition& gradS,
virtual void casa::WOnlyProjectFT::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 266 of file WOnlyProjectFT.h.

casacore::Bool casa::WOnlyProjectFT::toRecord ( casacore::RecordInterface outRec,
casacore::Bool  withImage = false 
)

Save and restore the WOnlyProjectFT to and from a record.

virtual casacore::Bool casa::WOnlyProjectFT::verifyShapes ( casacore::IPosition  shape0,
casacore::IPosition  shape1 
)
virtual

Member Data Documentation

casacore::CountedPtr<casacore::Lattice<casacore::Complex> > casa::WOnlyProjectFT::arrayLattice
protected

casacore::Array lattice

Definition at line 307 of file WOnlyProjectFT.h.

casacore::Long casa::WOnlyProjectFT::cachesize
protected

Sizes.

Definition at line 297 of file WOnlyProjectFT.h.

casacore::IPosition casa::WOnlyProjectFT::centerLoc
protected

Useful IPositions.

Definition at line 316 of file WOnlyProjectFT.h.

casacore::Array<casacore::Complex> casa::WOnlyProjectFT::convFunc_p
protected

casacore::CountedPtr<ConvolutionFunction> telescopeConvFunc_p; CFStore cfs_p, cfwts_p;

Definition at line 332 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::convSampling
protected

Definition at line 339 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::convSize
protected

casacore::Vector to hold the support size info.

for the convolution functions pointed to by the elements of convFunctions_p. The co-ordinates of this array are (W-term, Poln, PA).

Definition at line 339 of file WOnlyProjectFT.h.

casacore::Array<casacore::Complex> casa::WOnlyProjectFT::convWeights_p
protected

Definition at line 332 of file WOnlyProjectFT.h.

casacore::Array<casacore::Complex> casa::WOnlyProjectFT::griddedData
protected

casacore::Array for non-tiled gridding

Definition at line 322 of file WOnlyProjectFT.h.

casacore::ConvolveGridder<casacore::Double, casacore::Complex>* casa::WOnlyProjectFT::gridder
protected

Gridder.

Definition at line 301 of file WOnlyProjectFT.h.

casacore::LatticeCache<casacore::Complex>* casa::WOnlyProjectFT::imageCache
protected

Image cache.

Definition at line 294 of file WOnlyProjectFT.h.

casacore::Bool casa::WOnlyProjectFT::isTiled
protected

Is this tiled?

Definition at line 304 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::lastIndex_p
protected

Definition at line 339 of file WOnlyProjectFT.h.

casacore::CountedPtr<casacore::Lattice<casacore::Complex> > casa::WOnlyProjectFT::lattice
protected

Lattice.

For non-tiled gridding, this will point to arrayLattice, whereas for tiled gridding, this points to the image

Definition at line 311 of file WOnlyProjectFT.h.

casacore::Bool casa::WOnlyProjectFT::makingPSF
protected

Definition at line 348 of file WOnlyProjectFT.h.

casacore::Float casa::WOnlyProjectFT::maxAbsData
protected

Definition at line 313 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::maxConvSupport
protected

No.

of vis. polarization planes used in making the user defined casacore::Stokes images

Definition at line 345 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::Nant_p
protected

Definition at line 347 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::nWPlanes_p
protected

Definition at line 292 of file WOnlyProjectFT.h.

casacore::IPosition casa::WOnlyProjectFT::offsetLoc
protected

Definition at line 316 of file WOnlyProjectFT.h.

casacore::Float casa::WOnlyProjectFT::padding_p
protected

Padding in FFT.

Definition at line 290 of file WOnlyProjectFT.h.

casacore::MDirection::Convert* casa::WOnlyProjectFT::pointingToImage
protected

casacore::DirectionCoordinate directionCoord;

Definition at line 325 of file WOnlyProjectFT.h.

casacore::CountedPtr<VisibilityResampler> casa::WOnlyProjectFT::reSampler_p
protected

Definition at line 333 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::tilesize
protected

Definition at line 298 of file WOnlyProjectFT.h.

casacore::Bool casa::WOnlyProjectFT::usezero_p
protected

Grid/degrid zero spacing points?

Definition at line 328 of file WOnlyProjectFT.h.

casacore::Vector<casacore::Double> casa::WOnlyProjectFT::uvOffset
protected

Definition at line 319 of file WOnlyProjectFT.h.

casacore::Vector<casacore::Double> casa::WOnlyProjectFT::uvScale
protected

Image Scaling and offset.

Definition at line 319 of file WOnlyProjectFT.h.

casacore::Int casa::WOnlyProjectFT::wConvSize
protected

Definition at line 339 of file WOnlyProjectFT.h.


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