casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
casa::WFCleanImageSkyModel Class Reference

WF Image Sky Model: Image Sky Model implementing the WF Clean algorithm. More...

#include <WFCleanImageSkyModel.h>

Inheritance diagram for casa::WFCleanImageSkyModel:
casa::MFCleanImageSkyModel casa::CleanImageSkyModel casa::ImageSkyModel casa::SkyModel casa::Iterate casa::PWFCleanImageSkyModel

Public Member Functions

 WFCleanImageSkyModel ()
 
virtual ~WFCleanImageSkyModel ()
 
 WFCleanImageSkyModel (const casacore::Int nfacets, casacore::Bool largeMemory=false)
 
virtual casacore::Int add (casacore::ImageInterface< casacore::Float > &image, const casacore::Int maxNumXfr=100)
 Add an image. More...
 
virtual casacore::Bool addResidual (casacore::Int image, casacore::ImageInterface< casacore::Float > &residual)
 Add a residual image. More...
 
virtual casacore::Bool addMask (casacore::Int image, casacore::ImageInterface< casacore::Float > &mask)
 Add an mask. More...
 
virtual casacore::Bool solve (SkyEquation &me)
 Solve for this SkyModel. More...
 
virtual
casacore::ImageInterface
< casacore::Float > & 
getResidual (casacore::Int physImageID)
 This will return for model 0 the main residual image i.e nxn facets. More...
 
- Public Member Functions inherited from casa::MFCleanImageSkyModel
casacore::Matrix
< casacore::Float > * 
makeMaskMatrix (const casacore::Int &nx, const casacore::Int &ny, casacore::RO_LatticeIterator< casacore::Float > &maskIter, casacore::Int &xbeg, casacore::Int &xend, casacore::Int &ybeg, casacore::Int &yend)
 
- Public Member Functions inherited from casa::CleanImageSkyModel
 CleanImageSkyModel ()
 Empty constructor. More...
 
 CleanImageSkyModel (const CleanImageSkyModel &sm)
 Copy constructor. More...
 
casacore::Bool hasMask (casacore::Int model=0)
 Has a mask for model? More...
 
virtual casacore::Bool add (ComponentList &compList)
 Add a componentlist. More...
 
casacore::Bool hasFluxMask (casacore::Int model=0)
 Has a flux mask? More...
 
virtual casacore::Bool addFluxMask (casacore::Int image, casacore::ImageInterface< casacore::Float > &fluxMask)
 
casacore::ImageInterface
< casacore::Float > & 
fluxMask (casacore::Int model=0)
 
virtual ~CleanImageSkyModel ()
 Destructor. More...
 
CleanImageSkyModeloperator= (const CleanImageSkyModel &other)
 Assignment operator. More...
 
casacore::ImageInterface
< casacore::Float > & 
mask (casacore::Int model=0)
 Return masks. More...
 
virtual void setJointStokesClean (casacore::Bool joint=true)
 set to search for peak in I^2+Q^2+U^2+V^2 domain or each stokes plane seperately Ignored for hogbom and msclean for now More...
 
virtual casacore::Float maxField (casacore::Vector< casacore::Float > &imagemax, casacore::Vector< casacore::Float > &imagemin)
 Return the maximum absolute value from residual images per field. More...
 
- Public Member Functions inherited from casa::ImageSkyModel
 ImageSkyModel (const casacore::Int maxNumModels=1)
 Empty constructor. More...
 
void setMaxNumberModels (const casacore::Int maxNumModels)
 
 ImageSkyModel (const ImageSkyModel &sm)
 Copy constructor. More...
 
virtual casacore::Bool updatemodel (ComponentList &compList)
 update componentlist More...
 
virtual casacore::Bool updatemodel (const casacore::Int thismodel, casacore::ImageInterface< casacore::Float > &image)
 update model image...you have to have added it before...nmodels_p held has to be bigger that image here its left to the caller to make sure the image is conformant...otherwise you are in trouble. More...
 
virtual ~ImageSkyModel ()
 Destructor. More...
 
ImageSkyModeloperator= (const ImageSkyModel &other)
 Assignment operator. More...
 
