casa::FTMachine Class Reference

defines interface for the Fourier Transform Machine More...

#include <FTMachine.h>

Inheritance diagram for casa::FTMachine:
casa::AWProjectFT casa::FixVis casa::GridBoth casa::GridFT casa::MosaicFT casa::MultiTermFT casa::MultiTermFTNew casa::NewMultiTermFT casa::nPBWProjectFT casa::rGridFT casa::rGridFT casa::SDGrid casa::WOnlyProjectFT casa::WProjectFT

List of all members.

Public Types

enum  Type {
  OBSERVED,
  MODEL,
  CORRECTED,
  RESIDUAL,
  PSF,
  COVERAGE,
  N_types,
  DEFAULT
}
 

Types of known Images that may be made using the makeImage method.

More...

Public Member Functions

 FTMachine ()
 FTMachine (CountedPtr< CFCache > &cfcache, CountedPtr< ConvolutionFunction > &cfctor)
 FTMachine (const FTMachine &other)
FTMachineoperator= (const FTMachine &other)
void setBasePrivates (const FTMachine &other)
virtual ~FTMachine ()
virtual FTMachinecloneFTM ()
 clone copy should make it pure virtual forcing every ftm to have a cloner
virtual void initializeToVis (ImageInterface< Complex > &image, const VisBuffer &vb)=0
 Initialize transform to Visibility plane.
virtual void initializeToVis (Block< CountedPtr< ImageInterface< Complex > > > &compImageVec, PtrBlock< SubImage< Float > * > &modelImageVec, PtrBlock< SubImage< Float > * > &weightImageVec, PtrBlock< SubImage< Float > * > &fluxScaleVec, Block< Matrix< Float > > &weightsVec, const VisBuffer &vb)
 Vectorized InitializeToVis.
virtual void initializeToVisNew (const VisBuffer &vb, CountedPtr< SIImageStore > imstore)
virtual void finalizeToVis ()=0
 ------------------------------------------------------------------------------------- Finalize transform to Visibility plane This is mostly a no-op, and is not-even called from CubeSkyEquation.
virtual void initializeToSky (ImageInterface< Complex > &image, Matrix< Float > &weight, const VisBuffer &vb)=0
 Note : No vectorized form of finalizeToVis yet.
virtual void initializeToSky (Block< CountedPtr< ImageInterface< Complex > > > &compImageVec, Block< Matrix< Float > > &weightsVec, const VisBuffer &vb, const Bool dopsf=False)
 Vectorized InitializeToSky.
virtual void initializeToSkyNew (const Bool dopsf, const VisBuffer &vb, CountedPtr< SIImageStore > imstore)
virtual void finalizeToSky ()=0
 ------------------------------------------------------------------------------------- Finalize transform to Sky plane
virtual void finalizeToSky (ImageInterface< Complex > &iimage)
virtual void finalizeToSky (Block< CountedPtr< ImageInterface< Complex > > > &compImageVec, PtrBlock< SubImage< Float > * > &resImageVec, PtrBlock< SubImage< Float > * > &weightImageVec, PtrBlock< SubImage< Float > * > &fluxScaleVec, Bool dopsf, Block< Matrix< Float > > &weightsVec, const VisBuffer &vb)
 Vectorized finalizeToSky.
virtual void finalizeToSkyNew (Bool dopsf, const VisBuffer &vb, CountedPtr< SIImageStore > imstore)
virtual void get (VisBuffer &vb, Int row=-1)=0
 -------------------------------------------------------------------------------------
virtual void put (const VisBuffer &vb, Int row=-1, Bool dopsf=False, FTMachine::Type type=FTMachine::OBSERVED)=0
 Put coherence to grid.
