casa
5.7.0-16
|
An FTMachine for Gridded Fourier transforms specializing in setjy frequency scaling. More...
#include <SetJyGridFT.h>
Public Member Functions | |
SetJyGridFT (casacore::Long cachesize, casacore::Int tilesize, casacore::String convType, casacore::MPosition mLocation, casacore::MDirection mTangent, casacore::Float passing=1.0, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false, const casacore::Vector< casacore::Double > &freqscale=casacore::Vector< casacore::Double >(1, 0.0), const casacore::Vector< casacore::Double > &scale=casacore::Vector< casacore::Double >(1, 1.0)) | |
Constructor: cachesize is the size of the cache in words (e.g. More... | |
SetJyGridFT (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the GridFT state. More... | |
SetJyGridFT (const SetJyGridFT &other) | |
Copy constructor. More... | |
SetJyGridFT & | operator= (const SetJyGridFT &other) |
Assignment operator. More... | |
virtual | ~SetJyGridFT () |
virtual FTMachine * | cloneFTM () |
clone FTM More... | |
virtual void | initializeToVis (casacore::ImageInterface< casacore::Complex > &image, const vi::VisBuffer2 &vb) |
Initialize transform to Visibility plane using the image as a template. More... | |
void | get (vi::VisBuffer2 &vb, casacore::Int row=-1) |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used. More... | |
virtual casacore::Bool | toRecord (casacore::String &error, casacore::RecordInterface &outRec, casacore::Bool withImage=false, const casacore::String diskimage="") |
Save and restore the GridFT to and from a record. More... | |
virtual casacore::Bool | fromRecord (casacore::String &error, const casacore::RecordInterface &inRec) |
virtual void | setScale (const casacore::Vector< casacore::Double > &freq, const casacore::Vector< casacore::Double > &scale) |
virtual casacore::String | name () const |
Return the name of the machine. More... | |
Public Member Functions inherited from casa::refim::GridFT | |
GridFT () | |
Constructor: cachesize is the size of the cache in words (e.g. More... | |
GridFT (casacore::Long cachesize, casacore::Int tilesize, casacore::String convType="SF", casacore::Float padding=1.0, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false) | |
GridFT (casacore::Long cachesize, casacore::Int tilesize, casacore::String convType, casacore::MPosition mLocation, casacore::Float padding=1.0, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false) | |
GridFT (casacore::Long cachesize, casacore::Int tilesize, casacore::String convType, casacore::MDirection mTangent, casacore::Float padding=1.0, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false) | |
GridFT (casacore::Long cachesize, casacore::Int tilesize, casacore::String convType, casacore::MPosition mLocation, casacore::MDirection mTangent, casacore::Float passing=1.0, casacore::Bool usezero=true, casacore::Bool useDoublePrec=false) | |
GridFT (const casacore::RecordInterface &stateRec) | |
Construct from a casacore::Record containing the GridFT state. More... | |
GridFT (const GridFT &other) | |
Copy constructor. More... | |
virtual GridFT & | operator= (const GridFT &other) |
Assignment operator. More... | |
virtual | ~GridFT () |
virtual void | finalizeToVis () |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used. More... | |
virtual void | initializeToSky (casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight, const vi::VisBuffer2 &vb) |
Initialize transform to Sky plane: initializes the image. More... | |
virtual void | finalizeToSky () |
Finalize transform to Sky plane: flushes the image cache and shows statistics if it is being used. More... | |
virtual void | put (const vi::VisBuffer2 &vb, casacore::Int row=-1, casacore::Bool dopsf=false, FTMachine::Type type=FTMachine::OBSERVED) |
Put coherence to grid by gridding. More... | |
void | makeImage (FTMachine::Type type, vi::VisibilityIterator2 &vi, casacore::ImageInterface< casacore::Complex > &image, casacore::Matrix< casacore::Float > &weight) |
Make the entire image. More... | |
casacore::ImageInterface < casacore::Complex > & | getImage (casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true) |
Get the final image: do the Fourier transform and grid-correct, then optionally normalize by the summed weights. More... | |
virtual void | normalizeImage (casacore::Lattice< casacore::Complex > &, const casacore::Matrix< casacore::Double > &, casacore::Lattice< casacore::Float > &, casacore::Bool) |
void | getWeightImage (casacore::ImageInterface< casacore::Float > &, casacore::Matrix< casacore::Float > &) |
Get the final weights image. More... | |
virtual casacore::Bool | isFourier () |
Can this FTMachine be represented by Fourier convolutions? More... | |
virtual void | setNoPadding (casacore::Bool nopad) |
To make sure no padding is used in certain gridders. More... | |
virtual void | modifyConvFunc (const casacore::Vector< casacore::Double > &convFunc, casacore::Int convSupport, casacore::Int convSampling) |
virtual void | setMiscInfo (const casacore::Int qualifier) |
set the order of the Taylor term for MFS this is to tell A-casacore::Projection to qualify the accumulated avgPB for each Taylor term in the CFCache. More... | |
virtual void | ComputeResiduals (vi::VisBuffer2 &, casacore::Bool) |
Make the VB and VBStore interefaces for the interim re-factoring work. More... | |
virtual casacore::Long | estimateRAM (const casacore::CountedPtr< SIImageStore > &imstore) |
estimate of memory necessary in kB More... | |
Public Member Functions inherited from casa::refim::FTMachine | |
FTMachine () | |
FTMachine (casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cfctor) | |
FTMachine (const FTMachine &other) | |
FTMachine & | operator= (const FTMachine &other) |
void | setBasePrivates (const FTMachine &other) |
virtual | ~FTMachine () |
virtual void | initializeToVisNew (const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | initializeToSkyNew (const casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | initBriggsWeightor (vi::VisibilityIterator2 &vi) |
This function has to be called after initMaps to initialize Briggs Cube weighting scheme More... | |
virtual void | finalizeToSky (casacore::ImageInterface< casacore::Complex > &iimage) |
virtual void | finalizeToSkyNew (casacore::Bool dopsf, const vi::VisBuffer2 &vb, casacore::CountedPtr< SIImageStore > imstore) |
virtual void | put (vi::VisBuffer2 &vb, casacore::Int row=-1, casacore::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. More... | |
virtual void | correlationToStokes (casacore::ImageInterface< casacore::Complex > &compImage, casacore::ImageInterface< casacore::Float > &resImage, const casacore::Bool dopsf) |
More... | |
virtual void | stokesToCorrelation (casacore::ImageInterface< casacore::Float > &modelImage, casacore::ImageInterface< casacore::Complex > &compImage) |
virtual void | normalizeImage (casacore::ImageInterface< casacore::Float > &skyImage, casacore::Matrix< casacore::Float > &sumOfWts, casacore::ImageInterface< casacore::Float > &sensitivityImage, casacore::Bool dopsf, casacore::Float pblimit, casacore::Int normtype) |
virtual casacore::Bool | useWeightImage () |
All FTMachines that fill weightimage, need to set this. More... | |
virtual casacore::Bool | isSkyJonesSet () |
virtual casacore::Bool | isSkyJonesChanged (vi::VisBuffer2 &vb, casacore::Int row) |
virtual void | setSkyJones (casacore::Vector< casacore::CountedPtr< SkyJones > > &sj) |
Set SkyJones if image domain corrections /applycation are needed To reset the the FTMachine for stopping image based correction/applycation set in a casacore::Vector of size 0. More... | |
casacore::Bool | changedSkyJonesLogic (const vi::VisBuffer2 &vb, casacore::Bool &firstRow, casacore::Bool &internalRow) |
template<typename T > | |
void | getGrid (casacore::Array< T > &thegrid) |
More... | |
virtual const casacore::CountedPtr < refim::ConvolutionFunction > & | getAWConvFunc () |
virtual void | findConvFunction (const casacore::ImageInterface< casacore::Complex > &, const vi::VisBuffer2 &) |
virtual void | getFluxImage (casacore::ImageInterface< casacore::Float > &image) |
Get a flux (divide by this to get a flux density correct image) image if there is one. More... | |
void | rotateUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb) |
More... | |
void | girarUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb) |
rotate with facetting style rephasing..for multifield mosaic More... | |
void | refocus (casacore::Matrix< casacore::Double > &uvw, const casacore::Vector< casacore::Int > &ant1, const casacore::Vector< casacore::Int > &ant2, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb) |
Refocus on a finite distance. More... | |
virtual casacore::Bool | changed (const vi::VisBuffer2 &vb) |
Has this operator changed since the last application? More... | |
casacore::Bool | setFrameValidity (casacore::Bool validFrame) |
set otf spectral frame transform is on or off; More... | |
virtual casacore::Bool | doublePrecGrid () |
return whether the ftmachine is using a double precision grid More... | |
virtual void | setLocation (const casacore::MPosition &loc) |
set and get the location used for frame More... | |
virtual casacore::MPosition & | getLocation () |
virtual void | setMovingSource (const casacore::String &sourcename, const casacore::String &ephemtable="") |
set a moving source aka planets or comets => adjust phase center on the fly for gridding More... | |
virtual void | setMovingSource (const casacore::MDirection &mdir) |
virtual void | reset () |
reset stuff in an FTMachine More... | |
virtual void | setFreqInterpolation (const casacore::String &method) |
set frequency interpolation type More... | |
virtual void | setFreqInterpolation (const casacore::InterpolateArray1D< casacore::Double, casacore::Complex >::InterpolationMethod type) |
virtual void | setPointingDirColumn (const casacore::String &column="DIRECTION") |
tell ftmachine which Pointing table column to use for Direction Mosaic or Single dish ft use this for example More... | |
virtual casacore::String | getPointingDirColumnInUse () |
virtual void | setSpwChanSelection (const casacore::Cube< casacore::Int > &spwchansels) |
virtual void | setSpwFreqSelection (const casacore::Matrix< casacore::Double > &spwfreqs) |
virtual void | setCanComputeResiduals (casacore::Bool &b) |
virtual casacore::Bool | canComputeResiduals () |
virtual casacore::Float | getPBLimit () |
void | setnumthreads (casacore::Int n) |
virtual void ComputeResiduals(VBStore& vb)=0; get and set numthreads More... | |
casacore::Int | getnumthreads () |
virtual void | setCFCache (casacore::CountedPtr< CFCache > &cfc, const casacore::Bool resetCFC=true) |
casacore::CountedPtr< CFCache > | getCFCache () |
casacore::String | getCacheDir () |
virtual void | setDryRun (casacore::Bool val) |
virtual casacore::Bool | dryRun () |
virtual casacore::Bool | isUsingCFCache () |
virtual const casacore::CountedPtr < refim::FTMachine > & | getFTM2 (const casacore::Bool) |
void | setPseudoIStokes (casacore::Bool pseudoI) |
void | setPhaseCenterTime (const casacore::Double time) |
set and get Time to calculate phasecenter -1.0 means using the time available at each iteration..this is used when the phasecenter in the field table is either a polynomial or has a ephemerides tables associated with it Using double in the units and epoch-frame of the ms(s)..caller is responsible for conversion More... | |
casacore::Double | getPhaseCenterTime () |
casacore::Vector< casacore::Int > | channelMap (const vi::VisBuffer2 &vb) |
casacore::Matrix < casacore::Double > | getSumWeights () |
void | setBriggsCubeWeight (casacore::CountedPtr< refim::BriggsCubeWeightor > bwght) |
Functions associated with Briggs weighting for cubes. More... | |
void | getImagingWeight (casacore::Matrix< casacore::Float > &imwght, const vi::VisBuffer2 &vb) |
Additional Inherited Members | |
Public Types inherited from casa::refim::FTMachine | |
enum | Type { OBSERVED, MODEL, CORRECTED, RESIDUAL, PSF, COVERAGE, N_types, DEFAULT } |
Types of known Images that may be made using the makeImage method. More... | |
Static Public Member Functions inherited from casa::refim::FTMachine | |
static void | locateuvw (const casacore::Double *&uvw, const casacore::Double *&dphase, const casacore::Double *&freq, const casacore::Int &nchan, const casacore::Double *&scale, const casacore::Double *&offset, const casacore::Int &sampling, casacore::Int *&loc, casacore::Int *&off, casacore::Complex *&phasor, const casacore::Int &row, const casacore::Bool &doW=false) |
helper function for openmp to call...no private dependency More... | |
Public Attributes inherited from casa::refim::FTMachine | |
casacore::Bool | isDryRun |
Protected Member Functions inherited from casa::refim::GridFT | |
casacore::Array < casacore::Complex > * | getDataPointer (const casacore::IPosition &, casacore::Bool) |
Get the appropriate data pointer. More... | |
virtual void | ok () |
virtual void | init () |
virtual void | prepGridForDegrid () |
Prepare the grid for degridding. More... | |
Protected Member Functions inherited from casa::refim::FTMachine | |
casacore::LogIO & | logIO () |
virtual void | initMaps (const vi::VisBuffer2 &vb) |
virtual void | initPolInfo (const vi::VisBuffer2 &vb) |
virtual void | gridOk (casacore::Int gridsupport) |
check if image is big enough for gridding More... | |
casacore::Bool | matchChannel (const casacore::Int &spw, const VisBuffer &vb) |
casacore::Bool | matchChannel (const vi::VisBuffer2 &vb) |
casacore::Bool | matchAllSpwChans (const VisBuffer &vb) |
redo all spw chan match especially if ms has changed underneath More... | |
virtual casacore::Bool | interpolateFrequencyTogrid (const vi::VisBuffer2 &vb, const casacore::Matrix< casacore::Float > &wt, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag, casacore::Matrix< casacore::Float > &weight, FTMachine::Type type=FTMachine::OBSERVED) |
casacore::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 More... | |
virtual casacore::Bool | interpolateFrequencyFromgrid (vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &data, FTMachine::Type type=FTMachine::MODEL) |
degridded data interpolated back onto visibilities More... | |
virtual void | getInterpolateArrays (const vi::VisBuffer2 &vb, casacore::Cube< casacore::Complex > &data, casacore::Cube< casacore::Int > &flag) |
Interpolate visibilities to be degridded upon. More... | |
void | setSpectralFlag (const vi::VisBuffer2 &vb, casacore::Cube< casacore::Bool > &modflagcube) |
casacore::Bool | storeMovingSourceState (casacore::String &error, casacore::RecordInterface &outRecord) |
Save/Recover some elements of state of ftmachine in/from record. More... | |
casacore::Bool | saveMeasure (casacore::RecordInterface &rec, const casacore::String &name, casacore::String &error, const casacore::Measure &ms) |
helper to save Measures in a record More... | |
casacore::Bool | recoverMovingSourceState (casacore::String &error, const casacore::RecordInterface &inRecord) |
casacore::Matrix < casacore::Double > | negateUV (const vi::VisBuffer2 &vb) |
virtual void | findGridSector (const casacore::Int &nxp, const casacore::Int &nyp, const casacore::Int &ixsub, const casacore::Int &iysub, const casacore::Int &minx, const casacore::Int &miny, const casacore::Int &icounter, casacore::Int &x0, casacore::Int &y0, casacore::Int &nxsub, casacore::Int &nysub, const casacore::Bool linear) |
virtual void | tweakGridSector (const casacore::Int &nx, const casacore::Int &ny, const casacore::Int &ixsub, const casacore::Int &iysub) |
void | initSourceFreqConv () |
void | shiftFreqToSource (casacore::Vector< casacore::Double > &freqs) |
An FTMachine for Gridded Fourier transforms specializing in setjy frequency scaling.
Public interface
Inheriting from GridFT which does Grid-based Fourier transforms. special case for setjy style frequency scaling
Define an interface to allow efficient processing of chunks of visibility data
Definition at line 73 of file SetJyGridFT.h.
casa::refim::SetJyGridFT::SetJyGridFT | ( | casacore::Long | cachesize, |
casacore::Int | tilesize, | ||
casacore::String | convType, | ||
casacore::MPosition | mLocation, | ||
casacore::MDirection | mTangent, | ||
casacore::Float | passing = 1.0 , |
||
casacore::Bool | usezero = true , |
||
casacore::Bool | useDoublePrec = false , |
||
const casacore::Vector< casacore::Double > & | freqscale = casacore::Vector< casacore::Double >(1, 0.0) , |
||
const casacore::Vector< casacore::Double > & | scale = casacore::Vector< casacore::Double >(1, 1.0) |
||
) |
Constructor: cachesize is the size of the cache in words (e.g.
a few million is a good number), tilesize is the size of the tile used in gridding (cannot be less than 12, 16 works in most cases), and convType is the type of gridding used (SF is prolate spheriodal wavefunction, and BOX is plain box-car summation). mLocation is the position to be used in some phase rotations. If mTangent is specified then the uvw rotation is done for that location iso the image center.
casa::refim::SetJyGridFT::SetJyGridFT | ( | const casacore::RecordInterface & | stateRec | ) |
Construct from a casacore::Record containing the GridFT state.
casa::refim::SetJyGridFT::SetJyGridFT | ( | const SetJyGridFT & | other | ) |
Copy constructor.
|
virtual |
|
virtual |
clone FTM
Reimplemented from casa::refim::GridFT.
|
virtual |
Reimplemented from casa::refim::GridFT.
|
virtual |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used.
void finalizeToVis();
Get actual coherence from grid by degridding
Reimplemented from casa::refim::GridFT.
|
virtual |
Initialize transform to Visibility plane using the image as a template.
The image is loaded and Fourier transformed.
Reimplemented from casa::refim::GridFT.
|
virtual |
Return the name of the machine.
Reimplemented from casa::refim::GridFT.
SetJyGridFT& casa::refim::SetJyGridFT::operator= | ( | const SetJyGridFT & | other | ) |
Assignment operator.
|
virtual |
|
virtual |
Save and restore the GridFT to and from a record.
Reimplemented from casa::refim::GridFT.
|
protected |
Prepare the grid for degridding void prepGridForDegrid();.
Definition at line 137 of file SetJyGridFT.h.
|
protected |
Definition at line 139 of file SetJyGridFT.h.
|
protected |
Definition at line 138 of file SetJyGridFT.h.