29 #ifndef SYNTHESIS_PBWPROJECTFT_H
30 #define SYNTHESIS_PBWPROJECTFT_H
136 class SolvableVisJones;
208 get(vb,vb,vb,pointingOffsets,row,whichVBColumn,whichVBColumn,
Conj,0);
A Vector of integers, for indexing into Array<T> objects.
casacore::IPosition offsetLoc
A Measure: astronomical direction.
casacore::Bool avgPBReady
casacore::Vector< casacore::Int > polMap
casacore::Int nint(casacore::Double val)
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::Array< casacore::Float > l_offsets
casacore::Vector< casacore::Int > & getPolMap()
casacore::Vector< casacore::Double > xyPos
casacore::Bool isFourier()
Can this FTMachine be represented by Fourier convolutions?
casacore::MDirection::Convert * pointingToImage
virtual casacore::Bool makeAveragePB0(const VisBuffer &vb, const casacore::ImageInterface< casacore::Complex > &image, casacore::Int &polInUse, casacore::TempImage< casacore::Float > &avgPB)
std::complex< Float > Complex
casacore::Int lastIndex_p
casacore::Int PAIndex
casacore::Array<casacore::Complex>* convFunc_p;
virtual casacore::String name() const
Return the name of the machine.
casacore::Bool changed(const VisBuffer &)
casacore::Bool changed(const VisBuffer& vb) {return vpSJ->changed(vb,1);};
casacore::Double cfRefFreq_p
casacore::DirectionCoordinate directionCoord
casacore::Int getIndex(const casacore::ROMSPointingColumns &mspc, const casacore::Double &time, const casacore::Double &interval)
virtual Type type()
Return the type enum.
casacore::Array< casacore::Complex > convFunc
casacore::Array< casacore::Complex > griddedData
casacore::Array for non-tiled gridding
casacore::Vector< casacore::Double > uvOffset
casacore::ConvolveGridder< casacore::Double, casacore::Complex > * gridder
Gridder.
virtual casacore::Bool verifyShapes(casacore::IPosition shape0, casacore::IPosition shape1)
casacore::CoordinateSystem convFuncCS_p
virtual void ComputeResiduals(VisBuffer &, casacore::Bool)
Make the VB and VBStore interefaces for the interim re-factoring work.
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
void makeAntiAliasingCorrection(casacore::Vector< casacore::Complex > &correction, const casacore::Vector< casacore::Complex > &op, const casacore::Int nx)
A class to provide easy read-write access to MSPointing columns.
virtual void initializeToVis(casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
Initialize transform to Visibility plane using the image as a template.
void makeConvFunction(const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb, casacore::Float pa)
void correctAntiAliasing(casacore::Lattice< casacore::Complex > &cf)
virtual casacore::Bool verifyAvgPB(casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Complex > &sky)
void cacheConvFunction(casacore::Int which, casacore::Array< casacore::Complex > &cf, casacore::CoordinateSystem &coord)
void setDOPBCorrection(casacore::Bool doit=true)
casacore::ImageInterface< casacore::Complex > * image
casacore::MSAntennaColumns * msac
Antenna columns.
casacore::Int getVisParams(const VisBuffer &vb)
casacore::Int getVisParams();
casacore::MDirection worldPosMeas
LatticeExprNode floor(const LatticeExprNode &expr)
A Measure: instant in time.
casacore::Int convSampling
casacore::Vector to hold the support size info.
casacore::Int makePBPolnCoords(casacore::CoordinateSystem &coord, const VisBuffer &vb)
Make the PB part of the convolution function.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
casacore::Vector< casacore::Complex > antiAliasingCorrection
casacore::Long cachesize
Sizes.
void setPAIncrement(const casacore::Quantity &paIncrement)
casacore::Vector< casacore::Float > paList
casacore::Vector< casacore::Complex > antiAliasingOp
void makeImage(FTMachine::Type type, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight)
Make the entire image.
casacore::MSPointingColumns * mspc
Pointing columns.
void reset()
void reset() {vpSJ->reset();}
casacore::CountedPtr< casacore::Lattice< casacore::Complex > > arrayLattice
casacore::Array lattice casacore::Lattice<casacore::Complex> * arrayLattice;
casacore::Bool recordOnGrid(const VisBuffer &vb, casacore::Int rownr) const
Is this record on Grid? check both ends.
casacore::PtrBlock< casacore::Array< casacore::Complex > * > convWeightsCache
virtual casacore::Bool verifyAvgPB(casacore::ImageInterface< casacore::Float > &pb, casacore::ImageInterface< casacore::Float > &sky)
virtual void finalizeToSky()
Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used...
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
Referenced counted pointer for constant data.
casacore::Bool convFuncCacheReady
If true, all convolution functions are in the cache.
virtual IPosition shape() const =0
Return the shape of the Lattice including all degenerate axes (ie.
virtual casacore::Double getVBPA(const VisBuffer &vb)
casacore::Int locateConvFunction(casacore::Int Nw, casacore::Int polInUse, const VisBuffer &vb, casacore::Float &pa)
Locate convolution functions on the disk.
A class to provide easy read-only access to MSPointing columns.
void makeCFPolMap(const VisBuffer &vb, casacore::Vector< casacore::Int > &polM)
casacore::Vector<casacore::Int> makeConjPolMap(const VisBuffer& vb);
Interconvert pixel positions and directions (e.g. RA/DEC).
casacore::Array< casacore::Float > m_offsets
casacore::Int noOfPASteps
casacore::LatticeCache< casacore::Complex > * imageCache
Image cache.
casacore::Vector< casacore::Int > cfStokes
casacore::IPosition centerLoc
Useful IPositions.
virtual void reset()
reset to the state which exists just after construction
void makeAntiAliasingOp(casacore::Vector< casacore::Complex > &val, const casacore::Int len)
casacore::Float pbLimit_p
Percentage of the peak of the PB after which the image is set to zero.
casacore::Bool findSupport(casacore::Array< casacore::Complex > &func, casacore::Float &threshold, casacore::Int &origin, casacore::Int &R)
casacore::Int maxConvSupport
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)
casacore::Float padding_p
Padding in FFT.
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::Float lastPAUsedForWtImg
void makeConjPolMap(const VisBuffer &vb, const casacore::Vector< casacore::Int > cfPolMap, casacore::Vector< casacore::Int > &conjPolMap)
Type
Types of known Images that may be made using the makeImage method.
casacore::Double getPA(const VisBuffer &vb)
casacore::Cube< casacore::Int > convSupport
Converts UVW coordinates between coordinate systems.
casacore::Int priorCacheSize
A class to provide easy read-write access to MSAntenna columns.
casacore::Bool pbNormalized
casacore::Vector< casacore::Double > uvScale
Image Scaling and offset.
casacore::Bool toRecord(casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="")
Save and restore the nPBWProjectFT to and from a record.
bool Bool
Define the standard types used by Casacore.
casacore::Array< casacore::Complex > * getDataPointer(const casacore::IPosition &, casacore::Bool)
Get the appropriate data pointer.
virtual casacore::Int findPointingOffsets(const VisBuffer &, casacore::Array< casacore::Float > &, casacore::Array< casacore::Float > &, casacore::Bool Evaluate=true)
void findConvFunction(const casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb)
Find the convolution function.
casacore::Bool fromRecord(casacore::String &error, const casacore::RecordInterface &inRec)
//////////////////////////////////////////////////////////////////////////
An object to manage the caches of pre-computed convolution functions on the disk and in the memory...
Functor to apply complex function conj.
casacore::Matrix< casacore::Double > sumWeight
Sum of weights per polarization and per chan.
casacore::Float maxAbsData
casacore::CountedPtr< casacore::Lattice< casacore::Complex > > lattice
Lattice.
A drop-in replacement for Block<T*>.
casacore::Bool usezero_p
Grid/degrid zero spacing points?
virtual Origin origin() const =0
ABSTRACT METHODS //.
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...
casacore::Int polInUse
No.
ParAngleChangeDetector paChangeDetector
void getWeightImage(casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &)
Get the final weights image.
casacore::Double currentCFPA
casacore::Array< casacore::Complex > convWeights
casacore::PtrBlock< casacore::Array< casacore::Complex > * > convFuncCache
Holder for the pointers to the convolution functions.
Base class for all Casacore library errors.
const Double e
e and functions thereof:
void applyAntiAliasingOp(casacore::ImageInterface< casacore::Complex > &cf, casacore::Vector< casacore::IPosition > &offset, casacore::Int op=0, casacore::Bool Square=false)
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 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)
casacore::Bool avgPBSaved
casacore::Cube< casacore::Int > convWtSupport
casacore::Bool getXYPos(const VisBuffer &vb, casacore::Int row)
String: the storage and methods of handling collections of characters.
casacore::TempImage< casacore::Float > avgPB
VPSkyJones *vpSJ;.
nPBWProjectFT & operator=(const nPBWProjectFT &other)
Assignment operator.
casacore::MDirection::Convert makeCoordinateMachine(const VisBuffer &, const casacore::MDirection::Types &, const casacore::MDirection::Types &, casacore::MEpoch &last)
VisBuffers encapsulate one chunk of visibility data for processing.
void put(const VisBuffer &, casacore::TempImage< casacore::Complex > &, casacore::Vector< casacore::Double > &, int, casacore::UVWMachine *, casacore::Bool)
Put coherence to grid by gridding.
virtual void finalizeToVis()
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being u...
Abstract base class for Record classes.
nPBWProjectFT(casacore::Int nFacets, casacore::Long cachesize, casacore::String &cfCacheDirName, casacore::Bool applyPointingOffset=true, casacore::Bool doPBCorr=true, casacore::Int tilesize=16, casacore::Float paSteps=5.0, casacore::Float pbLimit=5e-2, casacore::Bool usezero=false)
Constructor: cachesize is the size of the cache in words (e.g.
casacore::Vector< casacore::Float > pbPeaks
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 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). ...
casacore::Bool isTiled
Is this tiled?
casacore::Vector< casacore::Complex > Area
ConvFuncDiskCache cfCache
virtual void normalizeAvgPB()
VLACalcIlluminationConvFunc vlaPB;.
Interconvert pixel and world coordinates.
SolvableVisJones * epJ
EPJones *epJ;.
casacore::Bool rotateAperture_p
virtual void initVisBuffer(VisBuffer &vb, Type whichVBColumn)
virtual void normalizeImage(casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool)
casacore::Bool doPBCorrection
casacore::Double Diameter_p
void setEPJones(SolvableVisJones *ep_j)
void setEPJones(EPJones* ep_j) {epJ = ep_j;}
defines interface for the Fourier Transform Machine