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 FTMachine * | cloneFTM () |
clone copy should make it pure virtual forcing every ftm to have a cloner | |
virtual void | initializeToVis (ImageInterface< Complex > &image, const vi::VisBuffer2 &vb)=0 |
Initialize transform to Visibility plane. | |
virtual void | initializeToVisNew (const vi::VisBuffer2 &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 vi::VisBuffer2 &vb)=0 |
Note : No vectorized form of finalizeToVis yet. | |
virtual void | initializeToSkyNew (const Bool dopsf, const vi::VisBuffer2 &vb, CountedPtr< SIImageStore > imstore) |
virtual void | finalizeToSky ()=0 |
------------------------------------------------------------------------------------- Finalize transform to Sky plane | |
virtual void | finalizeToSky (ImageInterface< Complex > &iimage) |
virtual void | finalizeToSkyNew (Bool dopsf, const vi::VisBuffer2 &vb, CountedPtr< SIImageStore > imstore) |
virtual void | get (vi::VisBuffer2 &vb, Int row=-1)=0 |
------------------------------------------------------------------------------------- | |
virtual void | put (const vi::VisBuffer2 &vb, Int row=-1, Bool dopsf=False, refim::FTMachine::Type type=refim::FTMachine::OBSERVED)=0 |
Put coherence to grid. | |
virtual void | put (vi::VisBuffer2 &vb, Int row=-1, Bool dopsf=False, refim::FTMachine::Type type=refim::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 (vi::VisBuffer2 &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 vi::VisBuffer2 &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 < refim::ConvolutionFunction > & | getAWConvFunc () |
virtual void | findConvFunction (const ImageInterface< Complex > &, const vi::VisBuffer2 &) |
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, vi::VisibilityIterator2 &vi, ImageInterface< Complex > &image, Matrix< Float > &weight) |
Make the entire image Make the entire image using a ROVisIter. | |
void | rotateUVW (Matrix< Double > &uvw, Vector< Double > &dphase, const vi::VisBuffer2 &vb) |
------------------------------------------------------------------------------------- | |
void | refocus (Matrix< Double > &uvw, const Vector< Int > &ant1, const Vector< Int > &ant2, Vector< Double > &dphase, const vi::VisBuffer2 &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 vi::VisBuffer2 &vb) |
Has this operator changed since the last application? | |
virtual Bool | isFourier () |
Can this FTMachine be represented by Fourier convolutions? | |
Bool | setFrameValidity (Bool validFrame) |
set otf spectral frame transform is on or off; | |
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 (vi::VisBuffer2 &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< CFCache > | getCFCache () |
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 vi::VisBuffer2 &vb) |
virtual void | initPolInfo (const vi::VisBuffer2 &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 | matchChannel (const vi::VisBuffer2 &vb) |
Bool | matchAllSpwChans (const VisBuffer &vb) |
redo all spw chan match especially if ms has changed underneath | |
virtual Bool | interpolateFrequencyTogrid (const vi::VisBuffer2 &vb, const Matrix< Float > &wt, Cube< Complex > &data, Cube< Int > &flag, Matrix< Float > &weight, FTMachine::Type type=FTMachine::OBSERVED) |
Bool matchAllSpwChans(const vi::VisBuffer2& vb); 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 (vi::VisBuffer2 &vb, Cube< Complex > &data, FTMachine::Type type=FTMachine::MODEL) |
degridded data interpolated back onto visibilities | |
virtual void | getInterpolateArrays (const vi::VisBuffer2 &vb, Cube< Complex > &data, Cube< Int > &flag) |
Interpolate visibilities to be degridded upon. | |
void | setSpectralFlag (const vi::VisBuffer2 &vb, Cube< Bool > &modflagcube) |
Bool | saveMeasure (RecordInterface &rec, const String &name, String &error, const Measure &ms) |
helper to save Measures in a record | |
Matrix< Double > | negateUV (const vi::VisBuffer2 &vb) |
Protected Attributes | |
LogIO | logIO_p |
ImageInterface< Complex > * | image |
casa::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. | |
Vector< Int > | nVisChan_p |
setup multiple spectral window for cubes Block <Vector <Int> > multiChanMap_p; Vector<Int> selectedSpw_p; | |
SpectralCoordinate | spectralCoord_p |
Private variables needed for spectral frame conversion. | |
Bool | freqFrameValid_p |
Vector<Bool> doConversion_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 |
CountedPtr< CFStore2 > | cfs2_p |
CountedPtr< CFStore2 > | cfwts2_p |
CountedPtr< ConvolutionFunction > | convFuncCtor_p |
CountedPtr< PolOuterProduct > | pop_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 |
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 118 of file FTMachine.h.
Types of known Images that may be made using the makeImage method.
Definition at line 123 of file FTMachine.h.
casa::refim::FTMachine::FTMachine | ( | ) |
casa::refim::FTMachine::FTMachine | ( | CountedPtr< CFCache > & | cfcache, | |
CountedPtr< ConvolutionFunction > & | cfctor | |||
) |
casa::refim::FTMachine::FTMachine | ( | const FTMachine & | other | ) |
virtual casa::refim::FTMachine::~FTMachine | ( | ) | [virtual] |
virtual Bool casa::refim::FTMachine::canComputeResiduals | ( | ) | [inline, virtual] |
Definition at line 332 of file FTMachine.h.
References canComputeResiduals_p.
virtual Bool casa::refim::FTMachine::changed | ( | const vi::VisBuffer2 & | vb | ) | [virtual] |
Has this operator changed since the last application?
Bool casa::refim::FTMachine::changedSkyJonesLogic | ( | const vi::VisBuffer2 & | vb, | |
Bool & | firstRow, | |||
Bool & | internalRow | |||
) |
virtual FTMachine* casa::refim::FTMachine::cloneFTM | ( | ) | [inline, virtual] |
clone copy should make it pure virtual forcing every ftm to have a cloner
Reimplemented in casa::refim::AWProjectWBFTNew, casa::refim::GridFT, casa::refim::MosaicFTNew, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
Definition at line 150 of file FTMachine.h.
virtual void casa::refim::FTMachine::ComputeResiduals | ( | vi::VisBuffer2 & | 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::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
void casa::refim::FTMachine::convUVW | ( | Double & | dphase, | |
Vector< Double > & | thisrow | |||
) | [private] |
virtual void casa::refim::FTMachine::correlationToStokes | ( | ImageInterface< Complex > & | compImage, | |
ImageInterface< Float > & | resImage, | |||
const Bool | dopsf | |||
) | [virtual] |
-------------------------------------------------------------------------------------
virtual Bool casa::refim::FTMachine::doublePrecGrid | ( | ) | [virtual] |
return whether the ftmachine is using a double precision grid
virtual Bool casa::refim::FTMachine::dryRun | ( | ) | [inline, virtual] |
Definition at line 352 of file FTMachine.h.
References isDryRun.
virtual void casa::refim::FTMachine::finalizeToSky | ( | ImageInterface< Complex > & | iimage | ) | [inline, virtual] |
Definition at line 179 of file FTMachine.h.
virtual void casa::refim::FTMachine::finalizeToSky | ( | ) | [pure virtual] |
------------------------------------------------------------------------------------- Finalize transform to Sky plane
Implemented in casa::refim::AWProjectFT, casa::refim::AWProjectWBFT, casa::refim::GridFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::finalizeToSkyNew | ( | Bool | dopsf, | |
const vi::VisBuffer2 & | vb, | |||
CountedPtr< SIImageStore > | imstore | |||
) | [virtual] |
Reimplemented in casa::refim::MultiTermFTNew.
virtual void casa::refim::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::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::findConvFunction | ( | const ImageInterface< Complex > & | , | |
const vi::VisBuffer2 & | ||||
) | [inline, virtual] |
Reimplemented in casa::refim::AWProjectFT, casa::refim::MosaicFT, and casa::refim::WProjectFT.
Definition at line 249 of file FTMachine.h.
virtual Bool casa::refim::FTMachine::fromRecord | ( | String & | error, | |
const RecordInterface & | inRecord | |||
) | [virtual] |
Reimplemented in casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::get | ( | vi::VisBuffer2 & | vb, | |
Int | row = -1 | |||
) | [pure virtual] |
-------------------------------------------------------------------------------------
Get actual coherence from grid
Implemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
virtual const CountedPtr<refim::ConvolutionFunction>& casa::refim::FTMachine::getAWConvFunc | ( | ) | [inline, virtual] |
Definition at line 247 of file FTMachine.h.
References convFuncCtor_p.
String casa::refim::FTMachine::getCacheDir | ( | ) | [inline] |
Definition at line 345 of file FTMachine.h.
References cfCache_p.
CountedPtr<CFCache> casa::refim::FTMachine::getCFCache | ( | ) | [inline] |
Definition at line 344 of file FTMachine.h.
References cfCache_p.
virtual void casa::refim::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::refim::MosaicFT.
Definition at line 256 of file FTMachine.h.
void casa::refim::FTMachine::getGrid | ( | Array< T > & | thegrid | ) | [inline] |
-------------------------------------------------------------------------------------
Get the gridded visibilities or weight
virtual ImageInterface<Complex>& casa::refim::FTMachine::getImage | ( | Matrix< Float > & | , | |
Bool | normalize = True | |||
) | [pure virtual] |
Get the final image.
Implemented in casa::refim::AWProjectFT, casa::refim::AWProjectWBFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MosaicFTNew, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::getInterpolateArrays | ( | const vi::VisBuffer2 & | vb, | |
Cube< Complex > & | data, | |||
Cube< Int > & | flag | |||
) | [protected, virtual] |
Interpolate visibilities to be degridded upon.
MPosition& casa::refim::FTMachine::getLocation | ( | ) |
Int casa::refim::FTMachine::getnumthreads | ( | ) |
virtual Float casa::refim::FTMachine::getPBLimit | ( | ) | [inline, virtual] |
Reimplemented in casa::refim::AWProjectFT.
Definition at line 337 of file FTMachine.h.
References pbLimit_p.
virtual String casa::refim::FTMachine::getPointingDirColumnInUse | ( | ) | [virtual] |
virtual void casa::refim::FTMachine::getWeightImage | ( | ImageInterface< Float > & | weightImage, | |
Matrix< Float > & | weights | |||
) | [pure virtual] |
Get the final weights image.
Implemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MosaicFTNew, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::gridOk | ( | Int | gridsupport | ) | [protected, virtual] |
check if image is big enough for gridding
virtual void casa::refim::FTMachine::initializeToSky | ( | ImageInterface< Complex > & | image, | |
Matrix< Float > & | weight, | |||
const vi::VisBuffer2 & | vb | |||
) | [pure virtual] |
Note : No vectorized form of finalizeToVis yet.
...\.
------------------------------------------------------------------------------------- Initialize transform to Sky plane
Implemented in casa::refim::AWProjectFT, casa::refim::AWProjectWBFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::initializeToSkyNew | ( | const Bool | dopsf, | |
const vi::VisBuffer2 & | vb, | |||
CountedPtr< SIImageStore > | imstore | |||
) | [virtual] |
Reimplemented in casa::refim::MultiTermFTNew.
virtual void casa::refim::FTMachine::initializeToVis | ( | ImageInterface< Complex > & | image, | |
const vi::VisBuffer2 & | vb | |||
) | [pure virtual] |
Initialize transform to Visibility plane.
Implemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::initializeToVisNew | ( | const vi::VisBuffer2 & | vb, | |
CountedPtr< SIImageStore > | imstore | |||
) | [virtual] |
Reimplemented in casa::refim::MultiTermFTNew.
virtual void casa::refim::FTMachine::initMaps | ( | const vi::VisBuffer2 & | vb | ) | [protected, virtual] |
Reimplemented in casa::refim::MultiTermFTNew.
virtual void casa::refim::FTMachine::initPolInfo | ( | const vi::VisBuffer2 & | vb | ) | [protected, virtual] |
virtual Bool casa::refim::FTMachine::interpolateFrequencyFromgrid | ( | vi::VisBuffer2 & | vb, | |
Cube< Complex > & | data, | |||
FTMachine::Type | type = FTMachine::MODEL | |||
) | [protected, virtual] |
degridded data interpolated back onto visibilities
virtual Bool casa::refim::FTMachine::interpolateFrequencyTogrid | ( | const vi::VisBuffer2 & | vb, | |
const Matrix< Float > & | wt, | |||
Cube< Complex > & | data, | |||
Cube< Int > & | flag, | |||
Matrix< Float > & | weight, | |||
FTMachine::Type | type = FTMachine::OBSERVED | |||
) | [protected, virtual] |
Bool matchAllSpwChans(const vi::VisBuffer2& vb); 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::refim::FTMachine::isFourier | ( | ) | [inline, virtual] |
Can this FTMachine be represented by Fourier convolutions?
Reimplemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
Definition at line 287 of file FTMachine.h.
References casacore::False.
virtual Bool casa::refim::FTMachine::isSkyJonesChanged | ( | vi::VisBuffer2 & | vb, | |
Int | row | |||
) | [inline, virtual] |
Definition at line 230 of file FTMachine.h.
References casacore::False, and sj_p.
virtual Bool casa::refim::FTMachine::isSkyJonesSet | ( | ) | [inline, virtual] |
Definition at line 229 of file FTMachine.h.
References sj_p.
virtual Bool casa::refim::FTMachine::isUsingCFCache | ( | ) | [inline, virtual] |
cerr << "@#%$@% = " << cfCache_p.nrefs() << endl;
Reimplemented in casa::refim::MultiTermFTNew.
Definition at line 353 of file FTMachine.h.
References cfCache_p.
static void casa::refim::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::refim::FTMachine::logIO | ( | ) | [protected] |
virtual void casa::refim::FTMachine::makeImage | ( | FTMachine::Type | type, | |
vi::VisibilityIterator2 & | vi, | |||
ImageInterface< Complex > & | image, | |||
Matrix< Float > & | weight | |||
) | [virtual] |
Make the entire image Make the entire image using a ROVisIter.
Reimplemented in casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
Bool casa::refim::FTMachine::matchAllSpwChans | ( | const VisBuffer & | vb | ) | [protected] |
redo all spw chan match especially if ms has changed underneath
Bool casa::refim::FTMachine::matchChannel | ( | const vi::VisBuffer2 & | vb | ) | [protected] |
Bool casa::refim::FTMachine::matchChannel | ( | const Int & | spw, | |
const VisBuffer & | vb | |||
) | [protected] |
virtual String casa::refim::FTMachine::name | ( | ) | const [pure virtual] |
Return the name of the machine.
Implemented in casa::refim::AWProjectFT, casa::refim::AWProjectWBFT, casa::refim::AWProjectWBFTNew, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MosaicFTNew, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
Matrix<Double> casa::refim::FTMachine::negateUV | ( | const vi::VisBuffer2 & | vb | ) | [protected] |
virtual void casa::refim::FTMachine::normalizeImage | ( | ImageInterface< Float > & | skyImage, | |
Matrix< Float > & | sumOfWts, | |||
ImageInterface< Float > & | sensitivityImage, | |||
Bool | dopsf, | |||
Float | pblimit, | |||
Int | normtype | |||
) | [virtual] |
virtual void casa::refim::FTMachine::normalizeImage | ( | Lattice< Complex > & | , | |
const Matrix< Double > & | , | |||
Lattice< Float > & | , | |||
Bool | ||||
) | [inline, virtual] |
Reimplemented in casa::refim::GridFT, casa::refim::MosaicFT, and casa::refim::WProjectFT.
Definition at line 215 of file FTMachine.h.
virtual void casa::refim::FTMachine::ok | ( | ) | [protected, virtual] |
Reimplemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, and casa::refim::WProjectFT.
Reimplemented in casa::refim::AWProjectFT, casa::refim::AWProjectWBFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
Referenced by setBasePrivates().
virtual void casa::refim::FTMachine::put | ( | vi::VisBuffer2 & | vb, | |
Int | row = -1 , |
|||
Bool | dopsf = False , |
|||
refim::FTMachine::Type | type = refim::FTMachine::OBSERVED | |||
) | [inline, virtual] |
Non const vb version - so that weights can be modified in-place Currently, used only by MultiTermFT.
Reimplemented in casa::refim::MultiTermFTNew.
Definition at line 197 of file FTMachine.h.
Referenced by put().
virtual void casa::refim::FTMachine::put | ( | const vi::VisBuffer2 & | vb, | |
Int | row = -1 , |
|||
Bool | dopsf = False , |
|||
refim::FTMachine::Type | type = refim::FTMachine::OBSERVED | |||
) | [pure virtual] |
Put coherence to grid.
Implemented in casa::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
void casa::refim::FTMachine::refocus | ( | Matrix< Double > & | uvw, | |
const Vector< Int > & | ant1, | |||
const Vector< Int > & | ant2, | |||
Vector< Double > & | dphase, | |||
const vi::VisBuffer2 & | vb | |||
) |
Refocus on a finite distance.
virtual void casa::refim::FTMachine::reset | ( | void | ) | [inline, virtual] |
reset stuff in an FTMachine
Reimplemented in casa::refim::AWProjectFT, and casa::refim::MosaicFT.
Definition at line 312 of file FTMachine.h.
void casa::refim::FTMachine::rotateUVW | ( | Matrix< Double > & | uvw, | |
Vector< Double > & | dphase, | |||
const vi::VisBuffer2 & | vb | |||
) |
-------------------------------------------------------------------------------------
Rotate the uvw from the observed phase center to the desired phase center.
Bool casa::refim::FTMachine::saveMeasure | ( | RecordInterface & | rec, | |
const String & | name, | |||
String & | error, | |||
const Measure & | ms | |||
) | [protected] |
helper to save Measures in a record
void casa::refim::FTMachine::setBasePrivates | ( | const FTMachine & | other | ) | [inline] |
Definition at line 143 of file FTMachine.h.
References operator=().
virtual void casa::refim::FTMachine::setCanComputeResiduals | ( | Bool & | b | ) | [inline, virtual] |
Definition at line 331 of file FTMachine.h.
References canComputeResiduals_p.
virtual void casa::refim::FTMachine::setCFCache | ( | CountedPtr< CFCache > & | cfc, | |
const Bool | resetCFC = True | |||
) | [virtual] |
Reimplemented in casa::refim::AWProjectWBFT.
virtual void casa::refim::FTMachine::setDryRun | ( | Bool | val | ) | [inline, virtual] |
cerr << "FTM: " << isDryRun << endl;
Reimplemented in casa::refim::AWProjectWBFTNew, and casa::refim::MultiTermFTNew.
Definition at line 347 of file FTMachine.h.
References isDryRun.
Bool casa::refim::FTMachine::setFrameValidity | ( | Bool | validFrame | ) |
set otf spectral frame transform is on or off;
virtual void casa::refim::FTMachine::setFreqInterpolation | ( | const String & | method | ) | [virtual] |
set frequency interpolation type
void casa::refim::FTMachine::setLocation | ( | const MPosition & | loc | ) |
set and get the location used for frame
virtual void casa::refim::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::refim::AWProjectFT, casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, and casa::refim::WProjectFT.
virtual void casa::refim::FTMachine::setMovingSource | ( | const MDirection & | mdir | ) | [virtual] |
virtual void casa::refim::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::refim::FTMachine::setNoPadding | ( | Bool | nopad | ) | [inline, virtual] |
To make sure no padding is used in certain gridders.
Reimplemented in casa::refim::GridFT, and casa::refim::MultiTermFTNew.
Definition at line 296 of file FTMachine.h.
void casa::refim::FTMachine::setnumthreads | ( | Int | n | ) |
virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads
virtual void casa::refim::FTMachine::setPointingDirColumn | ( | const String & | column = "DIRECTION" |
) | [virtual] |
virtual void casa::refim::FTMachine::setSkyJones | ( | Vector< CountedPtr< SkyJones > > & | sj | ) | [virtual] |
void casa::refim::FTMachine::setSpectralFlag | ( | const vi::VisBuffer2 & | vb, | |
Cube< Bool > & | modflagcube | |||
) | [protected] |
virtual void casa::refim::FTMachine::setSpwChanSelection | ( | const Cube< Int > & | spwchansels | ) | [virtual] |
virtual void casa::refim::FTMachine::setSpwFreqSelection | ( | const Matrix< Double > & | spwfreqs | ) | [virtual] |
virtual void casa::refim::FTMachine::stokesToCorrelation | ( | ImageInterface< Float > & | modelImage, | |
ImageInterface< Complex > & | compImage | |||
) | [virtual] |
void casa::refim::FTMachine::swapyz | ( | Cube< Bool > & | out, | |
const Cube< Bool > & | in | |||
) | [private] |
void casa::refim::FTMachine::swapyz | ( | Cube< Complex > & | out, | |
const Cube< Bool > & | outFlag, | |||
const Cube< Complex > & | in | |||
) | [private] |
void casa::refim::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::refim::FTMachine::toRecord | ( | String & | error, | |
RecordInterface & | outRecord, | |||
Bool | withImage = False , |
|||
const String | diskimagename = "" | |||
) | [virtual] |
Save and restore the FTMachine to and from a record.
Reimplemented in casa::refim::GridFT, casa::refim::MosaicFT, casa::refim::MultiTermFTNew, casa::refim::SetJyGridFT, and casa::refim::WProjectFT.
virtual Bool casa::refim::FTMachine::useWeightImage | ( | ) | [inline, virtual] |
All FTMachines that fill weightimage, need to set this.
TODO : Make this pure virtual.
Reimplemented in casa::refim::AWProjectWBFTNew, casa::refim::MosaicFT, and casa::refim::MultiTermFTNew.
Definition at line 228 of file FTMachine.h.
References casacore::False.
friend class MultiTermFT [friend] |
Definition at line 363 of file FTMachine.h.
friend class MultiTermFTNew [friend] |
Definition at line 364 of file FTMachine.h.
friend class VisModelData [friend] |
Definition at line 362 of file FTMachine.h.
Bool casa::refim::FTMachine::canComputeResiduals_p [protected] |
Definition at line 483 of file FTMachine.h.
Referenced by canComputeResiduals(), and setCanComputeResiduals().
CountedPtr<CFCache> casa::refim::FTMachine::cfCache_p [protected] |
Definition at line 476 of file FTMachine.h.
Referenced by getCacheDir(), getCFCache(), and isUsingCFCache().
CountedPtr<CFStore2> casa::refim::FTMachine::cfs2_p [protected] |
Definition at line 478 of file FTMachine.h.
CFStore casa::refim::FTMachine::cfs_p [protected] |
Definition at line 477 of file FTMachine.h.
Vector<Int> casa::refim::FTMachine::cfStokes_p [protected] |
Definition at line 474 of file FTMachine.h.
CountedPtr<CFStore2> casa::refim::FTMachine::cfwts2_p [protected] |
Definition at line 478 of file FTMachine.h.
CFStore casa::refim::FTMachine::cfwts_p [protected] |
Definition at line 477 of file FTMachine.h.
Vector<Int> casa::refim::FTMachine::chanMap [protected] |
Maps of channels and polarization.
Definition at line 406 of file FTMachine.h.
CountedPtr<ImageInterface<Complex> > casa::refim::FTMachine::cmplxImage_p [protected] |
A holder for the complex image if nobody else is keeping it.
Definition at line 497 of file FTMachine.h.
CountedPtr<ConvolutionFunction> casa::refim::FTMachine::convFuncCtor_p [protected] |
Definition at line 480 of file FTMachine.h.
Referenced by getAWConvFunc().
Double casa::refim::FTMachine::distance_p [protected] |
Definition at line 387 of file FTMachine.h.
Bool casa::refim::FTMachine::doUVWRotation_p [protected] |
Set if uvwrotation is necessary.
Definition at line 416 of file FTMachine.h.
Matrix<Double> casa::refim::FTMachine::expandedSpwConjFreqSel_p [protected] |
Definition at line 473 of file FTMachine.h.
Matrix<Double> casa::refim::FTMachine::expandedSpwFreqSel_p [protected] |
Definition at line 473 of file FTMachine.h.
MDirection casa::refim::FTMachine::firstMovingDir_p [protected] |
Definition at line 384 of file FTMachine.h.
Bool casa::refim::FTMachine::fixMovingSource_p [protected] |
Definition at line 383 of file FTMachine.h.
Bool casa::refim::FTMachine::freqFrameValid_p [protected] |
Vector<Bool> doConversion_p;.
Definition at line 465 of file FTMachine.h.
InterpolateArray1D<Double,Complex>::InterpolationMethod casa::refim::FTMachine::freqInterpMethod_p [protected] |
Definition at line 470 of file FTMachine.h.
Array<Complex> casa::refim::FTMachine::griddedData [protected] |
Array for non-tiled gridding These are common to most FTmachines.
Definition at line 489 of file FTMachine.h.
Array<DComplex> casa::refim::FTMachine::griddedData2 [protected] |
Definition at line 490 of file FTMachine.h.
ImageInterface<Complex>* casa::refim::FTMachine::image [protected] |
Definition at line 369 of file FTMachine.h.
Vector<Double> casa::refim::FTMachine::imageFreq_p [protected] |
Definition at line 466 of file FTMachine.h.
Vector<Double> casa::refim::FTMachine::interpVisFreq_p [protected] |
Definition at line 469 of file FTMachine.h.
Definition at line 358 of file FTMachine.h.
Referenced by dryRun(), setDryRun(), casa::refim::MultiTermFTNew::setDryRun(), and casa::refim::AWProjectWBFTNew::setDryRun().
Bool casa::refim::FTMachine::isIOnly [protected] |
Is Stokes I only? iso XX,XY,YX,YY or LL,LR,RL,RR.
Definition at line 409 of file FTMachine.h.
Int casa::refim::FTMachine::lastFieldId_p [protected] |
Definition at line 391 of file FTMachine.h.
Int casa::refim::FTMachine::lastMSId_p [protected] |
Definition at line 392 of file FTMachine.h.
LogIO casa::refim::FTMachine::logIO_p [protected] |
Definition at line 365 of file FTMachine.h.
Vector<Double> casa::refim::FTMachine::lsrFreq_p [protected] |
Vector of float lsrfreq needed for regridding.
Definition at line 468 of file FTMachine.h.
MeasFrame casa::refim::FTMachine::mFrame_p [protected] |
Definition at line 373 of file FTMachine.h.
MDirection casa::refim::FTMachine::mImage_p [protected] |
Definition at line 379 of file FTMachine.h.
MPosition casa::refim::FTMachine::mLocation_p [protected] |
Default Position used for phase rotations.
Definition at line 412 of file FTMachine.h.
Referenced by casa::refim::AWProjectWBFT::setObservatoryLocation(), and casa::refim::AWProjectFT::setObservatoryLocation().
MDirection casa::refim::FTMachine::movingDir_p [protected] |
moving source stuff
Definition at line 382 of file FTMachine.h.
MDirection casa::refim::FTMachine::mTangent_p [protected] |
Definition at line 377 of file FTMachine.h.
uInt casa::refim::FTMachine::nAntenna_p [protected] |
Definition at line 389 of file FTMachine.h.
Int casa::refim::FTMachine::nchan [protected] |
Definition at line 403 of file FTMachine.h.
Int casa::refim::FTMachine::npol [protected] |
Definition at line 403 of file FTMachine.h.
Int casa::refim::FTMachine::numthreads_p [protected] |
Definition at line 485 of file FTMachine.h.
Int casa::refim::FTMachine::nvischan [protected] |
Definition at line 403 of file FTMachine.h.
Vector<Int> casa::refim::FTMachine::nVisChan_p [protected] |
setup multiple spectral window for cubes Block <Vector <Int> > multiChanMap_p; Vector<Int> selectedSpw_p;
Definition at line 427 of file FTMachine.h.
Int casa::refim::FTMachine::nvispol [protected] |
Definition at line 403 of file FTMachine.h.
Int casa::refim::FTMachine::nx [protected] |
Sizes.
Definition at line 403 of file FTMachine.h.
Int casa::refim::FTMachine::ny [protected] |
Definition at line 403 of file FTMachine.h.
Float casa::refim::FTMachine::pbLimit_p [protected] |
Definition at line 493 of file FTMachine.h.
Referenced by casa::refim::AWProjectFT::getPBLimit(), and getPBLimit().
String casa::refim::FTMachine::pointingDirCol_p [protected] |
Definition at line 471 of file FTMachine.h.
Int casa::refim::FTMachine::polInUse_p [protected] |
Definition at line 475 of file FTMachine.h.
Vector<Int> casa::refim::FTMachine::polMap [protected] |
Definition at line 406 of file FTMachine.h.
Referenced by casa::refim::AWProjectFT::getPolMap().
CountedPtr<PolOuterProduct> casa::refim::FTMachine::pop_p [protected] |
Definition at line 481 of file FTMachine.h.
Vector<CountedPtr<SkyJones> > casa::refim::FTMachine::sj_p [protected] |
Vector<SkyJones *> sj_p;.
Reimplemented in casa::refim::MosaicFT.
Definition at line 495 of file FTMachine.h.
Referenced by isSkyJonesChanged(), and isSkyJonesSet().
SpectralCoordinate casa::refim::FTMachine::spectralCoord_p [protected] |
Private variables needed for spectral frame conversion.
Definition at line 463 of file FTMachine.h.
Cube<Int> casa::refim::FTMachine::spwChanSelFlag_p [protected] |
Definition at line 472 of file FTMachine.h.
Matrix<Double> casa::refim::FTMachine::spwFreqSel_p [protected] |
Definition at line 473 of file FTMachine.h.
Matrix<Double> casa::refim::FTMachine::sumCFWeight [protected] |
Definition at line 400 of file FTMachine.h.
Referenced by casa::refim::AWProjectFT::getSumOfCFWeights().
Matrix<Double> casa::refim::FTMachine::sumWeight [protected] |
Sum of weights per polarization and per chan.
Definition at line 400 of file FTMachine.h.
Referenced by casa::refim::AWProjectFT::getSumOfWeights().
Bool casa::refim::FTMachine::tangentSpecified_p [protected] |
Direction of desired tangent plane.
Definition at line 376 of file FTMachine.h.
Bool casa::refim::FTMachine::toVis_p [protected] |
Definition at line 484 of file FTMachine.h.
Bool casa::refim::FTMachine::useDoubleGrid_p [protected] |
Use douple precision grid in gridding process.
Definition at line 394 of file FTMachine.h.
casa::UVWMachine* casa::refim::FTMachine::uvwMachine_p [protected] |
Definition at line 371 of file FTMachine.h.