#include <MosaicFT.h>
Public Member Functions | |
MosaicFT (SkyJones *sj, MPosition mloc, String stokes, Long cachesize, Int tilesize=16, Bool usezero=True, Bool useDoublePrec=False) | |
Constructor: cachesize is the size of the cache in words (e.g. | |
MosaicFT (const RecordInterface &stateRec) | |
Construct from a Record containing the MosaicFT state. | |
MosaicFT (const MosaicFT &other) | |
Copy constructor. | |
MosaicFT & | operator= (const MosaicFT &other) |
Assignment operator. | |
~MosaicFT () | |
void | initializeToVis (ImageInterface< Complex > &image, const vi::VisBuffer2 &vb) |
Initialize transform to Visibility plane using the image as a template. | |
void | finalizeToVis () |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used. | |
void | initializeToSky (ImageInterface< Complex > &image, Matrix< Float > &weight, const vi::VisBuffer2 &vb) |
Initialize transform to Sky plane: initializes the image. | |
void | get (vi::VisBuffer2 &vb, Int row=-1) |
Get actual coherence from grid by degridding. | |
void | put (const vi::VisBuffer2 &vb, Int row=-1, Bool dopsf=False, FTMachine::Type type=FTMachine::OBSERVED) |
Put coherence to grid by gridding. | |
void | makeImage (FTMachine::Type type, vi::VisibilityIterator2 &vs, ImageInterface< Complex > &image, Matrix< Float > &weight) |
Make the entire image. | |
ImageInterface< Complex > & | getImage (Matrix< Float > &, Bool normalize=True) |
Get the final image: do the Fourier transform and grid-correct, then optionally normalize by the summed weights. | |
virtual void | normalizeImage (Lattice< Complex > &, const Matrix< Double > &, Lattice< Float > &, Bool) |
void | getWeightImage (ImageInterface< Float > &, Matrix< Float > &) |
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. | |
Bool | toRecord (String &error, RecordInterface &outRec, Bool withImage=False, const String diskimage="") |
Save and restore the MosaicFT to and from a record. | |
Bool | fromRecord (String &error, const RecordInterface &inRec) |
Bool | isFourier () |
Can this FTMachine be represented by Fourier convolutions? | |
virtual String | name () const |
Return name of this machine. | |
virtual Bool | useWeightImage () |
All FTMachines that fill weightimage, need to set this. | |
void | setConvFunc (CountedPtr< SimplePBConvFunc > &pbconvFunc) |
Copy convolution function etc to another FT machine necessary if ft and ift are distinct but can share convfunctions. | |
CountedPtr< SimplePBConvFunc > & | getConvFunc () |
CountedPtr< TempImage< Float > > & | getConvWeightImage () |
virtual void | reset () |
reset weight image | |
virtual void | setMiscInfo (const Int qualifier) |
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 | ComputeResiduals (vi::VisBuffer2 &, Bool) |
Make the VB and VBStore interefaces for the interim re-factoring work. | |
Public Attributes | |
Finalize transform to Sky | plane: flushes the image cache and shows statistics if it is being used. DOES NOT DO THE FINAL TRANSFORM! */ void finalizeToSky() |
Protected Member Functions | |
Int | nint (Double val) |
void | findConvFunction (const ImageInterface< Complex > &image, const vi::VisBuffer2 &vb) |
Find the convolution function. | |
void | girarUVW (Matrix< Double > &uvw, Vector< Double > &dphase, const vi::VisBuffer2 &vb) |
void | addBeamCoverage (ImageInterface< Complex > &image) |
void | prepGridForDegrid () |
Array< Complex > * | getDataPointer (const IPosition &, Bool) |
Get the appropriate data pointer. | |
void | ok () |
void | init () |
Bool | recordOnGrid (const vi::VisBuffer2 &vb, Int rownr) const |
Is this record on Grid? check both ends. | |
Int | getIndex (const ROMSPointingColumns &mspc, const Double &time, const Double &interval) |
Bool | getXYPos (const vi::VisBuffer2 &vb, Int row) |
Protected Attributes | |
SkyJones * | sj_p |
Vector<SkyJones *> sj_p;. | |
LatticeCache< Complex > * | imageCache |
Image cache. | |
Long | cachesize |
Sizes. | |
Int | tilesize |
ConvolveGridder< Double, Complex > * | gridder |
Gridder. | |
Bool | isTiled |
Is this tiled? | |
CountedPtr< Lattice< Complex > > | arrayLattice |
Array lattice. | |
CountedPtr< Lattice< Complex > > | lattice |
Lattice. | |
CountedPtr< Lattice< Complex > > | weightLattice |
Float | maxAbsData |
IPosition | centerLoc |
Useful IPositions. | |
IPosition | offsetLoc |
Vector< Double > | uvScale |
Image Scaling and offset. | |
Vector< Double > | uvOffset |
Array< Complex > | griddedWeight |
Array for non-tiled gridding. | |
Array< DComplex > | griddedWeight2 |
MSPointingColumns * | mspc |
Pointing columns. | |
MSAntennaColumns * | msac |
Antenna columns. | |
DirectionCoordinate | directionCoord |
MDirection::Convert * | pointingToImage |
Vector< Double > | xyPos |
MDirection | worldPosMeas |
Int | priorCacheSize |
Bool | usezero_p |
Grid/degrid zero spacing points? | |
Array< Complex > | convFunc |
Array< Complex > | weightConvFunc_p |
Int | convSampling |
Int | convSize |
Int | convSupport |
Vector< Int > | convSupportPlanes_p |
Vector< Int > | convSizePlanes_p |
Vector< Int > | convRowMap_p |
Vector< Int > | convChanMap_p |
Vector< Int > | convPolMap_p |
Int | wConvSize |
Int | lastIndex_p |
CountedPtr< TempImage< Float > > | skyCoverage_p |
TempImage< Complex > * | convWeightImage_p |
CountedPtr< SimplePBConvFunc > | pbConvFunc_p |
CountedPtr< UVWMachine > | phaseShifter_p |
String | machineName_p |
Later this. | |
Bool | doneWeightImage_p |
String | stokes_p |
Definition at line 133 of file MosaicFT.h.
casa::refim::MosaicFT::MosaicFT | ( | SkyJones * | sj, | |
MPosition | mloc, | |||
String | stokes, | |||
Long | cachesize, | |||
Int | tilesize = 16 , |
|||
Bool | usezero = True , |
|||
Bool | useDoublePrec = False | |||
) |
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).
casa::refim::MosaicFT::MosaicFT | ( | const RecordInterface & | stateRec | ) |
Construct from a Record containing the MosaicFT state.
casa::refim::MosaicFT::MosaicFT | ( | const MosaicFT & | other | ) |
Copy constructor.
casa::refim::MosaicFT::~MosaicFT | ( | ) |
void casa::refim::MosaicFT::addBeamCoverage | ( | ImageInterface< Complex > & | image | ) | [protected] |
virtual void casa::refim::MosaicFT::ComputeResiduals | ( | vi::VisBuffer2 & | vb, | |
Bool | useCorrected | |||
) | [inline, virtual] |
Make the VB and VBStore interefaces for the interim re-factoring work.
Finally removed the VB interface.
Implements casa::refim::FTMachine.
Definition at line 232 of file MosaicFT.h.
void casa::refim::MosaicFT::finalizeToVis | ( | ) | [virtual] |
Finalize transform to Visibility plane: flushes the image cache and shows statistics if it is being used.
Implements casa::refim::FTMachine.
void casa::refim::MosaicFT::findConvFunction | ( | const ImageInterface< Complex > & | image, | |
const vi::VisBuffer2 & | vb | |||
) | [protected, virtual] |
Find the convolution function.
Reimplemented from casa::refim::FTMachine.
Bool casa::refim::MosaicFT::fromRecord | ( | String & | error, | |
const RecordInterface & | inRec | |||
) | [virtual] |
Reimplemented from casa::refim::FTMachine.
void casa::refim::MosaicFT::get | ( | vi::VisBuffer2 & | vb, | |
Int | row = -1 | |||
) | [virtual] |
Get actual coherence from grid by degridding.
Implements casa::refim::FTMachine.
CountedPtr<SimplePBConvFunc>& casa::refim::MosaicFT::getConvFunc | ( | ) |
CountedPtr<TempImage<Float> >& casa::refim::MosaicFT::getConvWeightImage | ( | ) |
Array<Complex>* casa::refim::MosaicFT::getDataPointer | ( | const IPosition & | , | |
Bool | ||||
) | [protected] |
Get the appropriate data pointer.
virtual void casa::refim::MosaicFT::getFluxImage | ( | ImageInterface< Float > & | image | ) | [virtual] |
Get a flux (divide by this to get a flux density correct image) image if there is one.
Reimplemented from casa::refim::FTMachine.
ImageInterface<Complex>& casa::refim::MosaicFT::getImage | ( | Matrix< Float > & | , | |
Bool | normalize = True | |||
) | [virtual] |
Get the final image: do the Fourier transform and grid-correct, then optionally normalize by the summed weights.
Implements casa::refim::FTMachine.
Reimplemented in casa::refim::MosaicFTNew.
Int casa::refim::MosaicFT::getIndex | ( | const ROMSPointingColumns & | mspc, | |
const Double & | time, | |||
const Double & | interval | |||
) | [protected] |
void casa::refim::MosaicFT::getWeightImage | ( | ImageInterface< Float > & | , | |
Matrix< Float > & | ||||
) | [virtual] |
Get the final weights image.
Implements casa::refim::FTMachine.
Reimplemented in casa::refim::MosaicFTNew.
Bool casa::refim::MosaicFT::getXYPos | ( | const vi::VisBuffer2 & | vb, | |
Int | row | |||
) | [protected] |
void casa::refim::MosaicFT::girarUVW | ( | Matrix< Double > & | uvw, | |
Vector< Double > & | dphase, | |||
const vi::VisBuffer2 & | vb | |||
) | [protected] |
void casa::refim::MosaicFT::init | ( | ) | [protected] |
void casa::refim::MosaicFT::initializeToSky | ( | ImageInterface< Complex > & | image, | |
Matrix< Float > & | weight, | |||
const vi::VisBuffer2 & | vb | |||
) | [virtual] |
Initialize transform to Sky plane: initializes the image.
Implements casa::refim::FTMachine.
void casa::refim::MosaicFT::initializeToVis | ( | ImageInterface< Complex > & | image, | |
const vi::VisBuffer2 & | vb | |||
) | [virtual] |
Initialize transform to Visibility plane using the image as a template.
The image is loaded and Fourier transformed.
Implements casa::refim::FTMachine.
Bool casa::refim::MosaicFT::isFourier | ( | ) | [inline, virtual] |
Can this FTMachine be represented by Fourier convolutions?
Reimplemented from casa::refim::FTMachine.
Definition at line 213 of file MosaicFT.h.
References casacore::True.
void casa::refim::MosaicFT::makeImage | ( | FTMachine::Type | type, | |
vi::VisibilityIterator2 & | vs, | |||
ImageInterface< Complex > & | image, | |||
Matrix< Float > & | weight | |||
) | [virtual] |
Make the entire image.
Reimplemented from casa::refim::FTMachine.
virtual String casa::refim::MosaicFT::name | ( | ) | const [virtual] |
Return name of this machine.
Implements casa::refim::FTMachine.
Reimplemented in casa::refim::MosaicFTNew.
Int casa::refim::MosaicFT::nint | ( | Double | val | ) | [inline, protected] |
Definition at line 236 of file MosaicFT.h.
References casacore::floor().
virtual void casa::refim::MosaicFT::normalizeImage | ( | Lattice< Complex > & | , | |
const Matrix< Double > & | , | |||
Lattice< Float > & | , | |||
Bool | ||||
) | [inline, virtual] |
Reimplemented from casa::refim::FTMachine.
Definition at line 193 of file MosaicFT.h.
void casa::refim::MosaicFT::ok | ( | ) | [protected, virtual] |
Reimplemented from casa::refim::FTMachine.
Assignment operator.
Reimplemented from casa::refim::FTMachine.
void casa::refim::MosaicFT::prepGridForDegrid | ( | ) | [protected] |
void casa::refim::MosaicFT::put | ( | const vi::VisBuffer2 & | vb, | |
Int | row = -1 , |
|||
Bool | dopsf = False , |
|||
FTMachine::Type | type = FTMachine::OBSERVED | |||
) | [virtual] |
Put coherence to grid by gridding.
Implements casa::refim::FTMachine.
Bool casa::refim::MosaicFT::recordOnGrid | ( | const vi::VisBuffer2 & | vb, | |
Int | rownr | |||
) | const [protected] |
Is this record on Grid? check both ends.
This assumes that the ends bracket the middle
virtual void casa::refim::MosaicFT::reset | ( | ) | [virtual] |
reset weight image
Reimplemented from casa::refim::FTMachine.
void casa::refim::MosaicFT::setConvFunc | ( | CountedPtr< SimplePBConvFunc > & | pbconvFunc | ) |
Copy convolution function etc to another FT machine necessary if ft and ift are distinct but can share convfunctions.
virtual void casa::refim::MosaicFT::setMiscInfo | ( | const Int | qualifier | ) | [inline, 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.
Implements casa::refim::FTMachine.
Definition at line 231 of file MosaicFT.h.
Bool casa::refim::MosaicFT::toRecord | ( | String & | error, | |
RecordInterface & | outRec, | |||
Bool | withImage = False , |
|||
const String | diskimage = "" | |||
) | [virtual] |
Save and restore the MosaicFT to and from a record.
Reimplemented from casa::refim::FTMachine.
virtual Bool casa::refim::MosaicFT::useWeightImage | ( | ) | [inline, virtual] |
All FTMachines that fill weightimage, need to set this.
TODO : Make this pure virtual.
Reimplemented from casa::refim::FTMachine.
Definition at line 218 of file MosaicFT.h.
References casacore::True.
CountedPtr<Lattice<Complex> > casa::refim::MosaicFT::arrayLattice [protected] |
Array lattice.
Definition at line 277 of file MosaicFT.h.
Long casa::refim::MosaicFT::cachesize [protected] |
Sizes.
Definition at line 267 of file MosaicFT.h.
IPosition casa::refim::MosaicFT::centerLoc [protected] |
Useful IPositions.
Definition at line 287 of file MosaicFT.h.
Vector<Int> casa::refim::MosaicFT::convChanMap_p [protected] |
Definition at line 322 of file MosaicFT.h.
Array<Complex> casa::refim::MosaicFT::convFunc [protected] |
Definition at line 314 of file MosaicFT.h.
Vector<Int> casa::refim::MosaicFT::convPolMap_p [protected] |
Definition at line 323 of file MosaicFT.h.
Vector<Int> casa::refim::MosaicFT::convRowMap_p [protected] |
Definition at line 321 of file MosaicFT.h.
Int casa::refim::MosaicFT::convSampling [protected] |
Definition at line 316 of file MosaicFT.h.
Int casa::refim::MosaicFT::convSize [protected] |
Definition at line 317 of file MosaicFT.h.
Vector<Int> casa::refim::MosaicFT::convSizePlanes_p [protected] |
Definition at line 320 of file MosaicFT.h.
Int casa::refim::MosaicFT::convSupport [protected] |
Definition at line 318 of file MosaicFT.h.
Vector<Int> casa::refim::MosaicFT::convSupportPlanes_p [protected] |
Definition at line 319 of file MosaicFT.h.
TempImage<Complex>* casa::refim::MosaicFT::convWeightImage_p [protected] |
Definition at line 335 of file MosaicFT.h.
DirectionCoordinate casa::refim::MosaicFT::directionCoord [protected] |
Definition at line 301 of file MosaicFT.h.
Bool casa::refim::MosaicFT::doneWeightImage_p [protected] |
Definition at line 340 of file MosaicFT.h.
Array<Complex> casa::refim::MosaicFT::griddedWeight [protected] |
Array for non-tiled gridding.
Definition at line 293 of file MosaicFT.h.
Array<DComplex> casa::refim::MosaicFT::griddedWeight2 [protected] |
Definition at line 294 of file MosaicFT.h.
ConvolveGridder<Double, Complex>* casa::refim::MosaicFT::gridder [protected] |
Gridder.
Definition at line 271 of file MosaicFT.h.
LatticeCache<Complex>* casa::refim::MosaicFT::imageCache [protected] |
Image cache.
Definition at line 264 of file MosaicFT.h.
Bool casa::refim::MosaicFT::isTiled [protected] |
Is this tiled?
Definition at line 274 of file MosaicFT.h.
Int casa::refim::MosaicFT::lastIndex_p [protected] |
Definition at line 327 of file MosaicFT.h.
CountedPtr<Lattice<Complex> > casa::refim::MosaicFT::lattice [protected] |
Lattice.
For non-tiled gridding, this will point to arrayLattice, whereas for tiled gridding, this points to the image
Definition at line 281 of file MosaicFT.h.
String casa::refim::MosaicFT::machineName_p [protected] |
Later this.
Definition at line 339 of file MosaicFT.h.
Float casa::refim::MosaicFT::maxAbsData [protected] |
Definition at line 284 of file MosaicFT.h.
MSAntennaColumns* casa::refim::MosaicFT::msac [protected] |
Antenna columns.
Definition at line 299 of file MosaicFT.h.
MSPointingColumns* casa::refim::MosaicFT::mspc [protected] |
Pointing columns.
Definition at line 296 of file MosaicFT.h.
IPosition casa::refim::MosaicFT::offsetLoc [protected] |
Definition at line 287 of file MosaicFT.h.
CountedPtr<SimplePBConvFunc> casa::refim::MosaicFT::pbConvFunc_p [protected] |
Definition at line 336 of file MosaicFT.h.
CountedPtr<UVWMachine> casa::refim::MosaicFT::phaseShifter_p [protected] |
Definition at line 337 of file MosaicFT.h.
Finalize transform to Sky casa::refim::MosaicFT::plane |
Definition at line 174 of file MosaicFT.h.
MDirection::Convert* casa::refim::MosaicFT::pointingToImage [protected] |
Definition at line 303 of file MosaicFT.h.
Int casa::refim::MosaicFT::priorCacheSize [protected] |
Definition at line 309 of file MosaicFT.h.
SkyJones* casa::refim::MosaicFT::sj_p [protected] |
Vector<SkyJones *> sj_p;.
Reimplemented from casa::refim::FTMachine.
Definition at line 248 of file MosaicFT.h.
CountedPtr<TempImage<Float> > casa::refim::MosaicFT::skyCoverage_p [protected] |
Definition at line 334 of file MosaicFT.h.
String casa::refim::MosaicFT::stokes_p [protected] |
Definition at line 341 of file MosaicFT.h.
Int casa::refim::MosaicFT::tilesize [protected] |
Definition at line 268 of file MosaicFT.h.
Bool casa::refim::MosaicFT::usezero_p [protected] |
Grid/degrid zero spacing points?
Definition at line 312 of file MosaicFT.h.
Vector<Double> casa::refim::MosaicFT::uvOffset [protected] |
Definition at line 290 of file MosaicFT.h.
Vector<Double> casa::refim::MosaicFT::uvScale [protected] |
Image Scaling and offset.
Definition at line 290 of file MosaicFT.h.
Int casa::refim::MosaicFT::wConvSize [protected] |
Definition at line 325 of file MosaicFT.h.
Array<Complex> casa::refim::MosaicFT::weightConvFunc_p [protected] |
Definition at line 315 of file MosaicFT.h.
CountedPtr<Lattice<Complex> > casa::refim::MosaicFT::weightLattice [protected] |
Definition at line 282 of file MosaicFT.h.
MDirection casa::refim::MosaicFT::worldPosMeas [protected] |
Definition at line 307 of file MosaicFT.h.
Vector<Double> casa::refim::MosaicFT::xyPos [protected] |
Definition at line 305 of file MosaicFT.h.