29 #ifndef SYNTHESIS_TRANSFORM2_AWPROJECTFT_H
30 #define SYNTHESIS_TRANSFORM2_AWPROJECTFT_H
152 class SolvableVisJones;
261 get(vb,vb,vb,pointingOffsets,row,whichVBColumn,whichVBColumn,
Conj,0);
569 #include "AWProjectFT.FORTRANSTUFF.INC"
A Vector of integers, for indexing into Array<T> objects.
casacore::Double currentCFPA
casacore::Vector< casacore::Float > pbPeaks
virtual casacore::String name() const
Return the name of the machine.
casacore::Long cachesize
Sizes.
A Measure: position on Earth.
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). ...
void setObservatoryLocation(const casacore::MPosition &mLocation)
Initialize transform to Visibility plane using the image as a template.
virtual casacore::Double getVBPA(const vi::VisBuffer2 &vb)
casacore::Bool conjBeams_p
defines interface for the Fourier Transform Machine
std::complex< Float > Complex
casacore::Matrix< casacore::Double > sumCFWeight
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.
casacore::Vector< casacore::Float > paList
void makeConjPolMap(const vi::VisBuffer2 &vb, const casacore::Vector< casacore::Int > cfPolMap, casacore::Vector< casacore::Int > &conjPolMap)
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...
casacore::Vector< casacore::Double > uvScale
Image Scaling and offset.
casacore::Int convSampling
casacore::CountedPtr<ConvolutionFunction> telescopeConvFunc_p; CFStore cfs_p, cfwts_p; casacore::Arra...
casacore::Array< casacore::Float > m_offsets
static ATerm * createTelescopeATerm(const casacore::String &telescopeName, const casacore::Bool &isATermOn)
virtual void setDOPBCorrection(casacore::Bool doit=true)
casacore::CountedPtr< casacore::Lattice< casacore::Complex > > arrayLattice
casacore::Array lattice
void put(const vi::VisBuffer2 &, casacore::TempImage< casacore::Complex > &, casacore::Vector< casacore::Double > &, int, casacore::UVWMachine *, casacore::Bool)
Put coherence to grid by gridding.
casacore::Double getPA(const vi::VisBuffer2 &vb)
virtual Type type()
Return the type enum.
virtual casacore::Bool verifyAvgPB(casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Complex > &sky)
//////////////////////////////////////////////////////////////////////////
casacore::IPosition offsetLoc
virtual casacore::ImageInterface< casacore::Float > & getSensitivityImage()
Given the sky image (Fourier transform of the visibilities), sum of weights and the sensitivity image...
virtual const casacore::CountedPtr< refim::FTMachine > & getFTM2(const casacore::Bool)
void getWeightImage(casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &)
Get the final weights image.
casacore::CountedPtr< casacore::Lattice< casacore::Complex > > lattice
Lattice.
casacore::Vector< casacore::Int > & getPolMap()
casacore::Double imRefFreq_p
casacore::MDirection::Convert makeCoordinateMachine(const vi::VisBuffer2 &, const casacore::MDirection::Types &, const casacore::MDirection::Types &, casacore::MEpoch &last)
virtual casacore::Bool doublePrecGrid()
return whether the ftmachine is using a double precision grid
virtual void ComputeResiduals(vi::VisBuffer2 &vb, casacore::Bool useCorrected)
Make the VB and VBStore interefaces for the interim re-factoring work.
virtual void resampleDataToGrid(casacore::Array< casacore::Complex > &griddedData, VBStore &vbs, const vi::VisBuffer2 &vb, casacore::Bool &dopsf)
void reset()
void reset() {vpSJ->reset();}
casacore::Vector< casacore::Double > uvOffset
casacore::Int nint(casacore::Double val)
LatticeExprNode floor(const LatticeExprNode &expr)
casacore::Float maxAbsData
A Measure: instant in time.
casacore::Float pbLimit_p
casacore::MDirection::Convert * pointingToImage
// Image Scaling and offset casacore::Vector<casacore::Double> uvScale, uvOffset; ...
virtual void initVisBuffer(vi::VisBuffer2 &vb, Type whichVBColumn)
virtual casacore::Bool getConjBeams()
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
virtual casacore::Complex pbFunc(const casacore::Complex &a, const casacore::Float &limit)
{if (abs(a) >= limit) return (a);else return 1.0;};
Mueller::MuellerType muellerType(const Jones::JonesType &jtype, const VisVector::VisType &vtype)
Return Mueller type according to underlying Jones and VisVector types.
casacore::Array< casacore::Complex > * getDataPointer(const casacore::IPosition &, casacore::Bool)
Get the appropriate data pointer.
casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > avgPBSq_p
virtual void setConjBeams(casacore::Bool useit=true)
Referenced counted pointer for constant data.
virtual void normalizeAvgPB()
virtual IPosition shape() const =0
Return the shape of the Lattice including all degenerate axes (ie.
virtual void resampleGridToData(VBStore &vbs, casacore::Array< casacore::Complex > &griddedData, const vi::VisBuffer2 &vb)
virtual casacore::Bool verifyShapes(casacore::IPosition shape0, casacore::IPosition shape1)
casacore::CountedPtr< SolvableVisJones > epJ_p
Percentage of the peak of the PB after which the image is set to zero.
casacore::Bool fromRecord(const casacore::RecordInterface &inRec)
virtual casacore::Bool getDOPBCorrection()
void setEPJones(SolvableVisJones *ep_j)
void setEPJones(EPJones* ep_j) {epJ = ep_j;}
LatticeExprNode abs(const LatticeExprNode &expr)
Numerical 1-argument functions which result in a real number regardless of input expression type...
AWProjectFT & operator=(const AWProjectFT &other)
Assignment operator.
casacore::Array< casacore::Complex > griddedData
casacore::Array for non-tiled gridding These are common to most FTmachines
casacore::Bool isTiled
Is this tiled?
casacore::Int lastIndex_p
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)
void setPAIncrement(const casacore::Quantity &computePAIncr, const casacore::Quantity &rotateOTFPAIncr)
casacore::Int previousSPWID_p
Type
Types of known Images that may be made using the makeImage method.
casacore::Float padding_p
Padding in FFT.
void makeWBCFWt(CFStore2 &cfs, const casacore::Double imRefFreq)
LatticeExprNode sqrt(const LatticeExprNode &expr)
casacore::Bool pbNormalized_p
casacore::Vector< casacore::Int > CFMap_p
Converts UVW coordinates between coordinate systems.
casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > avgPB_p
The average PB for sky image normalization.
bool Bool
Define the standard types used by Casacore.
casacore::Bool doPBCorrection
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 accumu...
virtual casacore::Bool verifyAvgPB(casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Float > &sky)
casacore::CountedPtr< VisibilityResamplerBase > visResampler_p
AWVisResampler visResampler_p;.
virtual void finalizeToVis()
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being u...
casacore::Double rotateOTFPAIncr_p
casacore::Bool usezero_p
Grid/degrid zero spacing points?
measure the time it takes to execute parts of a program
casacore::Array< casacore::Float > l_offsets
CFStore rotatedConvFunc_p
Functor to apply complex function conj.
casacore::Double cfRefFreq_p
A (masked) subset of an ImageInterface object.
A drop-in replacement for Block<T*>.
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 initializeToSky(casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const vi::VisBuffer2 &vb)
Initialize transform to Sky plane: initializes the image.
virtual void finalizeToSky()
Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used...
casacore::Bool toRecord(casacore::RecordInterface &outRec, casacore::Bool withImage=false)
Save and restore the AWProjectFT to and from a record.
ParAngleChangeDetector paChangeDetector
casacore::CountedPtr<CFCache> cfCache_p;
casacore::CountedPtr< refim::FTMachine > self_p
The base class to represent the Aperture-Term of the Measurement Equation.
VisBuffer2s encapsulate one chunk of visibility data for processing.
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&...
const Double e
e and functions thereof:
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(con...
virtual void reset()
reset to the state which exists just after construction
casacore::Bool isFourier()
Can this FTMachine be represented by Fourier convolutions?
casacore::Vector< casacore::Int > ConjCFMap_p
casacore::CountedPtr<CFStore2> cfs2_p, cfwts2_p;
virtual void makeThGridCoords(VBStore &vbs, const casacore::Vector< casacore::Int > &gridShape)
casacore::Vector< casacore::Int > polMap
String: the storage and methods of handling collections of characters.
casacore::CountedPtr< refim::VB2CFBMap > vb2CFBMap_p
casacore::Vector< casacore::Bool > paNdxProcessed_p
casacore::Double runTime1_p
casacore::String sensitivityPatternQualifierStr_p
casacore::MPosition mLocation_p
Default Position used for phase rotations.
Abstract base class for Record classes.
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...
casacore::IPosition centerLoc
Useful IPositions.
casacore::Int maxConvSupport
No.
virtual casacore::Matrix< casacore::Double > & getSumOfCFWeights()
casacore::Double computePAIncr_p
casacore::Float lastPAUsedForWtImg
casacore::ConvolveGridder< casacore::Double, casacore::Complex > * gridder
Gridder.
virtual casacore::Matrix< casacore::Double > & getSumOfWeights()
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);
casacore::ImageInterface< casacore::Complex > * image
casacore::LatticeCache< casacore::Complex > * imageCache
Image cache.
PolOuterProduct::MuellerType muellerType_p
casacore::Int sensitivityPatternQualifier_p
virtual casacore::Float getPBLimit()
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)
virtual casacore::Float pbFunc(const casacore::Float &a, const casacore::Float &limit)
casacore::Matrix< casacore::Double > sumWeight
Sum of weights per polarization and per chan.
static String toString(const T &value)
Convert a value to a String.