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