Performs for MeasurementSets various fixes which do not involve calibrating. This includes (in order of implementation):
More...
|
| FixVis (casacore::MeasurementSet &ms, const casacore::String &dataColName=casacore::String("all")) |
| Constructor. More...
|
|
FixVis & | operator= (FixVis &other) |
| Assignment (only copies reference to casacore::MS, need to reset selection etc) More...
|
|
| ~FixVis () |
| Destructor. More...
|
|
casacore::uInt | setFields (const casacore::Vector< casacore::Int > &fieldIds) |
| Set the required field Ids and return the # of selected fields. More...
|
|
Select by | observationIDs (problematic at best) void setObsIDs(const casacore |
|
Specifies new phase tracking
centers for the selected
fields *void | setPhaseDirs (const casacore::Vector< casacore::MDirection > &phaseDirs) |
|
void | setDistances (const casacore::Vector< casacore::Double > &distances) |
| Specifies distances for each selected field according to distances, which must be in m and the same order as the casacore::Vector given to setFields. More...
|
|
casacore::Bool | calc_uvw (const casacore::String &refcode, const casacore::Bool reuse=true) |
| Calculate the (u, v, w)s and store them in ms_p. More...
|
|
void | rotateUVW (const casacore::MDirection &indir, const casacore::MDirection::Ref &newref) |
| Convert the UVW column to a new reference frame by rotating the old baselines instead of calculating fresh ones. More...
|
|
casacore::Bool | fixvis (const casacore::String &refcode) |
| For things like rotation, differential aberration correction, etc., when there already is a UVW column, using FTMachine. 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 (VisBuffer &, casacore::Bool) |
| Make the VB and VBStore interefaces for the interim re-factoring work. More...
|
|
virtual casacore::String | name () const |
| Return the name of the machine. More...
|
|
| FTMachine () |
|
| FTMachine (casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cfctor) |
|
| FTMachine (const FTMachine &other) |
|
FTMachine & | operator= (const FTMachine &other) |
|
void | setBasePrivates (const FTMachine &other) |
|
virtual | ~FTMachine () |
|
virtual FTMachine * | cloneFTM () |
| clone copy the default cloner clones via a Record copy 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 VisBuffer &vb) |
| Vectorized InitializeToVis. More...
|
|
virtual void | initializeToVisNew (const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore) |
|
virtual void | initializeToSky (casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &compImageVec, casacore::Block< casacore::Matrix< casacore::Float > > &weightsVec, const VisBuffer &vb, const casacore::Bool dopsf=false) |
| Vectorized InitializeToSky. More...
|
|
virtual void | initializeToSkyNew (const casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore) |
|
virtual void | finalizeToSky (casacore::ImageInterface< casacore::Complex > &iimage) |
|
virtual void | finalizeToSky (casacore::Block< casacore::CountedPtr< casacore::ImageInterface< casacore::Complex > > > &compImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &resImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &weightImageVec, casacore::PtrBlock< casacore::SubImage< casacore::Float > * > &fluxScaleVec, casacore::Bool dopsf, casacore::Block< casacore::Matrix< casacore::Float > > &weightsVec, const VisBuffer &vb) |
| Vectorized finalizeToSky. More...
|
|
virtual void | finalizeToSkyNew (casacore::Bool dopsf, const VisBuffer &vb, casacore::CountedPtr< SIImageStore > imstore) |
|
virtual void | put (VisBuffer &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=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::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 (VisBuffer &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 VisBuffer &vb, casacore::Bool &firstRow, casacore::Bool &internalRow) |
|
template<typename T > |
void | getGrid (casacore::Array< T > &thegrid) |
|
More...
|
|
virtual const
casacore::CountedPtr
< ConvolutionFunction > & | getAWConvFunc () |
|
virtual void | findConvFunction (const casacore::ImageInterface< casacore::Complex > &, const VisBuffer &) |
|
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, VisSet &vs, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight) |
| Make the entire image. More...
|
|
virtual void | makeImage (FTMachine::Type type, ROVisibilityIterator &vi, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight) |
| Make the entire image using a ROVisIter. More...
|
|
void | girarUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const VisBuffer &vb) |
|
More...
|
|
void | rotateUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const VisBuffer &vb) |
|
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 VisBuffer &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 VisBuffer &vb) |
| Has this operator changed since the last application? More...
|
|
virtual casacore::Bool | isFourier () |
| Can this FTMachine be represented by Fourier convolutions? More...
|
|
casacore::Bool | setSpw (casacore::Vector< casacore::Int > &spw, casacore::Bool validFrame) |
| set spw for cube that will be used; 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...
|
|
void | setLocation (const casacore::MPosition &loc) |
| set and get the location used for frame More...
|
|
casacore::MPosition & | getLocation () |
|
virtual void | setMovingSource (const casacore::String &sourcename) |
| set a moving source aka planets or comets => adjust phase center on the fly for gridding More...
|
|
virtual void | setMovingSource (const casacore::MDirection &mdir) |
|
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 () |
|
virtual void | reset () |
| reset stuff in an FTMachine More...
|
|
virtual void | setFreqInterpolation (const casacore::String &method) |
| set frequency interpolation type More...
|
|
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 casacore::Cube
< casacore::Int > | getSpwChanSelection () |
|
virtual void | setSpwFreqSelection (const casacore::Matrix< casacore::Double > &spwfreqs) |
|
virtual casacore::Matrix
< casacore::Double > | getSpwFreqSelection () |
|
virtual void | setCanComputeResiduals (casacore::Bool &b) |
|
virtual casacore::Bool | canComputeResiduals () |
|
virtual casacore::Float | getPBLimit () |
|
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< CFCache > | getCFCache () |
|
casacore::String | getCacheDir () |
|
virtual void | setDryRun (casacore::Bool val) |
|
virtual casacore::Bool | dryRun () |
|
virtual casacore::Bool | isUsingCFCache () |
|
|
casacore::Vector< casacore::Int > | getFieldIdx (const casacore::String &fields) |
| Interpret field indices (casacore::MSSelection) More...
|
|
casacore::Bool | ready_msc_p () |
| Makes sure msc_p is ready, and returns false if it fails. More...
|
|
void | convertFieldDirs (const casacore::MDirection::Types outType) |
| Convert the directions (phase tracking centers, + DELAY_DIR and REFERENCE_DIR if they start in the same frame) in the FIELD table to newFrame. More...
|
|
void | convertFieldCols (casacore::MSFieldColumns &msfcs, const casacore::MDirection::Ref &newFrame, const casacore::Bool doAll3) |
| Private worker function for convertFieldDirs(). More...
|
|
casacore::Bool | makeSelection (const casacore::Int selectedField) |
| Calls ready_msc_p() as a side effect. More...
|
|
void | processSelected (casacore::uInt numInSel) |
| Does phase tracking center and distance adjustment for mssel_p. More...
|
|
casacore::ImageInterface
< casacore::Complex > & | getImage (casacore::Matrix< float > &, casacore::Bool) |
| FTMachine declares a LOT of pure virtual functions which FixVis does not need. More...
|
|
virtual void | normalizeImage (casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool) |
|
void | getWeightImage (casacore::ImageInterface< float > &, casacore::Matrix< float > &) |
| Get the final weights image. More...
|
|
void | get (VisBuffer &, casacore::Int) |
|
More...
|
|
void | put (const VisBuffer &, casacore::Int, casacore::Bool, FTMachine::Type) |
| Put coherence to grid. More...
|
|
void | ok () |
| casacore::Bool getRestFreq(casacore::Vector<casacore::Double>& restFreq, const casacore::Int spw, const casacore::Int fldID); void setObsInfo(casacore::ObsInfo& obsinfo); More...
|
|
void | init () |
|
void | initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const VisBuffer &vb) |
| Initialize transform to Visibility plane using the image as a template. More...
|
|
void | finalizeToVis () |
| Finalize transform to Visibility plane. More...
|
|
void | initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const VisBuffer &vb) |
| Initialize transform to Sky plane: initializes the image. More...
|
|
void | finalizeToSky () |
| Defined here only because FTMachine declares it purely virtual. More...
|
|
casacore::Bool | setImageField (const casacore::Int fieldid, const casacore::Bool dotrackDir=false) |
| TODO?: trackDir. More...
|
|
casacore::Bool | lock () |
|
void | unlock () |
|
casacore::LogIO & | logSink () |
|
|
enum | Type {
OBSERVED,
MODEL,
CORRECTED,
RESIDUAL,
PSF,
COVERAGE,
N_types,
DEFAULT
} |
| Types of known Images that may be made using the makeImage method. More...
|
|
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...
|
|
casacore::Bool | isDryRun |
|
casacore::LogIO & | logIO () |
|
virtual void | initMaps (const VisBuffer &vb) |
|
virtual void | initPolInfo (const VisBuffer &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 | matchAllSpwChans (const VisBuffer &vb) |
| redo all spw chan match especially if ms has changed underneath More...
|
|
virtual casacore::Bool | interpolateFrequencyTogrid (const VisBuffer &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) |
| 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 (VisBuffer &vb, casacore::Cube< casacore::Complex > &data, FTMachine::Type type=FTMachine::MODEL) |
| degridded data interpolated back onto visibilities More...
|
|
virtual void | getInterpolateArrays (const VisBuffer &vb, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag) |
| Interpolate visibilities to be degridded upon. More...
|
|
void | setSpectralFlag (const VisBuffer &vb, casacore::Cube< casacore::Bool > &modflagcube) |
|
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::LogIO | logIO_p |
|
casacore::ImageInterface
< casacore::Complex > * | image |
|
casacore::UVWMachine * | uvwMachine_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::MDirection | firstMovingDir_p |
|
casacore::Double | distance_p |
|
casacore::uInt | nAntenna_p |
|
casacore::Int | lastFieldId_p |
|
casacore::Int | lastMSId_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::Int > | chanMap |
| Maps of channels and polarization. More...
|
|
casacore::Vector< casacore::Int > | polMap |
|
casacore::Bool | isIOnly |
| Is casacore::Stokes I only? iso XX,XY,YX,YY or LL,LR,RL,RR. More...
|
|
casacore::MPosition | mLocation_p |
| Default Position used for phase rotations. More...
|
|
casacore::Bool | doUVWRotation_p |
| Set if uvwrotation is necessary. More...
|
|
casacore::Block
< casacore::Vector
< casacore::Int > > | multiChanMap_p |
| setup multiple spectral window for cubes More...
|
|
casacore::Vector< casacore::Int > | selectedSpw_p |
|
casacore::Vector< casacore::Int > | nVisChan_p |
|
casacore::SpectralCoordinate | spectralCoord_p |
| Private variables needed for spectral frame conversion. More...
|
|
casacore::Vector< casacore::Bool > | doConversion_p |
|
casacore::Bool | freqFrameValid_p |
|
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::Int > | spwChanSelFlag_p |
|
casacore::Matrix
< casacore::Double > | spwFreqSel_p |
|
casacore::Matrix
< casacore::Double > | expandedSpwFreqSel_p |
|
casacore::Matrix
< casacore::Double > | expandedSpwConjFreqSel_p |
|
casacore::Vector< casacore::Int > | cfStokes_p |
|
casacore::Int | polInUse_p |
|
casacore::CountedPtr< CFCache > | cfCache_p |
|
CFStore | cfs_p |
|
CFStore | cfwts_p |
|
casacore::CountedPtr< CFStore2 > | cfs2_p |
|
casacore::CountedPtr< CFStore2 > | cfwts2_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...
|
|
FFT2D | ft_p |
|
casacore::Double | phaseCenterTime_p |
|
Performs for MeasurementSets various fixes which do not involve calibrating. This includes (in order of implementation):
- Generating and inserting (u, v, w)s into a casacore::MS that may or may not already have them. Includes antenna offsets when known.
- Correcting for differential aberration.
- Changing the phase tracking center.
- Changing the equinox (B1950 -> J2000).
- (maybe never) Changing the projection, i.e. SIN <-> (-)NCP.
Intended use:
Public interface
Review Status
- Date Reviewed:
- yyyy/mm/dd
Prerequisite
Etymology
It is a variation on the UVFIX task of AIPS.
Synopsis
(u, v, w)s are needed for imaging, but some data sets may not come with them included.
FixVis can also be used to shift the tangent point, and correct for differential aberration.
Example
uvwfixer.setDataDescriptionIds(ddIds);
uvwfixer.setFields(fieldIds);
uvwfixer.fixuvw();
A FixVis
object is constructed and the baselines are calculated and stored in inMS.
Motivation
Currently (10/30/2008), ASDMs from either the ALMA Test Facility or the EVLA do not come with (u, v, w)s, and need to be processed with the UVFIX task in AIPS. It would be preferable to process them entirely inside CASA.
class FixVis;
Definition at line 105 of file FixVis.h.