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

#include <AWProjectFT.h>

Inheritance diagram for casa::refim::AWProjectFT:
casa::refim::FTMachine casa::refim::AWProjectWBFT casa::refim::AWProjectWBFTNew

Public Member Functions

 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...
 
AWProjectFToperator= (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 initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const vi::VisBuffer2 &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 (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 > &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 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 > &degrid, 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...
 
virtual
casacore::ImageInterface
< casacore::Complex > & 
getImage (casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true)
 Make the entire image using a ROVisIter virtual void makeImage(FTMachine::Type, ROVisibilityIterator&, casacore::ImageInterface<casacore::Complex>&, casacore::Matrix<casacore::Float>&) {};. 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::Array< casacore::Float > &, casacore::Array< casacore::Float > &, casacore::Bool Evaluate=true)
 casacore::Bool changed(const VisBuffer& vb) {return vpSJ->changed(vb,1);}; casacore::Bool changed(const VisBuffer& vb) {return false;} 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 void makeSensitivityImage (const vi::VisBuffer2 &vb, const casacore::ImageInterface< casacore::Complex > &imageTemplate, casacore::ImageInterface< casacore::Float > &sensitivityImage)
 
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::String name () const
 Return the name of the machine. More...
 
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::Bool verifyShapes (casacore::IPosition shape0, casacore::IPosition shape1)
 
virtual casacore::Float pbFunc (const casacore::Float &a, const casacore::Float &limit)
 
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)
 
FTMachineoperator= (const FTMachine &other)
 
void setBasePrivates (const FTMachine &other)
 
virtual ~FTMachine ()
 
virtual FTMachinecloneFTM ()
 clone copy should make it pure virtual forcing every ftm to have a cloner More...
 
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 useWeightImage ()
 All FTMachines that fill weightimage, need to set this. More...
 
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::MPositiongetLocation ()
 
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 ()
 
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 ()
 
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::IntchannelMap (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...
 

Static Public Member Functions

static ATermcreateTelescopeATerm (const casacore::String &telescopeName, const casacore::Bool &isATermOn)
 
static casacore::CountedPtr
< ConvolutionFunction
makeCFObject (const casacore::String &telescopeName, const casacore::Bool aTermOn, const casacore::Bool psTermOn, const casacore::Bool wTermOn, const casacore::Bool mTermOn, const casacore::Bool wBAWP, const casacore::Bool conjBeams)
 
- Static Public Member Functions inherited from casa::refim::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

CFBStruct cfbst_pub
 
casacore::Vector
< casacore::Double
uvScale
 Image Scaling and offset. More...
 
casacore::Vector
< casacore::Double
uvOffset
 
- Public Attributes inherited from casa::refim::FTMachine
casacore::Bool isDryRun
 

Protected Member Functions

casacore::Int nint (casacore::Double val)
 
void findConvFunction (const casacore::ImageInterface< casacore::Complex > &image, const vi::VisBuffer2 &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 vi::VisBuffer2 &vb, casacore::Int rownr) const
 virtual void initPolInfo(const vi::VisBuffer2& vb); Is this record on Grid? check both ends. More...
 
virtual void normalizeAvgPB ()
 
More...
 
virtual void normalizeAvgPB (casacore::ImageInterface< casacore::Complex > &inImage, casacore::ImageInterface< casacore::Float > &outImage)
 
virtual void resampleDataToGrid (casacore::Array< casacore::Complex > &griddedData, VBStore &vbs, const vi::VisBuffer2 &vb, casacore::Bool &dopsf)
 
virtual void resampleDataToGrid (casacore::Array< casacore::DComplex > &griddedData, VBStore &vbs, const vi::VisBuffer2 &vb, casacore::Bool &dopsf)
 
virtual void resampleGridToData (VBStore &vbs, casacore::Array< casacore::Complex > &griddedData, const vi::VisBuffer2 &vb)
 
virtual void makeThGridCoords (VBStore &vbs, const casacore::Vector< casacore::Int > &gridShape)
 
virtual void setupVBStore (VBStore &vbs, const vi::VisBuffer2 &vb, const casacore::Matrix< casacore::Float > &imagingweight, const casacore::Cube< casacore::Complex > &visData, const casacore::Matrix< casacore::Double > &uvw, const casacore::Cube< casacore::Int > &flagCube, const casacore::Vector< casacore::Double > &dphase, const casacore::Bool &doPSF, const casacore::Vector< casacore::Int > &gridShape)
 
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, VisBuffer2 &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)
 -*- C++ -*- More...
 
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 VisBuffer2 &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, VisBuffer2 &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::refim::FTMachine
casacore::LogIOlogIO ()
 
