26 #ifndef SYNTHESIS_SYNTHESISIMAGERVI2_H
27 #define SYNTHESIS_SYNTHESISIMAGERVI2_H
42 class VisImagingWeight;
222 std::vector<std::pair<casacore::Int, casacore::Double> >
freqBegs_p;
223 std::vector<std::pair<casacore::Int, casacore::Double> >
freqEnds_p;
224 std::vector<std::pair<casacore::Int, casacore::Double> >
freqSpws_p;
A Vector of integers, for indexing into Array<T> objects.
A Measure: astronomical direction.
void andFreqSelection(const casacore::Int msId, const casacore::Int spwId, const casacore::Double freqBeg, const casacore::Double freqEnd, const casacore::MFrequency::Types frame)
virtual void makeImage(casacore::String type, const casacore::String &imagename, const casacore::String &complexImage=casacore::String(""), const Int whichModel=0)
This should replace makeSDImage and makePSF etc in the long run But for now you can do the following ...
std::vector< std::pair< casacore::Int, casacore::Double > > freqBegs_p
void createSDFTMachine(casacore::CountedPtr< refim::FTMachine > &theFT, casacore::CountedPtr< refim::FTMachine > &theIFT, const casacore::String &pointingDirCol, const casacore::Float skyPosThreshold, const casacore::Bool doPBCorr, const casacore::Float rotatePAStep, const casacore::String &gridFunction, const casacore::Int convSupport, const casacore::Quantity &truncateSize, const casacore::Quantity &gwidth, const casacore::Quantity &jwidth, const casacore::Float minWeight, const casacore::Bool clipMinMax, const casacore::Int cache, const casacore::Int tile, const casacore::String &stokes, const casacore::Bool pseudoI=false)
SynthesisImagerVi2()
Default constructor.
casacore::Bool setWeightDensity(const casacore::String &imagename=casacore::String(""))
set the weight density to the visibility iterator the default is to set it from the imagestore griwt(...
std::map< casacore::Int, std::map< casacore::Int, casacore::Vector< casacore::Int > > > channelSelections_p
map <msid, map<spwid, vector(nchan, start)> >
virtual casacore::Record apparentSensitivity()
Calculate apparent sensitivity (for Visibility spectrum) Image spectral grid TBD. ...
Stokes parameter definitions for interface to table data.
void createAWPFTMachine(casacore::CountedPtr< refim::FTMachine > &theFT, casacore::CountedPtr< refim::FTMachine > &theIFT, const casacore::String &ftmName, const casacore::Int facets, const casacore::Int wprojPlane, const casacore::Float padding, const casacore::Bool useAutocorr, const casacore::Bool useDoublePrec, const casacore::String gridFunction, const casacore::Bool aTermOn, const casacore::Bool psTermOn, const casacore::Bool mTermOn, const casacore::Bool wbAWP, const casacore::String cfCache, const casacore::Bool usePointing, const casacore::Bool doPBCorr, const casacore::Bool conjBeams, const casacore::Float computePAStep, const casacore::Float rotatePAStep, const casacore::Int cache, const casacore::Int tile, const casacore::String imageNamePrefix="")
virtual Type type()
Return the type enum.
Primary beam envelope class, derived from PBMathInterface.
virtual void runMajorCycle(const casacore::Bool dopsf=false, const casacore::Bool savemodel=false)
Do the major cycle.
Class that contains functions needed for imager.
casacore::CountedPtr< vi::FrequencySelections > fselections_p
bool makePrimaryBeam(PBMath &pbMath)
void dryGridding(const casacore::Vector< casacore::String > &cfList)
SIIterBot& getLoopControls();.
casacore::MFrequency::Types selFreqFrame_p
///temporary variable as we carry that for tunechunk
casacore::CountedPtr< vi::VisibilityIterator2 > vi_p
Other Options casacore::Block<const casacore::MeasurementSet *> mss_p;
void andChanSelection(const casacore::Int msId, const casacore::Int spwId, const casacore::Int startchan, const casacore::Int endchan)
virtual ~SynthesisImagerVi2()
void createFTMachine(casacore::CountedPtr< casa::refim::FTMachine > &theFT, casacore::CountedPtr< casa::refim::FTMachine > &theIFT, const casacore::String &ftname, const casacore::uInt nTaylorTerms=1, const casacore::String mType="default", const casacore::Int facets=1, const casacore::Int wprojplane=1, const casacore::Float padding=1.0, const casacore::Bool useAutocorr=false, const casacore::Bool useDoublePrec=true, const casacore::String gridFunction=casacore::String("SF"), const casacore::Bool aTermOn=true, const casacore::Bool psTermOn=true, const casacore::Bool mTermOn=false, const casacore::Bool wbAWP=true, const casacore::String cfCache="", const casacore::Bool usePointing=false, const casacore::Bool doPBCorr=true, const casacore::Bool conjBeams=true, const casacore::Float computePAStep=360.0, const casacore::Float rotatePAStep=5.0, const casacore::String interpolation=casacore::String("linear"), const casacore::Bool freqFrameValid=true, const casacore::Int cache=1000000000, const casacore::Int tile=16, const casacore::String stokes="I", const casacore::String imageNamePrefix="", const casacore::String &pointingDirCol=casacore::String("direction"), const casacore::Float skyPosThreshold=0.0, const casacore::Int convSupport=-1, const casacore::Quantity &truncateSize=casacore::Quantity(-1), const casacore::Quantity &gwidth=casacore::Quantity(-1), const casacore::Quantity &jwidth=casacore::Quantity(-1), const casacore::Float minWeight=0.1, const casacore::Bool clipMinMax=false, const casacore::Bool pseudoI=false)
virtual casacore::Bool selectData(const SynthesisParamsSelect &selpars)
Copy constructor and assignment operator Imager(const Imager&); Imager& operator=(const Imager&); ...
void createMosFTMachine(casacore::CountedPtr< casa::refim::FTMachine > &theFT, casacore::CountedPtr< casa::refim::FTMachine > &theIFT, const casacore::Float padding, const casacore::Bool useAutoCorr, const casacore::Bool useDoublePrec, const casacore::Float rotatePAStep, const casacore::String Stokes="I", const casacore::Bool doConjBeam=false)
casacore::CountedPtr< SIMapper > createSIMapper(casacore::String mappertype, casacore::CountedPtr< SIImageStore > imagestore, casacore::CountedPtr< refim::FTMachine > ftmachine, casacore::CountedPtr< refim::FTMachine > iftmachine, casacore::uInt ntaylorterms=1)
Referenced counted pointer for constant data.
A base class for astronomical images.
virtual void makeSdImage(casacore::Bool dopsf=false)
void fillCFCache(const casacore::Vector< casacore::String > &cfList, const casacore::String &ftmName, const casacore::String &cfcPath, const casacore::Bool &psTermOn, const casacore::Bool &aTermOn, const casacore::Bool &conjBeams)
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual casacore::Bool defineImage(SynthesisParamsImage &impars, const SynthesisParamsGrid &gridpars)
virtual void runMajorCycle2(const casacore::Bool dopsf=false, const casacore::Bool savemodel=false)
Version of major cycle code with mappers in a loop outside vi/vb.
void tuneChunk(const casacore::Int gmap)
A Table intended to hold astronomical data (a set of Measurements).
virtual void createVisSet(const casacore::Bool writeaccess=false)
VisBuffer2s encapsulate one chunk of visibility data for processing.
casacore::Bool getMovingDirection(const vi::VisBuffer2 &vb, casacore::MDirection &movingDir)
Set up tracking direction ; return False if no tracking is set.
void appendToMapperList(casacore::String imagename, casacore::CoordinateSystem &csys, casacore::IPosition imshape, casacore::CountedPtr< refim::FTMachine > &ftm, casacore::CountedPtr< refim::FTMachine > &iftm, casacore::Quantity distance=casacore::Quantity(0.0,"m"), casacore::Int facets=1, casacore::Int chanchunks=1, const casacore::Bool overwrite=false, casacore::String mappertype=casacore::String("default"), casacore::Float padding=1.0, casacore::uInt ntaylorterms=1, casacore::Vector< casacore::String > startmodel=casacore::Vector< casacore::String >(0))
virtual casacore::Bool weight(const casacore::String &type="natural", const casacore::String &rmode="norm", const casacore::Quantity &noise=casacore::Quantity(0.0,"Jy"), const casacore::Double robust=0.0, const casacore::Quantity &fieldofview=casacore::Quantity(0.0,"arcsec"), const casacore::Int npixels=0, const casacore::Bool multiField=false, const casacore::Bool useCubeBriggs=false, const casacore::String &filtertype=casacore::String("Gaussian"), const casacore::Quantity &filterbmaj=casacore::Quantity(0.0,"deg"), const casacore::Quantity &filterbmin=casacore::Quantity(0.0,"deg"), const casacore::Quantity &filterbpa=casacore::Quantity(0.0,"deg"))
String: the storage and methods of handling collections of characters.
std::vector< std::pair< casacore::Int, casacore::Double > > freqSpws_p
std::vector< std::pair< casacore::Int, casacore::Double > > freqEnds_p
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
Interconvert pixel and world coordinates.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.