casa
$Rev:20696$
|
defines interface for the Fourier Transform Machine More...
#include <FTMachine.h>
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) | |
FTMachine & | operator= (const FTMachine &other) |
void | setBasePrivates (const FTMachine &other) |
virtual | ~FTMachine () |
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 | 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) |
Vectorized InitializeToSky. | |
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) |
Vectorized finalizeToSky. | |
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 ImageInterface< Complex > & | getImage (Matrix< Float > &, Bool normalize=True)=0 |
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) |
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 void | setSpwFreqSelection (const Matrix< Double > &spwfreqs) |
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 () |
String | getCacheDir () |
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 | |
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< CFCache > | cfCache_p |
CFStore | cfs_p |
CFStore | cfwts_p |
CFStore2 | cfs2_p |
CFStore2 | cfwts2_p |
CountedPtr< ConvolutionFunction > | convFuncCtor_p |
CountedPtr< PolOuterProduct > | pop_p |
Bool | canComputeResiduals_p |
Bool | toVis_p |
Int | numthreads_p |
Float | pbLimit_p |
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< Bool > &out, const Cube< Bool > &in) |
void | convUVW (Double &dphase, Vector< Double > &thisrow) |
Private Attributes | |
CountedPtr< ImageInterface < Complex > > | cmplxImage_p |
A holder for the complex image if nobody else is keeping it. | |
Friends | |
class | VisModelData |
class | MultiTermFT |
defines interface for the Fourier Transform Machine
Public interface
FTMachine is a Machine for Fourier Transforms
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).
A simple example of a FTMachine is found in GridFT . See the example for SkyModel .
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 112 of file FTMachine.h.
Types of known Images that may be made using the makeImage method.
Definition at line 117 of file FTMachine.h.
casa::FTMachine::FTMachine | ( | CountedPtr< CFCache > & | cfcache, |
CountedPtr< ConvolutionFunction > & | cfctor | ||
) |
casa::FTMachine::FTMachine | ( | const FTMachine & | other | ) |
virtual casa::FTMachine::~FTMachine | ( | ) | [virtual] |
virtual Bool casa::FTMachine::canComputeResiduals | ( | ) | [inline, virtual] |
Definition at line 319 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::nPBWProjectFT, casa::GridBoth, and casa::SDGrid.
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::AWProjectFT, casa::nPBWProjectFT, casa::WProjectFT, casa::MosaicFT, casa::rGridFT, casa::GridFT, casa::rGridFT, casa::GridBoth, casa::SDGrid, casa::FixVis, casa::NewMultiTermFT, and casa::MultiTermFT.
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 void casa::FTMachine::finalizeToSky | ( | ) | [pure virtual] |
Implemented in casa::AWProjectFT, casa::FixVis, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::SDGrid, casa::MosaicFT, casa::GridBoth, casa::AWProjectWBFT, casa::NewMultiTermFT, casa::PBMosaicFT, and casa::MultiTermFT.
virtual void casa::FTMachine::finalizeToSky | ( | ImageInterface< Complex > & | iimage | ) | [inline, virtual] |
Definition at line 174 of file FTMachine.h.
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 | ||
) | [virtual] |
Vectorized finalizeToSky.
Reimplemented in casa::NewMultiTermFT.
virtual void casa::FTMachine::finalizeToVis | ( | ) | [pure virtual] |
Implemented in casa::AWProjectFT, casa::FixVis, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::WProjectFT, casa::rGridFT, casa::GridFT, casa::rGridFT, casa::SDGrid, casa::MosaicFT, casa::GridBoth, casa::NewMultiTermFT, and casa::MultiTermFT.
virtual void casa::FTMachine::findConvFunction | ( | const ImageInterface< Complex > & | , |
const VisBuffer & | |||
) | [inline, virtual] |
Reimplemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::WProjectFT, and casa::MosaicFT.
Definition at line 229 of file FTMachine.h.
virtual Bool casa::FTMachine::fromRecord | ( | String & | error, |
const RecordInterface & | inRecord | ||
) | [virtual] |
Reimplemented in casa::nPBWProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::GridBoth, casa::NewMultiTermFT, casa::MultiTermFT, and casa::SetJyGridFT.
virtual void casa::FTMachine::get | ( | VisBuffer & | vb, |
Int | row = -1 |
||
) | [pure virtual] |
Get actual coherence from grid
Implemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::FixVis, casa::SDGrid, casa::MosaicFT, casa::GridBoth, casa::SetJyGridFT, casa::NewMultiTermFT, and casa::MultiTermFT.
String casa::FTMachine::getCacheDir | ( | ) | [inline] |
Definition at line 330 of file FTMachine.h.
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 236 of file FTMachine.h.
virtual ImageInterface<Complex>& casa::FTMachine::getImage | ( | Matrix< Float > & | , |
Bool | normalize = True |
||
) | [pure virtual] |
Get the final image
Implemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::SDGrid, casa::GridBoth, casa::FixVis, casa::NewMultiTermFT, casa::AWProjectWBFT, casa::MultiTermFT, casa::MultiTermAWProjectWBFT, and casa::PBMosaicFT.
virtual void casa::FTMachine::getInterpolateArrays | ( | const VisBuffer & | vb, |
Cube< Complex > & | data, | ||
Cube< Int > & | flag | ||
) | [protected, virtual] |
Interpolate visibilities to be degridded upon.
virtual Float casa::FTMachine::getPBLimit | ( | ) | [inline, virtual] |
Reimplemented in casa::AWProjectFT.
Definition at line 324 of file FTMachine.h.
References pbLimit_p.
virtual String casa::FTMachine::getPointingDirColumnInUse | ( | ) | [virtual] |
virtual void casa::FTMachine::getWeightImage | ( | ImageInterface< Float > & | weightImage, |
Matrix< Float > & | weights | ||
) | [pure virtual] |
Get the final weights image.
Implemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::SDGrid, casa::GridBoth, casa::FixVis, casa::NewMultiTermFT, and casa::MultiTermFT.
virtual void casa::FTMachine::gridOk | ( | Int | gridsupport | ) | [protected, virtual] |
check if image is big enough for gridding
virtual void casa::FTMachine::initializeToSky | ( | ImageInterface< Complex > & | image, |
Matrix< Float > & | weight, | ||
const VisBuffer & | vb | ||
) | [pure virtual] |
Note : No vectorized form of finalizeToVis yet....
Implemented in casa::AWProjectFT, casa::FixVis, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::WProjectFT, casa::rGridFT, casa::GridFT, casa::rGridFT, casa::SDGrid, casa::MosaicFT, casa::GridBoth, casa::AWProjectWBFT, casa::PBMosaicFT, casa::NewMultiTermFT, and casa::MultiTermFT.
virtual void casa::FTMachine::initializeToSky | ( | Block< CountedPtr< ImageInterface< Complex > > > & | compImageVec, |
Block< Matrix< Float > > & | weightsVec, | ||
const VisBuffer & | vb, | ||
const Bool | dopsf | ||
) | [virtual] |
Vectorized InitializeToSky.
Reimplemented in casa::NewMultiTermFT.
virtual void casa::FTMachine::initializeToVis | ( | ImageInterface< Complex > & | image, |
const VisBuffer & | vb | ||
) | [pure virtual] |
Initialize transform to Visibility plane.
Implemented in casa::AWProjectFT, casa::FixVis, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::SDGrid, casa::MosaicFT, casa::GridBoth, casa::SetJyGridFT, casa::NewMultiTermFT, and casa::MultiTermFT.
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::initMaps | ( | const VisBuffer & | vb | ) | [protected, virtual] |
Reimplemented in casa::MultiTermFT.
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] |
Can this FTMachine be represented by Fourier convolutions?
Reimplemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::NewMultiTermFT, and casa::MultiTermFT.
Definition at line 274 of file FTMachine.h.
References casa::False.
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, |
VisSet & | vs, | ||
ImageInterface< Complex > & | image, | ||
Matrix< Float > & | weight | ||
) | [virtual] |
Make the entire image.
Reimplemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::NewMultiTermFT, and casa::MultiTermFT.
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::AWProjectFT.
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] |
Return the name of the machine.
Implemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::GridBoth, casa::SDGrid, casa::NewMultiTermFT, casa::FixVis, casa::MultiTermFT, casa::SetJyGridFT, casa::MultiTermAWProjectWBFT, and casa::AWProjectWBFT.
virtual void casa::FTMachine::normalizeImage | ( | Lattice< Complex > & | , |
const Matrix< Double > & | , | ||
Lattice< Float > & | , | ||
Bool | |||
) | [inline, virtual] |
Reimplemented in casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::SDGrid, casa::GridBoth, casa::FixVis, casa::MultiTermFT, and casa::MultiTermAWProjectWBFT.
Definition at line 214 of file FTMachine.h.
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::ok | ( | ) | [protected, virtual] |
Reimplemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::WProjectFT, casa::MosaicFT, casa::rGridFT, casa::GridFT, casa::rGridFT, casa::GridBoth, casa::SDGrid, and casa::FixVis.
Referenced by setBasePrivates().
virtual void casa::FTMachine::put | ( | const VisBuffer & | vb, |
Int | row = -1 , |
||
Bool | dopsf = False , |
||
FTMachine::Type | type = FTMachine::OBSERVED |
||
) | [pure virtual] |
Put coherence to grid.
Implemented in casa::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::FixVis, casa::MosaicFT, casa::SDGrid, casa::GridBoth, casa::NewMultiTermFT, and casa::MultiTermFT.
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::NewMultiTermFT, and casa::MultiTermFT.
Definition at line 196 of file FTMachine.h.
Referenced by put().
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 | ( | ) | [inline, virtual] |
reset stuff in an FTMachine
Reimplemented in casa::AWProjectFT, casa::nPBWProjectFT, and casa::MosaicFT.
Definition at line 299 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 137 of file FTMachine.h.
References operator=().
virtual void casa::FTMachine::setCanComputeResiduals | ( | Bool & | b | ) | [inline, virtual] |
Definition at line 318 of file FTMachine.h.
References canComputeResiduals_p.
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::AWProjectFT, casa::nPBWProjectFT, casa::WOnlyProjectFT, casa::WProjectFT, casa::MosaicFT, casa::rGridFT, casa::GridFT, casa::rGridFT, casa::GridBoth, casa::SDGrid, casa::NewMultiTermFT, casa::FixVis, and casa::MultiTermFT.
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::setMovingSource | ( | const MDirection & | mdir | ) | [virtual] |
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::rGridFT, casa::NewMultiTermFT, and casa::MultiTermFT.
Definition at line 283 of file FTMachine.h.
Referenced by casa::MultiTermFT::setNoPadding().
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
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< 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.
void casa::FTMachine::swapyz | ( | Cube< Bool > & | out, |
const Cube< Bool > & | in | ||
) | [private] |
virtual Bool casa::FTMachine::toRecord | ( | String & | error, |
RecordInterface & | outRecord, | ||
Bool | withImage = False |
||
) | [virtual] |
Save and restore the FTMachine to and from a record.
Reimplemented in casa::nPBWProjectFT, casa::rGridFT, casa::WProjectFT, casa::GridFT, casa::rGridFT, casa::MosaicFT, casa::GridBoth, casa::NewMultiTermFT, casa::MultiTermFT, and casa::SetJyGridFT.
friend class MultiTermFT [friend] |
Definition at line 335 of file FTMachine.h.
friend class VisModelData [friend] |
Definition at line 330 of file FTMachine.h.
Bool casa::FTMachine::canComputeResiduals_p [protected] |
Definition at line 451 of file FTMachine.h.
Referenced by canComputeResiduals(), and setCanComputeResiduals().
CountedPtr<CFCache> casa::FTMachine::cfCache_p [protected] |
Definition at line 444 of file FTMachine.h.
CFStore2 casa::FTMachine::cfs2_p [protected] |
Reimplemented in casa::AWProjectFT.
Definition at line 446 of file FTMachine.h.
CFStore casa::FTMachine::cfs_p [protected] |
Definition at line 445 of file FTMachine.h.
Vector<Int> casa::FTMachine::cfStokes_p [protected] |
Definition at line 442 of file FTMachine.h.
CFStore2 casa::FTMachine::cfwts2_p [protected] |
Reimplemented in casa::AWProjectFT.
Definition at line 446 of file FTMachine.h.
CFStore casa::FTMachine::cfwts_p [protected] |
Definition at line 445 of file FTMachine.h.
Vector<Int> casa::FTMachine::chanMap [protected] |
Maps of channels and polarization.
Definition at line 378 of file FTMachine.h.
CountedPtr<ImageInterface<Complex> > casa::FTMachine::cmplxImage_p [private] |
A holder for the complex image if nobody else is keeping it.
Definition at line 466 of file FTMachine.h.
CountedPtr<ConvolutionFunction> casa::FTMachine::convFuncCtor_p [protected] |
Definition at line 448 of file FTMachine.h.
Double casa::FTMachine::distance_p [protected] |
Definition at line 358 of file FTMachine.h.
Vector<Bool> casa::FTMachine::doConversion_p [protected] |
Definition at line 432 of file FTMachine.h.
Bool casa::FTMachine::doUVWRotation_p [protected] |
Set if uvwrotation is necessary.
Definition at line 388 of file FTMachine.h.
Matrix<Double> casa::FTMachine::expandedSpwConjFreqSel_p [protected] |
Definition at line 441 of file FTMachine.h.
Matrix<Double> casa::FTMachine::expandedSpwFreqSel_p [protected] |
Definition at line 441 of file FTMachine.h.
MDirection casa::FTMachine::firstMovingDir_p [protected] |
Definition at line 355 of file FTMachine.h.
Bool casa::FTMachine::fixMovingSource_p [protected] |
Definition at line 354 of file FTMachine.h.
Bool casa::FTMachine::freqFrameValid_p [protected] |
Reimplemented in casa::FixVis.
Definition at line 433 of file FTMachine.h.
InterpolateArray1D<Double,Complex>::InterpolationMethod casa::FTMachine::freqInterpMethod_p [protected] |
Definition at line 438 of file FTMachine.h.
ImageInterface<Complex>* casa::FTMachine::image [protected] |
Definition at line 340 of file FTMachine.h.
Referenced by casa::FixVis::getImage().
Vector<Double> casa::FTMachine::imageFreq_p [protected] |
Definition at line 434 of file FTMachine.h.
Vector<Double> casa::FTMachine::interpVisFreq_p [protected] |
Definition at line 437 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 381 of file FTMachine.h.
Int casa::FTMachine::lastFieldId_p [protected] |
Definition at line 362 of file FTMachine.h.
Int casa::FTMachine::lastMSId_p [protected] |
Definition at line 363 of file FTMachine.h.
LogIO casa::FTMachine::logIO_p [protected] |
Definition at line 336 of file FTMachine.h.
Vector<Double> casa::FTMachine::lsrFreq_p [protected] |
Vector of float lsrfreq needed for regridding.
Definition at line 436 of file FTMachine.h.
MeasFrame casa::FTMachine::mFrame_p [protected] |
Definition at line 344 of file FTMachine.h.
MDirection casa::FTMachine::mImage_p [protected] |
Definition at line 350 of file FTMachine.h.
MPosition casa::FTMachine::mLocation_p [protected] |
Default Position used for phase rotations.
Reimplemented in casa::FixVis.
Definition at line 384 of file FTMachine.h.
Referenced by casa::PBMosaicFT::setObservatoryLocation(), casa::AWProjectWBFT::setObservatoryLocation(), and casa::AWProjectFT::setObservatoryLocation().
MDirection casa::FTMachine::movingDir_p [protected] |
moving source stuff
Definition at line 353 of file FTMachine.h.
MDirection casa::FTMachine::mTangent_p [protected] |
Definition at line 348 of file FTMachine.h.
Block<Vector <Int> > casa::FTMachine::multiChanMap_p [protected] |
setup multiple spectral window for cubes
Definition at line 396 of file FTMachine.h.
uInt casa::FTMachine::nAntenna_p [protected] |
Definition at line 360 of file FTMachine.h.
Int casa::FTMachine::nchan [protected] |
Definition at line 375 of file FTMachine.h.
Int casa::FTMachine::npol [protected] |
Definition at line 375 of file FTMachine.h.
Int casa::FTMachine::numthreads_p [protected] |
Definition at line 453 of file FTMachine.h.
Int casa::FTMachine::nvischan [protected] |
Definition at line 375 of file FTMachine.h.
Vector<Int> casa::FTMachine::nVisChan_p [protected] |
Definition at line 398 of file FTMachine.h.
Int casa::FTMachine::nvispol [protected] |
Definition at line 375 of file FTMachine.h.
Int casa::FTMachine::nx [protected] |
Sizes.
Definition at line 375 of file FTMachine.h.
Int casa::FTMachine::ny [protected] |
Definition at line 375 of file FTMachine.h.
Float casa::FTMachine::pbLimit_p [protected] |
Reimplemented in casa::nPBWProjectFT.
Definition at line 455 of file FTMachine.h.
Referenced by casa::AWProjectFT::getPBLimit(), and getPBLimit().
String casa::FTMachine::pointingDirCol_p [protected] |
Definition at line 439 of file FTMachine.h.
Int casa::FTMachine::polInUse_p [protected] |
Definition at line 443 of file FTMachine.h.
Vector<Int> casa::FTMachine::polMap [protected] |
Definition at line 378 of file FTMachine.h.
Referenced by casa::WOnlyProjectFT::getPolMap(), casa::nPBWProjectFT::getPolMap(), and casa::AWProjectFT::getPolMap().
CountedPtr<PolOuterProduct> casa::FTMachine::pop_p [protected] |
Definition at line 449 of file FTMachine.h.
Vector<Int> casa::FTMachine::selectedSpw_p [protected] |
Definition at line 397 of file FTMachine.h.
SpectralCoordinate casa::FTMachine::spectralCoord_p [protected] |
Private variables needed for spectral frame conversion.
Definition at line 431 of file FTMachine.h.
Cube<Int> casa::FTMachine::spwChanSelFlag_p [protected] |
Definition at line 440 of file FTMachine.h.
Matrix<Double> casa::FTMachine::spwFreqSel_p [protected] |
Definition at line 441 of file FTMachine.h.
Matrix<Double> casa::FTMachine::sumCFWeight [protected] |
Definition at line 372 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 372 of file FTMachine.h.
Referenced by casa::WOnlyProjectFT::getSumOfWeights(), and casa::AWProjectFT::getSumOfWeights().
Bool casa::FTMachine::tangentSpecified_p [protected] |
Direction of desired tangent plane.
Definition at line 347 of file FTMachine.h.
Bool casa::FTMachine::toVis_p [protected] |
Definition at line 452 of file FTMachine.h.
Bool casa::FTMachine::useDoubleGrid_p [protected] |
Use douple precision grid in gridding process.
Definition at line 365 of file FTMachine.h.
UVWMachine* casa::FTMachine::uvwMachine_p [protected] |
Definition at line 342 of file FTMachine.h.