virtual void initMaps (const vi::VisBuffer2 &vb)
 
virtual void initPolInfo (const vi::VisBuffer2 &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 matchChannel (const vi::VisBuffer2 &vb)
 
casacore::Bool matchAllSpwChans (const VisBuffer &vb)
 redo all spw chan match especially if ms has changed underneath More...
 
virtual casacore::Bool interpolateFrequencyTogrid (const vi::VisBuffer2 &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)
 casacore::Bool matchAllSpwChans(const vi::VisBuffer2& vb); 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 (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &data, FTMachine::Type type=FTMachine::MODEL)
 degridded data interpolated back onto visibilities More...
 
virtual void getInterpolateArrays (const vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag)
 Interpolate visibilities to be degridded upon. More...
 
void setSpectralFlag (const vi::VisBuffer2 &vb, casacore::Cube< casacore::Bool > &modflagcube)
 
casacore::Bool storeMovingSourceState (casacore::String &error, casacore::RecordInterface &outRecord)
 Save/Recover some elements of state of ftmachine in/from record. More...
 
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...
 
casacore::Bool recoverMovingSourceState (casacore::String &error, const casacore::RecordInterface &inRecord)
 
casacore::Matrix
< casacore::Double
negateUV (const vi::VisBuffer2 &vb)
 
virtual void findGridSector (const casacore::Int &nxp, const casacore::Int &nyp, const casacore::Int &ixsub, const casacore::Int &iysub, const casacore::Int &minx, const casacore::Int &miny, const casacore::Int &icounter, casacore::Int &x0, casacore::Int &y0, casacore::Int &nxsub, casacore::Int &nysub, const casacore::Bool linear)
 
virtual void tweakGridSector (const casacore::Int &nx, const casacore::Int &ny, const casacore::Int &ixsub, const casacore::Int &iysub)
 
void initSourceFreqConv ()
 
void shiftFreqToSource (casacore::Vector< casacore::Double > &freqs)
 

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::MDirection::ConvertpointingToImage
 // Image Scaling and offset casacore::Vector<casacore::Double> uvScale, uvOffset; More...
 
casacore::Bool usezero_p
 Grid/degrid zero spacing points? More...
 
casacore::Int convSampling
 casacore::CountedPtr<ConvolutionFunction> telescopeConvFunc_p; CFStore cfs_p, cfwts_p; casacore::Array<casacore::Complex> convFunc_p, convWeights_p; More...
 
casacore::Int wConvSize
 
casacore::Int lastIndex_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
avgPB_p
 The average PB for sky image normalization. More...
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Complex > > 
avgPBSq_p
 
casacore::Int maxConvSupport
 No. More...
 
casacore::CountedPtr
< SolvableVisJones
epJ_p
 Percentage of the peak of the PB after which the image is set to zero. More...
 
casacore::Double sigma
 
casacore::Int Nant_p
 
casacore::Int doPointing
 
casacore::Bool doPBCorrection
 
casacore::Bool makingPSF
 
casacore::Bool conjBeams_p
 
ParAngleChangeDetector paChangeDetector
 casacore::CountedPtr<CFCache> cfCache_p; More...
 
casacore::Double rotateOTFPAIncr_p
 
casacore::Double computePAIncr_p
 
casacore::Unit Second
 
casacore::Unit Radian
 
casacore::Unit Day
 
casacore::Array< casacore::Floatl_offsets
 
casacore::Array< casacore::Floatm_offsets
 
casacore::Vector< casacore::FloatpbPeaks
 
casacore::Vector< casacore::FloatpaList
 
casacore::Double currentCFPA
 
casacore::Double cfRefFreq_p
 
casacore::Double imRefFreq_p
 
casacore::Float lastPAUsedForWtImg
 
casacore::Bool pbNormalized_p
 
casacore::Vector< casacore::BoolpaNdxProcessed_p
 
casacore::CountedPtr
< VisibilityResamplerBase
visResampler_p
 AWVisResampler visResampler_p;. More...
 
casacore::Int sensitivityPatternQualifier_p
 
casacore::String sensitivityPatternQualifierStr_p
 
CFStore rotatedConvFunc_p
 
casacore::Vector< casacore::IntConjCFMap_p
 casacore::CountedPtr<CFStore2> cfs2_p, cfwts2_p; More...
 
casacore::Vector< casacore::IntCFMap_p
 
casacore::Timer timer_p
 
casacore::Double runTime1_p
 
PolOuterProduct::MuellerType muellerType_p
 
PhaseGrad phaseGrad_p
 
casacore::Int previousSPWID_p
 
casacore::CountedPtr
< refim::FTMachine
self_p
 
casacore::CountedPtr
< refim::VB2CFBMap
vb2CFBMap_p
 
- Protected Attributes inherited from casa::refim::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::String ephemTableName_p
 
casacore::MDirection firstMovingDir_p
 
casacore::MVDirection movingDirShift_p
 This will hold the angular difference between movingDir and firstMovingDir with the frame conversion done properly etc. More...
 
casacore::Double distance_p
 
casacore::uInt nAntenna_p
 
casacore::Int lastFieldId_p
 
casacore::Int lastMSId_p
 
casacore::CountedPtr
< casacore::ROMSColumns
romscol_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 isPseudoI_p
 Stokes pseudo I only? single parallel flagged will be allowed. More...
 
casacore::MPosition mLocation_p
 Default Position used for phase rotations. More...
 
casacore::Bool doUVWRotation_p
 Set if uvwrotation is necessary. More...
 
casacore::Vector< casacore::IntnVisChan_p
 
setup multiple spectral window for cubes

casacore::Block <casacore::Vector <casacore::Int> > multiChanMap_p; casacore::Vector<casacore::Int> selectedSpw_p; More...

 
casacore::SpectralCoordinate spectralCoord_p
 Private variables needed for spectral frame conversion. More...
 
casacore::Bool freqFrameValid_p
 casacore::Vector<casacore::Bool> doConversion_p; More...
 
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...
 
casacore::CountedPtr
< VisBufferUtil
vbutil_p
 
casacore::Double phaseCenterTime_p
 
casacore::Int doneThreadPartition_p
 Some parameters and helpers for multithreaded gridders. More...
 
casacore::Vector< casacore::Intxsect_p
 
casacore::Vector< casacore::Intysect_p
 
casacore::Vector< casacore::Intnxsect_p
 
casacore::Vector< casacore::Intnysect_p
 
casacore::CountedPtr
< refim::BriggsCubeWeightor
briggsWeightor_p
 
casacore::MRadialVelocity::Convert obsvelconv_p
 moving source spectral frame stuff More...
 
casacore::MeasTable::Types mtype_p
 
FFT2D ft_p
 

Additional Inherited Members

- Public Types inherited from casa::refim::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...
 

Detailed Description

Definition at line 154 of file AWProjectFT.h.

Constructor & Destructor Documentation

casa::refim::AWProjectFT::AWProjectFT ( )
casa::refim::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.

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::refim::AWProjectFT::AWProjectFT ( const casacore::RecordInterface stateRec)

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

casa::refim::AWProjectFT::AWProjectFT ( const AWProjectFT other)

Copy constructor.

casa::refim::AWProjectFT::~AWProjectFT ( )

Member Function Documentation

virtual void casa::refim::AWProjectFT::ComputeResiduals ( vi::VisBuffer2 vb,
casacore::Bool  useCorrected 
)
virtual

Make the VB and VBStore interefaces for the interim re-factoring work.

Finally removed the VB interface.

Implements casa::refim::FTMachine.

static ATerm* casa::refim::AWProjectFT::createTelescopeATerm ( const casacore::String telescopeName,
const casacore::Bool isATermOn 
)
static
virtual void casa::refim::AWProjectFT::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::refim::FTMachine.

Reimplemented in casa::refim::AWProjectWBFT.

virtual void casa::refim::AWProjectFT::finalizeToVis ( )
virtual

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

Implements casa::refim::FTMachine.

void casa::refim::AWProjectFT::findConvFunction ( const casacore::ImageInterface< casacore::Complex > &  image,
const vi::VisBuffer2 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::refim::FTMachine.

virtual casacore::Int casa::refim::AWProjectFT::findPointingOffsets ( const vi::VisBuffer2 ,
casacore::Array< casacore::Float > &  ,
casacore::Array< casacore::Float > &  ,
casacore::Bool  Evaluate = true 
)
virtual

casacore::Bool changed(const VisBuffer& vb) {return vpSJ->changed(vb,1);}; casacore::Bool changed(const VisBuffer& vb) {return false;}

Reimplemented in casa::refim::AWProjectWBFT.

virtual casacore::Int casa::refim::AWProjectFT::findPointingOffsets ( const vi::VisBuffer2 ,
casacore::Cube< casacore::Float > &  ,
casacore::Array< casacore::Float > &  ,
casacore::Array< casacore::Float > &  ,
casacore::Bool  Evaluate = true 
)
virtual
casacore::Bool casa::refim::AWProjectFT::fromRecord ( const casacore::RecordInterface inRec)
void casa::refim::AWProjectFT::get ( vi::VisBuffer2 vb,
casacore::Int  row = -1 
)
virtual

Get actual coherence from grid by degridding.

Implements casa::refim::FTMachine.

void casa::refim::AWProjectFT::get ( vi::VisBuffer2 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.

void casa::refim::AWProjectFT::get ( vi::VisBuffer2 vb,
casacore::Cube< casacore::Float > &  pointingOffsets,
casacore::Int  row = -1,
FTMachine::Type  whichVBColumn = FTMachine::MODEL,
casacore::Int  Conj = 0 
)
inline

Definition at line 258 of file AWProjectFT.h.

void casa::refim::AWProjectFT::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 casa::refim::AWProjectFT::get ( vi::VisBuffer2 vb,
casacore::Cube< casacore::Complex > &  degrid,
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.

virtual casacore::Bool casa::refim::AWProjectFT::getConjBeams ( )
inlinevirtual

Definition at line 203 of file AWProjectFT.h.

References conjBeams_p.

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

Get the appropriate data pointer.

virtual casacore::Bool casa::refim::AWProjectFT::getDOPBCorrection ( )
inlinevirtual

Definition at line 201 of file AWProjectFT.h.

References doPBCorrection.

virtual const casacore::CountedPtr<refim::FTMachine>& casa::refim::AWProjectFT::getFTM2 ( const casacore::Bool  )
inlinevirtual

Reimplemented from casa::refim::FTMachine.

Definition at line 416 of file AWProjectFT.h.

References self_p.

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

Make the entire image using a ROVisIter virtual void makeImage(FTMachine::Type, ROVisibilityIterator&, casacore::ImageInterface<casacore::Complex>&, casacore::Matrix<casacore::Float>&) {};.

Make the entire image void makeImage(FTMachine::Type type, VisSet& vs, casacore::ImageInterface<casacore::Complex>& image, casacore::Matrix<casacore::Float>& weight);

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

Implements casa::refim::FTMachine.

Reimplemented in casa::refim::AWProjectWBFT.

virtual casacore::Float casa::refim::AWProjectFT::getPBLimit ( )
inlinevirtual

Reimplemented from casa::refim::FTMachine.

Definition at line 205 of file AWProjectFT.h.

References casa::refim::FTMachine::pbLimit_p.

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

Definition at line 391 of file AWProjectFT.h.

References casa::refim::FTMachine::polMap.

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

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.

These are now implement in the FTMachine base class.

These can't be left here since now the design depends on getting the correct version called due to static type casting of FTM pointer and not on inheretance and and specialization via overloading.

virtual void normalizeImage(casacore::Lattice<casacore::Complex>& skyImage, const casacore::Matrix<casacore::Double>& sumOfWts, casacore::Lattice<casacore::Float>& sensitivityImage, casacore::Bool fftNorm=true); 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);

Definition at line 377 of file AWProjectFT.h.

References avgPB_p.

virtual casacore::Matrix<casacore::Double>& casa::refim::AWProjectFT::getSumOfCFWeights ( )
inlinevirtual

Definition at line 379 of file AWProjectFT.h.

References casa::refim::FTMachine::sumCFWeight.

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

Definition at line 378 of file AWProjectFT.h.

References casa::refim::FTMachine::sumWeight.

virtual casacore::Double casa::refim::AWProjectFT::getVBPA ( const vi::VisBuffer2 vb)
inlinevirtual

if (!rotateApertureOTP_p) return currentCFPA; else return getPA(vb);

Definition at line 328 of file AWProjectFT.h.

References casa::refim::getPA().

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

Get the final weights image.

Implements casa::refim::FTMachine.

void casa::refim::AWProjectFT::init ( )
protected
virtual void casa::refim::AWProjectFT::initializeToSky ( casacore::ImageInterface< casacore::Complex > &  image,
casacore::Matrix< casacore::Float > &  weight,
const vi::VisBuffer2 vb 
)
virtual

Initialize transform to Sky plane: initializes the image.

Implements casa::refim::FTMachine.

Reimplemented in casa::refim::AWProjectWBFT.

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

Vectorized version of initializeToVis.

Required since MultiTermFTM needs vectorized version. And this is implemented in FTMachine (the baseclass). And one relies on static_cast in Imager::createFTMachine() (or is it in CSE?) to cast the pointer to specific types such that this methods gets called when the FTMachine pointer is of type AWProjectFT.

virtual void casa::refim::AWProjectFT::initializeToVis ( casacore::ImageInterface< casacore::Complex > &  image,
const vi::VisBuffer2 vb 
)
virtual

Initialize transform to Visibility plane.

Implements casa::refim::FTMachine.

virtual void casa::refim::AWProjectFT::initializeToVis ( casacore::ImageInterface< casacore::Complex > &  image,
const vi::VisBuffer2 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::refim::AWProjectFT::initVisBuffer ( vi::VisBuffer2 vb,
Type  whichVBColumn 
)
virtual
void casa::refim::AWProjectFT::initVisBuffer ( vi::VisBuffer2 vb,
Type  whichVBColumn,
casacore::Int  row 
)
casacore::Bool casa::refim::AWProjectFT::isFourier ( )
inlinevirtual

Can this FTMachine be represented by Fourier convolutions?

Reimplemented from casa::refim::FTMachine.

Definition at line 318 of file AWProjectFT.h.

static casacore::CountedPtr<ConvolutionFunction> casa::refim::AWProjectFT::makeCFObject ( const casacore::String telescopeName,
const casacore::Bool  aTermOn,
const casacore::Bool  psTermOn,
const casacore::Bool  wTermOn,
const casacore::Bool  mTermOn,
const casacore::Bool  wBAWP,
const casacore::Bool  conjBeams 
)
static
void casa::refim::AWProjectFT::makeCFPolMap ( const vi::VisBuffer2 vb,
const casacore::Vector< casacore::Int > &  cfstokes,
casacore::Vector< casacore::Int > &  polM 
)

casacore::Vector<casacore::Int> makeConjPolMap(const VisBuffer& vb);

void casa::refim::AWProjectFT::makeConjPolMap ( const vi::VisBuffer2 vb,
const casacore::Vector< casacore::Int cfPolMap,
casacore::Vector< casacore::Int > &  conjPolMap 
)
casacore::MDirection::Convert casa::refim::AWProjectFT::makeCoordinateMachine ( const vi::VisBuffer2 ,
const casacore::MDirection::Types ,
const casacore::MDirection::Types ,
casacore::MEpoch last 
)
virtual void casa::refim::AWProjectFT::makeSensitivityImage ( casacore::Lattice< casacore::Complex > &  ,
casacore::ImageInterface< casacore::Float > &  ,
const casacore::Matrix< casacore::Float > &  ,
const casacore::Bool  
)
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 347 of file AWProjectFT.h.

virtual void casa::refim::AWProjectFT::makeSensitivityImage ( const vi::VisBuffer2 vb,
const casacore::ImageInterface< casacore::Complex > &  imageTemplate,
casacore::ImageInterface< casacore::Float > &  sensitivityImage 
)
virtual

Reimplemented in casa::refim::AWProjectWBFT.

virtual void casa::refim::AWProjectFT::makeThGridCoords ( VBStore vbs,
const casacore::Vector< casacore::Int > &  gridShape 
)
protectedvirtual
void casa::refim::AWProjectFT::makeWBCFWt ( CFStore2 cfs,
const casacore::Double  imRefFreq 
)
virtual casacore::String casa::refim::AWProjectFT::name ( ) const
inlinevirtual

Return the name of the machine.

Implements casa::refim::FTMachine.

Reimplemented in casa::refim::AWProjectWBFT, and casa::refim::AWProjectWBFTNew.

Definition at line 392 of file AWProjectFT.h.

void casa::refim::AWProjectFT::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 
)
Parameters
l_offThese offsets should be appropriate for the VB
casacore::Int casa::refim::AWProjectFT::nint ( casacore::Double  val)
inlineprotected

Definition at line 426 of file AWProjectFT.h.

References casacore::floor().

virtual void casa::refim::AWProjectFT::normalizeAvgPB ( )
protectedvirtual


Reimplemented in casa::refim::AWProjectWBFT.

virtual void casa::refim::AWProjectFT::normalizeAvgPB ( casacore::ImageInterface< casacore::Complex > &  inImage,
casacore::ImageInterface< casacore::Float > &  outImage 
)
protectedvirtual

Reimplemented in casa::refim::AWProjectWBFT.

void casa::refim::AWProjectFT::ok ( )
protectedvirtual

Reimplemented from casa::refim::FTMachine.

AWProjectFT& casa::refim::AWProjectFT::operator= ( const AWProjectFT other)

Assignment operator.

virtual casacore::Float casa::refim::AWProjectFT::pbFunc ( const casacore::Float a,
const casacore::Float limit 
)
inlinevirtual

Reimplemented in casa::refim::AWProjectWBFT.

Definition at line 401 of file AWProjectFT.h.

References casacore::abs(), and casacore::sqrt().

virtual casacore::Complex casa::refim::AWProjectFT::pbFunc ( const casacore::Complex &  a,
const casacore::Float limit 
)
inlinevirtual

{if (abs(a) >= limit) return (a);else return 1.0;};

Definition at line 405 of file AWProjectFT.h.

References casacore::abs().

void casa::refim::AWProjectFT::put ( const vi::VisBuffer2 ,
casacore::TempImage< casacore::Complex > &  ,
casacore::Vector< casacore::Double > &  ,
int  ,
casacore::UVWMachine ,
casacore::Bool   
)
inline

Put coherence to grid by gridding.

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

Definition at line 285 of file AWProjectFT.h.

void casa::refim::AWProjectFT::put ( const vi::VisBuffer2 vb,
casacore::Int  row = -1,
casacore::Bool  dopsf = false,
FTMachine::Type  type = FTMachine::OBSERVED 
)
virtual

Put coherence to grid.

Implements casa::refim::FTMachine.

casacore::Bool casa::refim::AWProjectFT::recordOnGrid ( const vi::VisBuffer2 vb,
casacore::Int  rownr 
) const
protected

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

This assumes that the ends bracket the middle

virtual void casa::refim::AWProjectFT::resampleDataToGrid ( casacore::Array< casacore::Complex > &  griddedData,
VBStore vbs,
const vi::VisBuffer2 vb,
casacore::Bool dopsf 
)
protectedvirtual

Reimplemented in casa::refim::AWProjectWBFT.

virtual void casa::refim::AWProjectFT::resampleDataToGrid ( casacore::Array< casacore::DComplex > &  griddedData,
VBStore vbs,
const vi::VisBuffer2 vb,
casacore::Bool dopsf 
)
protectedvirtual

Reimplemented in casa::refim::AWProjectWBFT.

virtual void casa::refim::AWProjectFT::resampleGridToData ( VBStore vbs,
casacore::Array< casacore::Complex > &  griddedData,
const vi::VisBuffer2 vb 
)
protectedvirtual
void casa::refim::AWProjectFT::reset ( void  )
inlinevirtual

void reset() {vpSJ->reset();}

Reimplemented from casa::refim::FTMachine.

Definition at line 387 of file AWProjectFT.h.

References paChangeDetector, and casa::refim::ParAngleChangeDetector::reset().

virtual void casa::refim::AWProjectFT::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,
VisBuffer2 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

-*- C++ -*-

Parameters
Conjcasacore::Cube<casacore::Complex>& gradVisAzData, casacore::Cube<casacore::Complex>& gradVisElData, casacore::IPosition& gradS,
void casa::refim::AWProjectFT::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,
VisBuffer2 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::refim::AWProjectFT::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 VisBuffer2 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::refim::AWProjectFT::setConjBeams ( casacore::Bool  useit = true)
inlinevirtual

Definition at line 202 of file AWProjectFT.h.

References conjBeams_p.

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

Definition at line 200 of file AWProjectFT.h.

References doPBCorrection.

void casa::refim::AWProjectFT::setEPJones ( SolvableVisJones ep_j)
inline

void setEPJones(EPJones* ep_j) {epJ = ep_j;}

Definition at line 198 of file AWProjectFT.h.

References epJ_p.

virtual void casa::refim::AWProjectFT::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::refim::FTMachine.

Definition at line 408 of file AWProjectFT.h.

References sensitivityPatternQualifier_p, sensitivityPatternQualifierStr_p, and casacore::String::toString().

void casa::refim::AWProjectFT::setObservatoryLocation ( const casacore::MPosition mLocation)
inline

Initialize transform to Visibility plane using the image as a template.

The image is loaded and Fourier transformed.

Definition at line 209 of file AWProjectFT.h.

References casa::refim::FTMachine::mLocation_p.

void casa::refim::AWProjectFT::setPAIncrement ( const casacore::Quantity computePAIncr,
const casacore::Quantity rotateOTFPAIncr 
)
virtual void casa::refim::AWProjectFT::setupVBStore ( VBStore vbs,
const vi::VisBuffer2 vb,
const casacore::Matrix< casacore::Float > &  imagingweight,
const casacore::Cube< casacore::Complex > &  visData,
const casacore::Matrix< casacore::Double > &  uvw,
const casacore::Cube< casacore::Int > &  flagCube,
const casacore::Vector< casacore::Double > &  dphase,
const casacore::Bool doPSF,
const casacore::Vector< casacore::Int > &  gridShape 
)
protectedvirtual
casacore::Bool casa::refim::AWProjectFT::toRecord ( casacore::RecordInterface outRec,
casacore::Bool  withImage = false 
)

Save and restore the AWProjectFT to and from a record.

virtual casacore::Bool casa::refim::AWProjectFT::verifyAvgPB ( casacore::ImageInterface< casacore::Float > &  pb,
casacore::ImageInterface< casacore::Float > &  sky 
)
inlinevirtual

Definition at line 393 of file AWProjectFT.h.

References casacore::LatticeBase::shape(), and verifyShapes().

virtual casacore::Bool casa::refim::AWProjectFT::verifyAvgPB ( casacore::ImageInterface< casacore::Float > &  pb,
casacore::ImageInterface< casacore::Complex > &  sky 
)
inlinevirtual

Definition at line 396 of file AWProjectFT.h.

References casacore::LatticeBase::shape(), and verifyShapes().

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

Reimplemented in casa::refim::AWProjectWBFT.

Referenced by verifyAvgPB().

Member Data Documentation

casacore::CountedPtr<casacore::Lattice<casacore::Complex> > casa::refim::AWProjectFT::arrayLattice
protected

casacore::Array lattice

Definition at line 463 of file AWProjectFT.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > casa::refim::AWProjectFT::avgPB_p
protected

The average PB for sky image normalization.

Definition at line 498 of file AWProjectFT.h.

Referenced by getSensitivityImage().

casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > casa::refim::AWProjectFT::avgPBSq_p
protected

Definition at line 499 of file AWProjectFT.h.

casacore::Long casa::refim::AWProjectFT::cachesize
protected

Sizes.

Definition at line 453 of file AWProjectFT.h.

casacore::IPosition casa::refim::AWProjectFT::centerLoc
protected

Useful IPositions.

Definition at line 472 of file AWProjectFT.h.

CFBStruct casa::refim::AWProjectFT::cfbst_pub

Definition at line 421 of file AWProjectFT.h.

casacore::Vector<casacore::Int> casa::refim::AWProjectFT::CFMap_p
protected

Definition at line 556 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::cfRefFreq_p
protected

Definition at line 522 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::computePAIncr_p
protected

Definition at line 516 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::conjBeams_p
protected

Definition at line 512 of file AWProjectFT.h.

Referenced by getConjBeams(), and setConjBeams().

casacore::Vector<casacore::Int> casa::refim::AWProjectFT::ConjCFMap_p
protected

casacore::CountedPtr<CFStore2> cfs2_p, cfwts2_p;

Definition at line 556 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::convSampling
protected

casacore::CountedPtr<ConvolutionFunction> telescopeConvFunc_p; CFStore cfs_p, cfwts_p; casacore::Array<casacore::Complex> convFunc_p, convWeights_p;

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 493 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::currentCFPA
protected

Definition at line 522 of file AWProjectFT.h.

casacore::Unit casa::refim::AWProjectFT::Day
protected

Definition at line 518 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::doPBCorrection
protected

Definition at line 512 of file AWProjectFT.h.

Referenced by getDOPBCorrection(), and setDOPBCorrection().

casacore::Int casa::refim::AWProjectFT::doPointing
protected

Definition at line 511 of file AWProjectFT.h.

casacore::CountedPtr<SolvableVisJones> casa::refim::AWProjectFT::epJ_p
protected

Percentage of the peak of the PB after which the image is set to zero.

Definition at line 509 of file AWProjectFT.h.

Referenced by setEPJones().

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

Gridder.

Definition at line 457 of file AWProjectFT.h.

casacore::LatticeCache<casacore::Complex>* casa::refim::AWProjectFT::imageCache
protected

Image cache.

Definition at line 450 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::imRefFreq_p
protected

Definition at line 522 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::isTiled
protected

Is this tiled?

Definition at line 460 of file AWProjectFT.h.

casacore::Array<casacore::Float> casa::refim::AWProjectFT::l_offsets
protected

Definition at line 519 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::lastIndex_p
protected

Definition at line 493 of file AWProjectFT.h.

casacore::Float casa::refim::AWProjectFT::lastPAUsedForWtImg
protected

Definition at line 523 of file AWProjectFT.h.

casacore::CountedPtr<casacore::Lattice<casacore::Complex> > casa::refim::AWProjectFT::lattice
protected

Lattice.

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

Definition at line 467 of file AWProjectFT.h.

casacore::Array<casacore::Float> casa::refim::AWProjectFT::m_offsets
protected

Definition at line 519 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::makingPSF
protected

Definition at line 512 of file AWProjectFT.h.

casacore::Float casa::refim::AWProjectFT::maxAbsData
protected

Definition at line 469 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::maxConvSupport
protected

No.

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

Definition at line 504 of file AWProjectFT.h.

PolOuterProduct::MuellerType casa::refim::AWProjectFT::muellerType_p
protected

Definition at line 561 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::Nant_p
protected

Definition at line 511 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::nWPlanes_p
protected

Definition at line 448 of file AWProjectFT.h.

casacore::IPosition casa::refim::AWProjectFT::offsetLoc
protected

Definition at line 472 of file AWProjectFT.h.

ParAngleChangeDetector casa::refim::AWProjectFT::paChangeDetector
protected

casacore::CountedPtr<CFCache> cfCache_p;

Definition at line 515 of file AWProjectFT.h.

Referenced by reset().

casacore::Float casa::refim::AWProjectFT::padding_p
protected

Padding in FFT.

Definition at line 446 of file AWProjectFT.h.

casacore::Vector<casacore::Float> casa::refim::AWProjectFT::paList
protected

Definition at line 520 of file AWProjectFT.h.

casacore::Vector<casacore::Bool> casa::refim::AWProjectFT::paNdxProcessed_p
protected

Definition at line 525 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::pbNormalized_p
protected

Definition at line 524 of file AWProjectFT.h.

casacore::Vector<casacore::Float> casa::refim::AWProjectFT::pbPeaks
protected

Definition at line 520 of file AWProjectFT.h.

PhaseGrad casa::refim::AWProjectFT::phaseGrad_p
protected

Definition at line 562 of file AWProjectFT.h.

casacore::MDirection::Convert* casa::refim::AWProjectFT::pointingToImage
protected

// Image Scaling and offset casacore::Vector<casacore::Double> uvScale, uvOffset;

casacore::DirectionCoordinate directionCoord;

Definition at line 479 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::previousSPWID_p
protected

Definition at line 564 of file AWProjectFT.h.

casacore::Unit casa::refim::AWProjectFT::Radian
protected

Definition at line 518 of file AWProjectFT.h.

CFStore casa::refim::AWProjectFT::rotatedConvFunc_p
protected

Definition at line 554 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::rotateOTFPAIncr_p
protected

Definition at line 516 of file AWProjectFT.h.

casacore::Double casa::refim::AWProjectFT::runTime1_p
protected

Definition at line 559 of file AWProjectFT.h.

casacore::Unit casa::refim::AWProjectFT::Second
protected

Definition at line 518 of file AWProjectFT.h.

casacore::CountedPtr<refim::FTMachine> casa::refim::AWProjectFT::self_p
protected

Definition at line 566 of file AWProjectFT.h.

Referenced by getFTM2().

casacore::Int casa::refim::AWProjectFT::sensitivityPatternQualifier_p
protected

Definition at line 552 of file AWProjectFT.h.

Referenced by setMiscInfo().

casacore::String casa::refim::AWProjectFT::sensitivityPatternQualifierStr_p
protected

Definition at line 553 of file AWProjectFT.h.

Referenced by setMiscInfo().

casacore::Double casa::refim::AWProjectFT::sigma
protected

Definition at line 510 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::tilesize
protected

Definition at line 454 of file AWProjectFT.h.

casacore::Timer casa::refim::AWProjectFT::timer_p
protected

Definition at line 558 of file AWProjectFT.h.

casacore::Bool casa::refim::AWProjectFT::usezero_p
protected

Grid/degrid zero spacing points?

Definition at line 482 of file AWProjectFT.h.

casacore::Vector<casacore::Double> casa::refim::AWProjectFT::uvOffset

Definition at line 423 of file AWProjectFT.h.

casacore::Vector<casacore::Double> casa::refim::AWProjectFT::uvScale

Image Scaling and offset.

Definition at line 423 of file AWProjectFT.h.

casacore::CountedPtr<refim::VB2CFBMap> casa::refim::AWProjectFT::vb2CFBMap_p
protected

Definition at line 567 of file AWProjectFT.h.

casacore::CountedPtr<VisibilityResamplerBase> casa::refim::AWProjectFT::visResampler_p
protected

AWVisResampler visResampler_p;.

Definition at line 551 of file AWProjectFT.h.

casacore::Int casa::refim::AWProjectFT::wConvSize
protected

Definition at line 493 of file AWProjectFT.h.


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