virtual casacore::Int numberOfModels ()
 Number of models contained. More...
 
virtual casacore::Int numberOfTaylorTerms ()
 MFS : Number of taylor terms per model. More...
 
virtual casacore::Bool calculateCoeffResiduals ()
 MFS : In-place coefficient residual calculations. More...
 
virtual casacore::Bool calculateAlphaBeta (const casacore::Vector< casacore::String > &, const casacore::Vector< casacore::String > &)
 MFS : Calculate restored alpha and beta. More...
 
virtual casacore::Double getReferenceFrequency ()
 MFS : Reference Frequency. More...
 
virtual casacore::Int getTaylorIndex (casacore::Int index)
 
MFS : Index of Taylor term in array of nmodels x ntaylorterms

virtual casacore::Int getTaylorIndex(casacore::Int index){return 0;} More...

 
casacore::Bool isSolveable (casacore::Int model=0)
 Is this model solveable? More...
 
casacore::Bool free (casacore::Int model=0)
 Free and fix the model (returns previous status). More...
 
casacore::Bool fix (casacore::Int model=0)
 
virtual void initializeGradients ()
 Initialize for gradient search. More...
 
virtual void finalizeGradients ()
 Finalize for gradient search. More...
 
casacore::Bool hasComponentList ()
 Does this have a component list? More...
 
casacore::Bool isEmpty (casacore::Int model=0)
 Is this model empty. More...
 
virtual ComponentListcomponentList ()
 Return the component list. More...
 
casacore::ImageInterface
< casacore::Float > & 
image (casacore::Int model=0)
 Return actual images to be used by SkyEquation. More...
 