virtual void put (VisBuffer &vb, Int row=-1, 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.
virtual void correlationToStokes (ImageInterface< Complex > &compImage, ImageInterface< Float > &resImage, const Bool dopsf)
 -------------------------------------------------------------------------------------
virtual void stokesToCorrelation (ImageInterface< Float > &modelImage, ImageInterface< Complex > &compImage)
virtual void normalizeImage (Lattice< Complex > &, const Matrix< Double > &, Lattice< Float > &, Bool)
virtual void normalizeImage (ImageInterface< Float > &skyImage, Matrix< Float > &sumOfWts, ImageInterface< Float > &sensitivityImage, Bool dopsf, Float pblimit, Int normtype)
virtual Bool useWeightImage ()
 All FTMachines that fill weightimage, need to set this.
virtual Bool isSkyJonesSet ()
virtual Bool isSkyJonesChanged (VisBuffer &vb, Int row)
virtual void setSkyJones (Vector< 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 Vector of size 0.
Bool changedSkyJonesLogic (const VisBuffer &vb, Bool &firstRow, Bool &internalRow)
template<typename T >
void getGrid (Array< T > &thegrid)
 -------------------------------------------------------------------------------------
virtual ImageInterface< Complex > & getImage (Matrix< Float > &, Bool normalize=True)=0
 Get the final image.
virtual const CountedPtr
< ConvolutionFunction > & 
getAWConvFunc ()
virtual void findConvFunction (const ImageInterface< Complex > &, const VisBuffer &)
virtual void getWeightImage (ImageInterface< Float > &weightImage, Matrix< Float > &weights)=0
 Get the final weights image.
virtual void getFluxImage (ImageInterface< Float > &image)
 Get a flux (divide by this to get a flux density correct image) image if there is one.
virtual void makeImage (FTMachine::Type type, VisSet &vs, ImageInterface< Complex > &image, Matrix< Float > &weight)
 Make the entire image.
virtual void makeImage (FTMachine::Type type, ROVisibilityIterator &vi, ImageInterface< Complex > &image, Matrix< Float > &weight)
 Make the entire image using a ROVisIter.
void rotateUVW (Matrix< Double > &uvw, Vector< Double > &dphase, const VisBuffer &vb)
 -------------------------------------------------------------------------------------
void refocus (Matrix< Double > &uvw, const Vector< Int > &ant1, const Vector< Int > &ant2, Vector< Double > &dphase, const VisBuffer &vb)
 Refocus on a finite distance.
virtual Bool toRecord (String &error, RecordInterface &outRecord, Bool withImage=False, const String diskimagename="")
 Save and restore the FTMachine to and from a record.
virtual Bool fromRecord (String &error, const RecordInterface &inRecord)
virtual Bool changed (const VisBuffer &vb)
 Has this operator changed since the last application?
virtual Bool isFourier ()
 Can this FTMachine be represented by Fourier convolutions?
Bool setSpw (Vector< Int > &spw, Bool validFrame)
 set spw for cube that will be used;
virtual Bool doublePrecGrid ()
 return whether the ftmachine is using a double precision grid
virtual void setNoPadding (Bool nopad)
 To make sure no padding is used in certain gridders.
virtual String name () const =0
 Return the name of the machine.
void setLocation (const MPosition &loc)
 set and get the location used for frame
MPosition & getLocation ()
virtual void setMovingSource (const String &sourcename)
 set a moving source aka planets or comets => adjust phase center on the fly for gridding
virtual void setMovingSource (const MDirection &mdir)
virtual void reset ()
 reset stuff in an FTMachine
virtual void setFreqInterpolation (const String &method)
 set frequency interpolation type
virtual void setPointingDirColumn (const String &column="DIRECTION")
 tell ftmachine which Pointing table column to use for Direction Mosaic or Single dish ft use this for example
virtual String getPointingDirColumnInUse ()
virtual void setSpwChanSelection (const Cube< Int > &spwchansels)
virtual Cube< Int > getSpwChanSelection ()
virtual void setSpwFreqSelection (const Matrix< Double > &spwfreqs)
virtual Matrix< Double > getSpwFreqSelection ()
virtual void setMiscInfo (const Int qualifier)=0
 set the order of the Taylor term for MFS this is to tell A-Projection to qualify the accumulated avgPB for each Taylor term in the CFCache.
virtual void setCanComputeResiduals (Bool &b)
virtual Bool canComputeResiduals ()
virtual void ComputeResiduals (VisBuffer &vb, Bool useCorrected)=0
 Make the VB and VBStore interefaces for the interim re-factoring work.
virtual Float getPBLimit ()
void setnumthreads (Int n)
 virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads
Int getnumthreads ()
virtual void setCFCache (CountedPtr< CFCache > &cfc, const Bool resetCFC=True)
CountedPtr< CFCachegetCFCache ()
String getCacheDir ()
virtual void setDryRun (Bool val)
virtual Bool dryRun ()
virtual Bool isUsingCFCache ()

Static Public Member Functions

static void locateuvw (const Double *&uvw, const Double *&dphase, const Double *&freq, const Int &nchan, const Double *&scale, const Double *&offset, const Int &sampling, Int *&loc, Int *&off, Complex *&phasor, const Int &row, const Bool &doW=False)
 helper function for openmp to call ...no private dependency

Public Attributes

Bool isDryRun

Protected Member Functions

LogIO & logIO ()
virtual void initMaps (const VisBuffer &vb)
virtual void initPolInfo (const VisBuffer &vb)
virtual void ok ()
virtual void gridOk (Int gridsupport)
 check if image is big enough for gridding
Bool matchChannel (const Int &spw, const VisBuffer &vb)
Bool matchAllSpwChans (const VisBuffer &vb)
 redo all spw chan match especially if ms has changed underneath
virtual Bool interpolateFrequencyTogrid (const VisBuffer &vb, const Matrix< Float > &wt, Cube< Complex > &data, Cube< Int > &flag, Matrix< 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
virtual Bool interpolateFrequencyFromgrid (VisBuffer &vb, Cube< Complex > &data, FTMachine::Type type=FTMachine::MODEL)
 degridded data interpolated back onto visibilities
virtual void getInterpolateArrays (const VisBuffer &vb, Cube< Complex > &data, Cube< Int > &flag)
 Interpolate visibilities to be degridded upon.
void setSpectralFlag (const VisBuffer &vb, Cube< Bool > &modflagcube)
Bool saveMeasure (RecordInterface &rec, const String &name, String &error, const Measure &ms)
 helper to save Measures in a record

Protected Attributes

LogIO logIO_p
ImageInterface< Complex > * image
UVWMachine * uvwMachine_p
MeasFrame mFrame_p
Bool tangentSpecified_p
 Direction of desired tangent plane.
MDirection mTangent_p
MDirection mImage_p
MDirection movingDir_p
 moving source stuff
Bool fixMovingSource_p
MDirection firstMovingDir_p
Double distance_p
uInt nAntenna_p
Int lastFieldId_p
Int lastMSId_p
Bool useDoubleGrid_p
 Use douple precision grid in gridding process.
Matrix< Double > sumWeight
 Sum of weights per polarization and per chan.
Matrix< Double > sumCFWeight
Int nx
 Sizes.
Int ny
Int npol
Int nchan
Int nvischan
Int nvispol
Vector< Int > chanMap
 Maps of channels and polarization.
Vector< Int > polMap
Bool isIOnly
 Is Stokes I only? iso XX,XY,YX,YY or LL,LR,RL,RR.
MPosition mLocation_p
 Default Position used for phase rotations.
Bool doUVWRotation_p
 Set if uvwrotation is necessary.
Block< Vector< Int > > multiChanMap_p
 setup multiple spectral window for cubes
Vector< Int > selectedSpw_p
Vector< Int > nVisChan_p
SpectralCoordinate spectralCoord_p
 Private variables needed for spectral frame conversion.
Vector< Bool > doConversion_p
Bool freqFrameValid_p
Vector< Double > imageFreq_p
Vector< Double > lsrFreq_p
 Vector of float lsrfreq needed for regridding.
Vector< Double > interpVisFreq_p
InterpolateArray1D< Double,
Complex >::InterpolationMethod 
freqInterpMethod_p
String pointingDirCol_p
Cube< Int > spwChanSelFlag_p
Matrix< Double > spwFreqSel_p
Matrix< Double > expandedSpwFreqSel_p
Matrix< Double > expandedSpwConjFreqSel_p
Vector< Int > cfStokes_p
Int polInUse_p
CountedPtr< CFCachecfCache_p
CFStore cfs_p
CFStore cfwts_p
CountedPtr< CFStore2cfs2_p
CountedPtr< CFStore2cfwts2_p
CountedPtr< ConvolutionFunctionconvFuncCtor_p
CountedPtr< PolOuterProductpop_p
Bool canComputeResiduals_p
Bool toVis_p
Int numthreads_p
Array< Complex > griddedData
 Array for non-tiled gridding These are common to most FTmachines.
Array< DComplex > griddedData2
Float pbLimit_p
Vector< CountedPtr< SkyJones > > sj_p
 Vector<SkyJones *> sj_p;.
CountedPtr< ImageInterface
< Complex > > 
cmplxImage_p
 A holder for the complex image if nobody else is keeping it.

Private Member Functions

void swapyz (Cube< Complex > &out, const Cube< Complex > &in)
 Some temporary wasteful function for swapping axes because we don't Interpolation along the second axis...will need to implement interpolation on y axis of a cube.
void swapyz (Cube< Complex > &out, const Cube< Bool > &outFlag, const Cube< Complex > &in)
void swapyz (Cube< Bool > &out, const Cube< Bool > &in)
void convUVW (Double &dphase, Vector< Double > &thisrow)

Friends

class VisModelData
class MultiTermFT
class MultiTermFTNew

Detailed Description

defines interface for the Fourier Transform Machine

Intended use:

Public interface

Prerequisite

Etymology

FTMachine is a Machine for Fourier Transforms

Synopsis

The SkyEquation needs to be able to perform Fourier transforms on visibility data. FTMachine allows efficient Fourier Transform processing using a VisBuffer which encapsulates a chunk of visibility (typically all baselines for one time) together with all the information needed for processing (e.g. UVW coordinates).

Example

A simple example of a FTMachine is found in GridFT . See the example for SkyModel .

Motivation

Define an interface to allow efficient processing of chunks of visibility data

Note that the image must be Complex. It must contain the Complex Stokes values (e.g. RR,RL,LR,LL). FTMachine uses the image coordinate system to determine mappings between the polarization and frequency values in the PagedImage and in the VisBuffer.

Definition at line 115 of file FTMachine.h.


Member Enumeration Documentation

Types of known Images that may be made using the makeImage method.

Enumerator:
OBSERVED 
MODEL 
CORRECTED 
RESIDUAL 
PSF 
COVERAGE 
N_types 
DEFAULT 

Definition at line 120 of file FTMachine.h.


Constructor & Destructor Documentation

casa::FTMachine::FTMachine (  ) 
casa::FTMachine::FTMachine ( CountedPtr< CFCache > &  cfcache,
CountedPtr< ConvolutionFunction > &  cfctor 
)
casa::FTMachine::FTMachine ( const FTMachine other  ) 
virtual casa::FTMachine::~FTMachine (  )  [virtual]

Member Function Documentation

virtual Bool casa::FTMachine::canComputeResiduals (  )  [inline, virtual]

Definition at line 359 of file FTMachine.h.

References canComputeResiduals_p.

virtual Bool casa::FTMachine::changed ( const VisBuffer vb  )  [virtual]

Has this operator changed since the last application?

Reimplemented in casa::GridBoth, casa::nPBWProjectFT, and casa::SDGrid.

Bool casa::FTMachine::changedSkyJonesLogic ( const VisBuffer vb,
Bool &  firstRow,
Bool &  internalRow 
)
virtual FTMachine* casa::FTMachine::cloneFTM (  )  [inline, virtual]

clone copy should make it pure virtual forcing every ftm to have a cloner

Reimplemented in casa::AWProjectWBFTNew, casa::GridFT, casa::MosaicFTNew, casa::MultiTermFTNew, casa::SetJyGridFT, and casa::WProjectFT.

Definition at line 147 of file FTMachine.h.

virtual void casa::FTMachine::ComputeResiduals ( VisBuffer vb,
Bool  useCorrected 
) [pure virtual]

Make the VB and VBStore interefaces for the interim re-factoring work.

Finally removed the VB interface.

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::rGridFT, casa::SDGrid, casa::AWProjectFT, casa::GridFT, casa::MosaicFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::WProjectFT, and casa::FixVis.

void casa::FTMachine::convUVW ( Double &  dphase,
Vector< Double > &  thisrow 
) [private]
virtual void casa::FTMachine::correlationToStokes ( ImageInterface< Complex > &  compImage,
ImageInterface< Float > &  resImage,
const Bool  dopsf 
) [virtual]

-------------------------------------------------------------------------------------

virtual Bool casa::FTMachine::doublePrecGrid (  )  [virtual]

return whether the ftmachine is using a double precision grid

virtual Bool casa::FTMachine::dryRun (  )  [inline, virtual]

Definition at line 379 of file FTMachine.h.

References isDryRun.

virtual void casa::FTMachine::finalizeToSky ( Block< CountedPtr< ImageInterface< Complex > > > &  compImageVec,
PtrBlock< SubImage< Float > * > &  resImageVec,
PtrBlock< SubImage< Float > * > &  weightImageVec,
PtrBlock< SubImage< Float > * > &  fluxScaleVec,
Bool  dopsf,
Block< Matrix< Float > > &  weightsVec,
const VisBuffer vb 
) [virtual]

Vectorized finalizeToSky.

Reimplemented in casa::NewMultiTermFT.

virtual void casa::FTMachine::finalizeToSky ( ImageInterface< Complex > &  iimage  )  [inline, virtual]

Definition at line 188 of file FTMachine.h.

virtual void casa::FTMachine::finalizeToSky (  )  [pure virtual]

------------------------------------------------------------------------------------- Finalize transform to Sky plane

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::PBMosaicFT, casa::rGridFT, casa::SDGrid, casa::WOnlyProjectFT, casa::AWProjectFT, casa::AWProjectWBFT, casa::GridFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::WProjectFT, and casa::FixVis.

virtual void casa::FTMachine::finalizeToSkyNew ( Bool  dopsf,
const VisBuffer vb,
CountedPtr< SIImageStore imstore 
) [virtual]

Reimplemented in casa::MultiTermFTNew.

virtual void casa::FTMachine::finalizeToVis (  )  [pure virtual]

------------------------------------------------------------------------------------- Finalize transform to Visibility plane This is mostly a no-op, and is not-even called from CubeSkyEquation.

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::rGridFT, casa::SDGrid, casa::WOnlyProjectFT, casa::AWProjectFT, casa::GridFT, casa::MosaicFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::WProjectFT, and casa::FixVis.

virtual void casa::FTMachine::findConvFunction ( const ImageInterface< Complex > &  ,
const VisBuffer  
) [inline, virtual]
virtual Bool casa::FTMachine::fromRecord ( String &  error,
const RecordInterface &  inRecord 
) [virtual]
virtual void casa::FTMachine::get ( VisBuffer vb,
Int  row = -1 
) [pure virtual]

-------------------------------------------------------------------------------------

Get actual coherence from grid

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::rGridFT, casa::SDGrid, casa::WOnlyProjectFT, casa::AWProjectFT, casa::GridFT, casa::MosaicFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::SetJyGridFT, casa::WProjectFT, and casa::FixVis.

virtual const CountedPtr<ConvolutionFunction>& casa::FTMachine::getAWConvFunc (  )  [inline, virtual]

Definition at line 265 of file FTMachine.h.

References convFuncCtor_p.

String casa::FTMachine::getCacheDir (  )  [inline]

Definition at line 372 of file FTMachine.h.

References cfCache_p.

CountedPtr<CFCache> casa::FTMachine::getCFCache (  )  [inline]

Definition at line 371 of file FTMachine.h.

References cfCache_p.

virtual void casa::FTMachine::getFluxImage ( ImageInterface< Float > &  image  )  [inline, virtual]

Get a flux (divide by this to get a flux density correct image) image if there is one.

Reimplemented in casa::MosaicFT.

Definition at line 274 of file FTMachine.h.

template<typename T >
void casa::FTMachine::getGrid ( Array< T > &  thegrid  )  [inline]

-------------------------------------------------------------------------------------

Get the gridded visibilities or weight

virtual ImageInterface<Complex>& casa::FTMachine::getImage ( Matrix< Float > &  ,
Bool  normalize = True 
) [pure virtual]
virtual void casa::FTMachine::getInterpolateArrays ( const VisBuffer vb,
Cube< Complex > &  data,
Cube< Int > &  flag 
) [protected, virtual]

Interpolate visibilities to be degridded upon.

MPosition& casa::FTMachine::getLocation (  ) 
Int casa::FTMachine::getnumthreads (  ) 
virtual Float casa::FTMachine::getPBLimit (  )  [inline, virtual]

Reimplemented in casa::AWProjectFT.

Definition at line 364 of file FTMachine.h.

References pbLimit_p.

virtual String casa::FTMachine::getPointingDirColumnInUse (  )  [virtual]
virtual Cube<Int> casa::FTMachine::getSpwChanSelection (  )  [inline, virtual]

Definition at line 349 of file FTMachine.h.

References spwChanSelFlag_p.

virtual Matrix<Double> casa::FTMachine::getSpwFreqSelection (  )  [inline, virtual]

Definition at line 351 of file FTMachine.h.

References spwFreqSel_p.

virtual void casa::FTMachine::getWeightImage ( ImageInterface< Float > &  weightImage,
Matrix< Float > &  weights 
) [pure virtual]
virtual void casa::FTMachine::gridOk ( Int  gridsupport  )  [protected, virtual]

check if image is big enough for gridding

virtual void casa::FTMachine::initializeToSky ( Block< CountedPtr< ImageInterface< Complex > > > &  compImageVec,
Block< Matrix< Float > > &  weightsVec,
const VisBuffer vb,
const Bool  dopsf = False 
) [virtual]

Vectorized InitializeToSky.

Reimplemented in casa::NewMultiTermFT.

virtual void casa::FTMachine::initializeToSky ( ImageInterface< Complex > &  image,
Matrix< Float > &  weight,
const VisBuffer vb 
) [pure virtual]

Note : No vectorized form of finalizeToVis yet.

...\.

------------------------------------------------------------------------------------- Initialize transform to Sky plane

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::PBMosaicFT, casa::rGridFT, casa::SDGrid, casa::WOnlyProjectFT, casa::AWProjectFT, casa::AWProjectWBFT, casa::GridFT, casa::MosaicFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::WProjectFT, and casa::FixVis.

virtual void casa::FTMachine::initializeToSkyNew ( const Bool  dopsf,
const VisBuffer vb,
CountedPtr< SIImageStore imstore 
) [virtual]

Reimplemented in casa::MultiTermFTNew.

virtual void casa::FTMachine::initializeToVis ( Block< CountedPtr< ImageInterface< Complex > > > &  compImageVec,
PtrBlock< SubImage< Float > * > &  modelImageVec,
PtrBlock< SubImage< Float > * > &  weightImageVec,
PtrBlock< SubImage< Float > * > &  fluxScaleVec,
Block< Matrix< Float > > &  weightsVec,
const VisBuffer vb 
) [virtual]

Vectorized InitializeToVis.

Reimplemented in casa::AWProjectFT, and casa::NewMultiTermFT.

virtual void casa::FTMachine::initializeToVis ( ImageInterface< Complex > &  image,
const VisBuffer vb 
) [pure virtual]
virtual void casa::FTMachine::initializeToVisNew ( const VisBuffer vb,
CountedPtr< SIImageStore imstore 
) [virtual]

Reimplemented in casa::MultiTermFTNew.

virtual void casa::FTMachine::initMaps ( const VisBuffer vb  )  [protected, virtual]

Reimplemented in casa::MultiTermFT, and casa::MultiTermFTNew.

virtual void casa::FTMachine::initPolInfo ( const VisBuffer vb  )  [protected, virtual]
virtual Bool casa::FTMachine::interpolateFrequencyFromgrid ( VisBuffer vb,
Cube< Complex > &  data,
FTMachine::Type  type = FTMachine::MODEL 
) [protected, virtual]

degridded data interpolated back onto visibilities

virtual Bool casa::FTMachine::interpolateFrequencyTogrid ( const VisBuffer vb,
const Matrix< Float > &  wt,
Cube< Complex > &  data,
Cube< Int > &  flag,
Matrix< Float > &  weight,
FTMachine::Type  type = FTMachine::OBSERVED 
) [protected, virtual]

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

virtual Bool casa::FTMachine::isFourier (  )  [inline, virtual]
virtual Bool casa::FTMachine::isSkyJonesChanged ( VisBuffer vb,
Int  row 
) [inline, virtual]

Definition at line 247 of file FTMachine.h.

References casacore::False, and sj_p.

virtual Bool casa::FTMachine::isSkyJonesSet (  )  [inline, virtual]

Definition at line 246 of file FTMachine.h.

References sj_p.

virtual Bool casa::FTMachine::isUsingCFCache (  )  [inline, virtual]

cerr << "@#%$@% = " << cfCache_p.nrefs() << endl;

Reimplemented in casa::MultiTermFTNew.

Definition at line 380 of file FTMachine.h.

References cfCache_p.

static void casa::FTMachine::locateuvw ( const Double *&  uvw,
const Double *&  dphase,
const Double *&  freq,
const Int &  nchan,
const Double *&  scale,
const Double *&  offset,
const Int &  sampling,
Int *&  loc,
Int *&  off,
Complex *&  phasor,
const Int &  row,
const Bool &  doW = False 
) [static]

helper function for openmp to call ...no private dependency

LogIO& casa::FTMachine::logIO (  )  [protected]
virtual void casa::FTMachine::makeImage ( FTMachine::Type  type,
ROVisibilityIterator vi,
ImageInterface< Complex > &  image,
Matrix< Float > &  weight 
) [virtual]

Make the entire image using a ROVisIter.

Reimplemented in casa::SDGrid, and casa::AWProjectFT.

virtual void casa::FTMachine::makeImage ( FTMachine::Type  type,
VisSet vs,
ImageInterface< Complex > &  image,
Matrix< Float > &  weight 
) [virtual]
Bool casa::FTMachine::matchAllSpwChans ( const VisBuffer vb  )  [protected]

redo all spw chan match especially if ms has changed underneath

Bool casa::FTMachine::matchChannel ( const Int &  spw,
const VisBuffer vb 
) [protected]
virtual String casa::FTMachine::name (  )  const [pure virtual]
virtual void casa::FTMachine::normalizeImage ( ImageInterface< Float > &  skyImage,
Matrix< Float > &  sumOfWts,
ImageInterface< Float > &  sensitivityImage,
Bool  dopsf,
Float  pblimit,
Int  normtype 
) [virtual]
virtual void casa::FTMachine::normalizeImage ( Lattice< Complex > &  ,
const Matrix< Double > &  ,
Lattice< Float > &  ,
Bool   
) [inline, virtual]
virtual void casa::FTMachine::ok (  )  [protected, virtual]
FTMachine& casa::FTMachine::operator= ( const FTMachine other  ) 
virtual void casa::FTMachine::put ( VisBuffer vb,
Int  row = -1,
Bool  dopsf = False,
FTMachine::Type  type = FTMachine::OBSERVED 
) [inline, virtual]

Non const vb version - so that weights can be modified in-place Currently, used only by MultiTermFT.

Reimplemented in casa::MultiTermFT, casa::MultiTermFTNew, and casa::NewMultiTermFT.

Definition at line 214 of file FTMachine.h.

References put(), and type().

Referenced by put().

virtual void casa::FTMachine::put ( const VisBuffer vb,
Int  row = -1,
Bool  dopsf = False,
FTMachine::Type  type = FTMachine::OBSERVED 
) [pure virtual]
void casa::FTMachine::refocus ( Matrix< Double > &  uvw,
const Vector< Int > &  ant1,
const Vector< Int > &  ant2,
Vector< Double > &  dphase,
const VisBuffer vb 
)

Refocus on a finite distance.

virtual void casa::FTMachine::reset ( void   )  [inline, virtual]

reset stuff in an FTMachine

Reimplemented in casa::nPBWProjectFT, casa::AWProjectFT, and casa::MosaicFT.

Definition at line 337 of file FTMachine.h.

void casa::FTMachine::rotateUVW ( Matrix< Double > &  uvw,
Vector< Double > &  dphase,
const VisBuffer vb 
)

-------------------------------------------------------------------------------------

Rotate the uvw from the observed phase center to the desired phase center.

Bool casa::FTMachine::saveMeasure ( RecordInterface &  rec,
const String &  name,
String &  error,
const Measure &  ms 
) [protected]

helper to save Measures in a record

void casa::FTMachine::setBasePrivates ( const FTMachine other  )  [inline]

Definition at line 140 of file FTMachine.h.

References operator=().

virtual void casa::FTMachine::setCanComputeResiduals ( Bool &  b  )  [inline, virtual]

Definition at line 358 of file FTMachine.h.

References canComputeResiduals_p.

virtual void casa::FTMachine::setCFCache ( CountedPtr< CFCache > &  cfc,
const Bool  resetCFC = True 
) [virtual]

Reimplemented in casa::AWProjectWBFT.

virtual void casa::FTMachine::setDryRun ( Bool  val  )  [inline, virtual]

cerr << "FTM: " << isDryRun << endl;

Reimplemented in casa::AWProjectWBFTNew, and casa::MultiTermFTNew.

Definition at line 374 of file FTMachine.h.

References isDryRun.

virtual void casa::FTMachine::setFreqInterpolation ( const String &  method  )  [virtual]

set frequency interpolation type

void casa::FTMachine::setLocation ( const MPosition &  loc  ) 

set and get the location used for frame

virtual void casa::FTMachine::setMiscInfo ( const Int  qualifier  )  [pure virtual]

set the order of the Taylor term for MFS this is to tell A-Projection to qualify the accumulated avgPB for each Taylor term in the CFCache.

Implemented in casa::GridBoth, casa::nPBWProjectFT, casa::rGridFT, casa::SDGrid, casa::WOnlyProjectFT, casa::AWProjectFT, casa::GridFT, casa::MosaicFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, casa::rGridFT, casa::WProjectFT, and casa::FixVis.

virtual void casa::FTMachine::setMovingSource ( const MDirection &  mdir  )  [virtual]
virtual void casa::FTMachine::setMovingSource ( const String &  sourcename  )  [virtual]

set a moving source aka planets or comets => adjust phase center on the fly for gridding

virtual void casa::FTMachine::setNoPadding ( Bool  nopad  )  [inline, virtual]

To make sure no padding is used in certain gridders.

Reimplemented in casa::rGridFT, casa::GridFT, casa::MultiTermFT, casa::MultiTermFTNew, casa::NewMultiTermFT, and casa::rGridFT.

Definition at line 321 of file FTMachine.h.

void casa::FTMachine::setnumthreads ( Int  n  ) 

virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads

virtual void casa::FTMachine::setPointingDirColumn ( const String &  column = "DIRECTION"  )  [virtual]

tell ftmachine which Pointing table column to use for Direction Mosaic or Single dish ft use this for example

virtual void casa::FTMachine::setSkyJones ( Vector< CountedPtr< SkyJones > > &  sj  )  [virtual]

Set SkyJones if image domain corrections /applycation are needed To reset the the FTMachine for stopping image based correction/applycation set in a Vector of size 0.

The pointers have to be handled by the caller ..no delete happening here

void casa::FTMachine::setSpectralFlag ( const VisBuffer vb,
Cube< Bool > &  modflagcube 
) [protected]
Bool casa::FTMachine::setSpw ( Vector< Int > &  spw,
Bool  validFrame 
)

set spw for cube that will be used;

virtual void casa::FTMachine::setSpwChanSelection ( const Cube< Int > &  spwchansels  )  [virtual]
virtual void casa::FTMachine::setSpwFreqSelection ( const Matrix< Double > &  spwfreqs  )  [virtual]
virtual void casa::FTMachine::stokesToCorrelation ( ImageInterface< Float > &  modelImage,
ImageInterface< Complex > &  compImage 
) [virtual]
void casa::FTMachine::swapyz ( Cube< Bool > &  out,
const Cube< Bool > &  in 
) [private]
void casa::FTMachine::swapyz ( Cube< Complex > &  out,
const Cube< Bool > &  outFlag,
const Cube< Complex > &  in 
) [private]
void casa::FTMachine::swapyz ( Cube< Complex > &  out,
const Cube< Complex > &  in 
) [private]

Some temporary wasteful function for swapping axes because we don't Interpolation along the second axis...will need to implement interpolation on y axis of a cube.

virtual Bool casa::FTMachine::toRecord ( String &  error,
RecordInterface &  outRecord,
Bool  withImage = False,
const String  diskimagename = "" 
) [virtual]
virtual Bool casa::FTMachine::useWeightImage (  )  [inline, virtual]

All FTMachines that fill weightimage, need to set this.

TODO : Make this pure virtual.

Reimplemented in casa::AWProjectWBFTNew, casa::MosaicFT, and casa::MultiTermFTNew.

Definition at line 245 of file FTMachine.h.

References casacore::False.


Friends And Related Function Documentation

friend class MultiTermFT [friend]

Definition at line 390 of file FTMachine.h.

friend class MultiTermFTNew [friend]

Definition at line 391 of file FTMachine.h.

friend class VisModelData [friend]

Definition at line 389 of file FTMachine.h.


Member Data Documentation

Definition at line 509 of file FTMachine.h.

Referenced by canComputeResiduals(), and setCanComputeResiduals().

CountedPtr<CFCache> casa::FTMachine::cfCache_p [protected]

Definition at line 502 of file FTMachine.h.

Referenced by getCacheDir(), getCFCache(), and isUsingCFCache().

CountedPtr<CFStore2> casa::FTMachine::cfs2_p [protected]

Definition at line 504 of file FTMachine.h.

Definition at line 503 of file FTMachine.h.

Vector<Int> casa::FTMachine::cfStokes_p [protected]

Definition at line 499 of file FTMachine.h.

CountedPtr<CFStore2> casa::FTMachine::cfwts2_p [protected]

Definition at line 504 of file FTMachine.h.

Definition at line 503 of file FTMachine.h.

Vector<Int> casa::FTMachine::chanMap [protected]

Maps of channels and polarization.

Definition at line 434 of file FTMachine.h.

CountedPtr<ImageInterface<Complex> > casa::FTMachine::cmplxImage_p [protected]

A holder for the complex image if nobody else is keeping it.

Definition at line 523 of file FTMachine.h.

Definition at line 506 of file FTMachine.h.

Referenced by getAWConvFunc().

Double casa::FTMachine::distance_p [protected]

Definition at line 414 of file FTMachine.h.

Vector<Bool> casa::FTMachine::doConversion_p [protected]

Definition at line 489 of file FTMachine.h.

Set if uvwrotation is necessary.

Definition at line 444 of file FTMachine.h.

Matrix<Double> casa::FTMachine::expandedSpwConjFreqSel_p [protected]

Definition at line 498 of file FTMachine.h.

Matrix<Double> casa::FTMachine::expandedSpwFreqSel_p [protected]

Definition at line 498 of file FTMachine.h.

MDirection casa::FTMachine::firstMovingDir_p [protected]

Definition at line 411 of file FTMachine.h.

Definition at line 410 of file FTMachine.h.

Reimplemented in casa::FixVis.

Definition at line 490 of file FTMachine.h.

InterpolateArray1D<Double,Complex>::InterpolationMethod casa::FTMachine::freqInterpMethod_p [protected]

Definition at line 495 of file FTMachine.h.

Array<Complex> casa::FTMachine::griddedData [protected]

Array for non-tiled gridding These are common to most FTmachines.

Reimplemented in casa::nPBWProjectFT, casa::rGridFT, and casa::WOnlyProjectFT.

Definition at line 515 of file FTMachine.h.

Array<DComplex> casa::FTMachine::griddedData2 [protected]

Reimplemented in casa::rGridFT.

Definition at line 516 of file FTMachine.h.

ImageInterface<Complex>* casa::FTMachine::image [protected]

Definition at line 396 of file FTMachine.h.

Referenced by casa::FixVis::getImage().

Vector<Double> casa::FTMachine::imageFreq_p [protected]

Definition at line 491 of file FTMachine.h.

Vector<Double> casa::FTMachine::interpVisFreq_p [protected]

Definition at line 494 of file FTMachine.h.

Bool casa::FTMachine::isIOnly [protected]

Is Stokes I only? iso XX,XY,YX,YY or LL,LR,RL,RR.

Definition at line 437 of file FTMachine.h.

Definition at line 418 of file FTMachine.h.

Int casa::FTMachine::lastMSId_p [protected]

Definition at line 419 of file FTMachine.h.

LogIO casa::FTMachine::logIO_p [protected]

Definition at line 392 of file FTMachine.h.

Vector<Double> casa::FTMachine::lsrFreq_p [protected]

Vector of float lsrfreq needed for regridding.

Definition at line 493 of file FTMachine.h.

MeasFrame casa::FTMachine::mFrame_p [protected]

Definition at line 400 of file FTMachine.h.

MDirection casa::FTMachine::mImage_p [protected]

Definition at line 406 of file FTMachine.h.

MPosition casa::FTMachine::mLocation_p [protected]

Default Position used for phase rotations.

Reimplemented in casa::FixVis.

Definition at line 440 of file FTMachine.h.

Referenced by casa::PBMosaicFT::setObservatoryLocation(), casa::AWProjectFT::setObservatoryLocation(), and casa::AWProjectWBFT::setObservatoryLocation().

MDirection casa::FTMachine::movingDir_p [protected]

moving source stuff

Definition at line 409 of file FTMachine.h.

MDirection casa::FTMachine::mTangent_p [protected]

Definition at line 404 of file FTMachine.h.

Block<Vector <Int> > casa::FTMachine::multiChanMap_p [protected]

setup multiple spectral window for cubes

Definition at line 453 of file FTMachine.h.

uInt casa::FTMachine::nAntenna_p [protected]

Definition at line 416 of file FTMachine.h.

Int casa::FTMachine::nchan [protected]

Definition at line 431 of file FTMachine.h.

Int casa::FTMachine::npol [protected]

Definition at line 431 of file FTMachine.h.

Definition at line 511 of file FTMachine.h.

Int casa::FTMachine::nvischan [protected]

Definition at line 431 of file FTMachine.h.

Vector<Int> casa::FTMachine::nVisChan_p [protected]

Definition at line 455 of file FTMachine.h.

Int casa::FTMachine::nvispol [protected]

Definition at line 431 of file FTMachine.h.

Int casa::FTMachine::nx [protected]

Sizes.

Definition at line 431 of file FTMachine.h.

Int casa::FTMachine::ny [protected]

Definition at line 431 of file FTMachine.h.

Float casa::FTMachine::pbLimit_p [protected]

Reimplemented in casa::nPBWProjectFT.

Definition at line 519 of file FTMachine.h.

Referenced by getPBLimit(), and casa::AWProjectFT::getPBLimit().

Definition at line 496 of file FTMachine.h.

Int casa::FTMachine::polInUse_p [protected]

Definition at line 500 of file FTMachine.h.

Vector<Int> casa::FTMachine::polMap [protected]
CountedPtr<PolOuterProduct> casa::FTMachine::pop_p [protected]

Definition at line 507 of file FTMachine.h.

Vector<Int> casa::FTMachine::selectedSpw_p [protected]

Definition at line 454 of file FTMachine.h.

Vector<CountedPtr<SkyJones> > casa::FTMachine::sj_p [protected]

Vector<SkyJones *> sj_p;.

Reimplemented in casa::SDGrid, and casa::MosaicFT.

Definition at line 521 of file FTMachine.h.

Referenced by isSkyJonesChanged(), and isSkyJonesSet().

SpectralCoordinate casa::FTMachine::spectralCoord_p [protected]

Private variables needed for spectral frame conversion.

Definition at line 488 of file FTMachine.h.

Cube<Int> casa::FTMachine::spwChanSelFlag_p [protected]

Definition at line 497 of file FTMachine.h.

Referenced by getSpwChanSelection().

Matrix<Double> casa::FTMachine::spwFreqSel_p [protected]

Definition at line 498 of file FTMachine.h.

Referenced by getSpwFreqSelection().

Matrix<Double> casa::FTMachine::sumCFWeight [protected]

Definition at line 428 of file FTMachine.h.

Referenced by casa::AWProjectFT::getSumOfCFWeights().

Matrix<Double> casa::FTMachine::sumWeight [protected]

Sum of weights per polarization and per chan.

Definition at line 428 of file FTMachine.h.

Referenced by casa::WOnlyProjectFT::getSumOfWeights(), and casa::AWProjectFT::getSumOfWeights().

Direction of desired tangent plane.

Definition at line 403 of file FTMachine.h.

Bool casa::FTMachine::toVis_p [protected]

Definition at line 510 of file FTMachine.h.

Use douple precision grid in gridding process.

Definition at line 421 of file FTMachine.h.

UVWMachine* casa::FTMachine::uvwMachine_p [protected]

Definition at line 398 of file FTMachine.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1