casacore::ImageInterface
< casacore::Complex > & 
cImage (casacore::Int model=0)
 casacore::Complex image (needed for e.g. More...
 
casacore::ImageInterface
< casacore::Complex > & 
XFR (casacore::Int model=0, casacore::Int numXFR=0)
 casacore::Complex XFR More...
 
casacore::ImageInterface
< casacore::Float > & 
PSF (casacore::Int model=0)
 PSF. More...
 
casacore::ImageInterface
< casacore::Float > & 
gS (casacore::Int model=0)
 Gradient of chi-squared wrt pixels. More...
 
casacore::ImageInterface
< casacore::Float > & 
residual (casacore::Int model=0)
 
casacore::ImageInterface
< casacore::Float > & 
ggS (casacore::Int model=0)
 Grad Grad chi-squared wrt pixels (diagonal elements only) More...
 
casacore::ImageInterface
< casacore::Float > & 
fluxScale (casacore::Int model=0)
 if (doFluxScale(mod)) image(mod) * fluxScale(mod) gives actual brightness distribution More...
 
casacore::ImageInterface
< casacore::Float > & 
work (casacore::Int model=0)
 Work image. More...
 
casacore::ImageInterface
< casacore::Float > & 
deltaImage (casacore::Int model=0)
 Increment in the image. More...
 
casacore::Bool doFluxScale (casacore::Int model=0)
 tells if this model needs to be multiplied by a flux scale image More...
 
void mandateFluxScale (casacore::Int model=0)
 require use of flux scale image More...
 
casacore::Bool hasXFR (casacore::Int model=0)
 
void addStatistics (casacore::Float sumwt, casacore::Float chisq)
 Add to Sum weights, Chi-Squared. More...
 
casacore::Matrix
< casacore::Float > & 
weight (casacore::Int model=0)
 Weight per model (channels, polarizations) More...
 
casacore::Bool solveResiduals (SkyEquation &me, casacore::Bool modelToMS=false)
 Solve explicitly for the residuals: same as solve for this class modelToMs determines if predicted vis is put in the MODEL_DATA column. More...
 
virtual void makeApproxPSFs (SkyEquation &se)
 Make the approximate PSFs needed for each model. More...
 
casacore::ImageBeamSetbeam (casacore::Int model=0)
 Return the fitted beam for each model. More...
 
void setPGPlotter (casacore::PGPlotter &pgp)
 Set casacore::PGPlotter to be used. More...
 
void setCycleFactor (float x)
 This is the factor by which you multiply the worst outer sidelobe by to get the threshold for the current cycle. More...
 
void setCycleSpeedup (float x)
 Cycle threshold will double in this number of iterations (ie, use a large number if you don't want cycle threshold to inch up) More...
 
void setCycleMaxPsfFraction (float x)
 Yet another control for the minor cycle threshold. More...
 
void setDisplayProgress (const casacore::Bool display)
 Set the variable that switches on the progress display. More...
 
void setDataPolFrame (StokesImageUtil::PolRep datapolrep)
 Set a variable to indicate the polarization frame in the data (circular or linear). More...
 
virtual casacore::Int getModelIndex (casacore::uInt field, casacore::uInt)
 
virtual void setMemoryUse (casacore::Bool useMem=false)
 try to make templattices use memory if possible if set to false then always use disk More...
 
virtual casacore::Bool getMemoryUse ()
 
void setTileVol (const casacore::Int tileVol=1000000)
 Set templattice tile vol in pixels. More...
 
- Public Member Functions inherited from casa::SkyModel
 SkyModel ()
 
void setAlgorithm (const casacore::String &alg)
 set Algorithm (e.g clean, mem, nnls) More...
 
const casacore::String getAlgorithm ()
 get Algorithm More...
 
void setSubAlgorithm (const casacore::String &alg)
 set Sub Algorithm More...
 
const casacore::String getSubAlgorithm ()
 get Sub Algorithm More...
 
void setImageRegion (casacore::ImageRegion &ir)
 Set the imageregion that will be used for the next XFR generation. More...
 
void unsetImageRegion ()
 use the default shape More...
 
void setImageNormalization (casacore::Bool val)
 
casacore::Bool isImageNormalized ()
 
- Public Member Functions inherited from casa::Iterate
 Iterate ()
 Constructor. More...
 
virtual ~Iterate ()
 
void setFree ()
 Is this a free variable? More...
 
void setNotFree ()
 
casacore::Bool free ()
 
void setNumberIterations (const casacore::Int n)
 
void setGain (const casacore::Float g)
 
void setTolerance (const casacore::Float t)
 
void setThreshold (const casacore::Float t)
 
void setMode (const casacore::String m)
 
casacore::Int numberIterations ()
 
casacore::Float gain ()
 
casacore::Float tolerance ()
 
virtual casacore::Float threshold ()
 
const casacore::String mode ()
 

Protected Member Functions

casacore::SubImage
< casacore::Float > * 
makeFacet (casacore::Int facet, casacore::ImageInterface< casacore::Float > &image)
 void makeApproxPSFs(SkyEquation& se); More...
 
casacore::Bool makeSlicers (const casacore::Int facet, const casacore::IPosition &imageShape, casacore::IPosition &facetShape, casacore::Slicer &imageSlicer)
 Make the slicers. More...
 
- Protected Member Functions inherited from casa::MFCleanImageSkyModel
casacore::Float maxOuter (casacore::Lattice< casacore::Float > &lat, const casacore::uInt nCenter)
 
void blankOverlappingModels ()
 
void restoreOverlappingModels ()
 
void mergeOverlappingMasks ()
 
- Protected Member Functions inherited from casa::ImageSkyModel
casacore::Bool makeNewtonRaphsonStep (SkyEquation &se, casacore::Bool incremental=false, casacore::Bool modelToMS=false)
 Make Newton Raphson step internally. More...
 
casacore::PGPlottergetPGPlotter ()
 Get casacore::PGPlotter to be used. More...
 
casacore::LogSinklogSink ()
 
casacore::Long cacheSize (casacore::Int model)
 
casacore::IPosition tileShape (casacore::Int model)
 

Protected Attributes

casacore::Int nfacets_p
 Number of facets. More...
 
- Protected Attributes inherited from casa::MFCleanImageSkyModel
ClarkCleanProgressprogress_p
 
- Protected Attributes inherited from casa::CleanImageSkyModel
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
mask_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
fluxmask_p
 
casacore::Bool doPolJoint_p
 
- Protected Attributes inherited from casa::ImageSkyModel
casacore::Int maxnmodels_p
 
casacore::Int nmodels_p
 
casacore::Int nfields_p
 MFS. More...
 
casacore::Int maxNumXFR_p
 
casacore::Float sumwt_p
 
casacore::Float chisq_p
 
ComponentListcomponentList_p
 ComponentList. More...
 
casacore::Vector
< casacore::String
imageNames_p
 Images. More...
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
image_p
 Everything here can be just interface. More...
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
residual_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Complex > * > 
cimage_p
 We actually create these. More...
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Complex > * > 
cxfr_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
residualImage_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
gS_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
psf_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
ggS_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
fluxScale_p
 if (doFluxScale_p), image_p * fluxScale_p gives the true brightness More...
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
work_p
 
casacore::PtrBlock
< casacore::ImageInterface
< casacore::Float > * > 
deltaimage_p
 
casacore::Block< casacore::Boolsolve_p
 
casacore::Block< casacore::BooldoFluxScale_p
 
casacore::PtrBlock
< casacore::Matrix
< casacore::Float > * > 
weight_p
 
casacore::PtrBlock
< casacore::ImageBeamSet * > 
beam_p
 
casacore::LogSink logSink_p
 
casacore::PGPlotterpgplotter_p
 
casacore::Bool displayProgress_p
 
casacore::Float cycleFactor_p
 This is the factor by which you multiply the worst outer sidelobe by to get the threshold for the current cycle. More...
 
casacore::Float cycleSpeedup_p
 Cycle threshold will double in this number of iterations (ie, use a large number if you don't want cycle threshold to inch up) More...
 
casacore::Float cycleMaxPsfFraction_p
 Cycle threshold = maxResidual x min(Max-Psf-Fraction, cyclefactor x maxpsfsidelobe) More...
 
casacore::Bool donePSF_p
 If PSF is done..should not redo it. More...
 
casacore::Bool modified_p
 check if model has been modified especially for continuing a deconvolution More...
 
StokesImageUtil::PolRep dataPolRep_p
 Parameter to indicate the polaraization type of the data (circular or linear) Required by cImage() to decide shapes. More...
 
casacore::Bool workDirOnNFS_p
 
casacore::Bool useMem_p
 
casacore::Int tileVol_p
 
- Protected Attributes inherited from casa::SkyModel
casacore::String itsAlgorithm
 
casacore::String itsSubAlgorithm
 
casacore::ImageRegionimageRegion_p
 this casacore::ImageRegion is used to suggest the shape for the XFR. More...
 
casacore::Bool isImageNormalized_p
 

Private Attributes

casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
imageImage_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
residualImage_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
maskImage_p
 
casacore::Int facets_p
 
casacore::Block
< casacore::CountedPtr
< casacore::SubImage
< casacore::Float > > > 
facetImages_p
 casacore::Bool largeMem_p; More...
 
casacore::Block
< casacore::CountedPtr
< casacore::SubImage
< casacore::Float > > > 
facetMaskImages_p
 
casacore::Block
< casacore::CountedPtr
< casacore::SubImage
< casacore::Float > > > 
facetResidualImages_p
 

Additional Inherited Members

- Public Types inherited from casa::SkyModel
enum  PolRep {
  CIRCULAR,
  LINEAR
}
 
- Static Public Member Functions inherited from casa::ImageSkyModel
template<class M >
static casacore::TempImage< M > * getTempImage (const casacore::TiledShape &imgShp, const casacore::CoordinateSystem &imgCoords, const casacore::uInt nMouthsToFeed=1)
 Tries to return a pointer to a casacore::TempImage (allocated with new, so remember to use delete) with the given shape and CoordinateSystem. More...
 

Detailed Description

WF Image Sky Model: Image Sky Model implementing the WF Clean algorithm.

Intended use:

Public interface

Prerequisite

Etymology

WFCleanImageSkyModel implements the WF Clean algorithm. It is derived from MFCleanImageSkyModel.

Synopsis

The WF Clean is an FFT-based clean algorithm. Cleaning is split into major and minor cycles. In a minor cycle, the brightest pixels are cleaned using only the strongest sidelobes (and main lobe) of the PSF. In the major cycle, a fully correct subtraction of the PSF is done for all points accumulated in the minor cycle using an FFT-based convolution for speed.

The WF Clean is implemented using the MFCleanImageSkyModel class.

Masking is optionally performed using a mask image: only points where the mask is non-zero are cleaned. If no mask is specified all points in the inner quarter of the image are cleaned.

Example

See the example for SkyModel.

Motivation

Definition at line 89 of file WFCleanImageSkyModel.h.

Constructor & Destructor Documentation

casa::WFCleanImageSkyModel::WFCleanImageSkyModel ( )
virtual casa::WFCleanImageSkyModel::~WFCleanImageSkyModel ( )
virtual
casa::WFCleanImageSkyModel::WFCleanImageSkyModel ( const casacore::Int  nfacets,
casacore::Bool  largeMemory = false 
)

Member Function Documentation

virtual casacore::Int casa::WFCleanImageSkyModel::add ( casacore::ImageInterface< casacore::Float > &  image,
const casacore::Int  maxNumXfr = 100 
)
virtual

Add an image.

maxNumXfr is the maximum Number of transfer functions that we might want to associate with this image.

Reimplemented from casa::MFCleanImageSkyModel.

virtual casacore::Bool casa::WFCleanImageSkyModel::addMask ( casacore::Int  image,
casacore::ImageInterface< casacore::Float > &  mask 
)
virtual

Add an mask.

Reimplemented from casa::MFCleanImageSkyModel.

virtual casacore::Bool casa::WFCleanImageSkyModel::addResidual ( casacore::Int  image,
casacore::ImageInterface< casacore::Float > &  residual 
)
virtual

Add a residual image.

Reimplemented from casa::MFCleanImageSkyModel.

virtual casacore::ImageInterface<casacore::Float>& casa::WFCleanImageSkyModel::getResidual ( casacore::Int  physImageID)
virtual

This will return for model 0 the main residual image i.e nxn facets.

Reimplemented from casa::ImageSkyModel.

casacore::SubImage<casacore::Float>* casa::WFCleanImageSkyModel::makeFacet ( casacore::Int  facet,
casacore::ImageInterface< casacore::Float > &  image 
)
protected

void makeApproxPSFs(SkyEquation& se);

Make a facet

casacore::Bool casa::WFCleanImageSkyModel::makeSlicers ( const casacore::Int  facet,
const casacore::IPosition imageShape,
casacore::IPosition facetShape,
casacore::Slicer imageSlicer 
)
protected

Make the slicers.

virtual casacore::Bool casa::WFCleanImageSkyModel::solve ( SkyEquation me)
virtual

Solve for this SkyModel.

Reimplemented from casa::MFCleanImageSkyModel.

Reimplemented in casa::PWFCleanImageSkyModel.

Member Data Documentation

casacore::Block<casacore::CountedPtr<casacore::SubImage<casacore::Float> > > casa::WFCleanImageSkyModel::facetImages_p
private

casacore::Bool largeMem_p;

Here we store the facets for the various images: Model, Mask and Residual

Definition at line 140 of file WFCleanImageSkyModel.h.

casacore::Block<casacore::CountedPtr<casacore::SubImage<casacore::Float> > > casa::WFCleanImageSkyModel::facetMaskImages_p
private

Definition at line 141 of file WFCleanImageSkyModel.h.

casacore::Block<casacore::CountedPtr<casacore::SubImage<casacore::Float> > > casa::WFCleanImageSkyModel::facetResidualImages_p
private

Definition at line 142 of file WFCleanImageSkyModel.h.

casacore::Int casa::WFCleanImageSkyModel::facets_p
private

Definition at line 135 of file WFCleanImageSkyModel.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > casa::WFCleanImageSkyModel::imageImage_p
private

Definition at line 131 of file WFCleanImageSkyModel.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > casa::WFCleanImageSkyModel::maskImage_p
private

Definition at line 133 of file WFCleanImageSkyModel.h.

casacore::Int casa::WFCleanImageSkyModel::nfacets_p
protected

Number of facets.

Definition at line 126 of file WFCleanImageSkyModel.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > casa::WFCleanImageSkyModel::residualImage_p
private

Definition at line 132 of file WFCleanImageSkyModel.h.


The documentation for this class was generated from the following file: