casa
5.7.0-16
|
Image Sky Model implementing the MultiScale, MultiField Clean algorithm. More...
#include <MFMSCleanImageSkyModel.h>
Public Member Functions | |
MFMSCleanImageSkyModel () | |
Create a MFMSCleanImageSkyModel with 4 scales, stoplargenegatives == 2, stoppointmode==-1. More... | |
MFMSCleanImageSkyModel (const casacore::Int nscales, const casacore::Int stoplargenegatives=2, const casacore::Int stoppointmode=-1, const casacore::Float smallScaleBias=0.6) | |
Create a MFMSCleanImageSkyModel with nScales, we figure out what they are Also: stoplargenegatives controls if we stop the cycle when the largest component goes negative; stoppointmode controls how many of the smallest component must be hit consecutively before we stop that cycle (-1 ==> don't stop) More... | |
MFMSCleanImageSkyModel (const casacore::Vector< casacore::Float > &useScaleSize, const casacore::Int stoplargenegatives=2, const casacore::Int stoppointmode=-1, const casacore::Float smallScaleBias=0.6) | |
Create a MFMSCleanImageSkyModel, you provide the scale sizes, IN PIXELS for example: casacore::Vector<casacore::Float> scales(4); scales(0) = 0.0; scales(1) = 3.0; scales(2) = 10.0; scales(3) = 30.0;. More... | |
~MFMSCleanImageSkyModel () | |
destructor More... | |
virtual casacore::Bool | solve (SkyEquation &me) |
Solve for this SkyModel. More... | |
Public Member Functions inherited from casa::MFCleanImageSkyModel | |
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... | |
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 ¥d) |
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... | |
CleanImageSkyModel & | operator= (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... | |
ImageSkyModel & | operator= (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 ComponentList & | componentList () |
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... | |
virtual casacore::ImageInterface < casacore::Float > & | getResidual (casacore::Int model=0) |
Get current residual image: this is either that image specified via addResidual, or a scratch image. More... | |
casacore::ImageBeamSet & | beam (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 () |
Private Types | |
enum | Scale_Method { NSCALES, USERVECTOR } |
set the scales void setScales(casacore::LatticeCleaner<casacore::Float>& cleaner); More... | |
Private Member Functions | |
void | getScales () |
Chattily get the scales into userScaleSizes_p, doing some calculation if necessary. More... | |
Private Attributes | |
Scale_Method | method_p |
casacore::uInt | nscales_p |
casacore::Vector< casacore::Float > | userScaleSizes_p |
casacore::LatticeCleanProgress * | progress_p |
casacore::Int | stopLargeNegatives_p |
parameter to stop the cycle (for the first N cycles) if you get a negative on the largest scale; To disable, use < 0 More... | |
casacore::Int | stopPointMode_p |
parameter which stops the cycle if you hit the smallest scale this many consecutive times; if < 0, don't stop for this More... | |
casacore::Float | smallScaleBias_p |
Image Sky Model implementing the MultiScale, MultiField Clean algorithm.
Public interface
MFMSCleanImageSkyModel implements the MultiScale, MultiField Clean algorithm. It is derived from MFCleanImageSkyModel.
The MF Clean is an FFT-based clean algorithm. Cleaning is split into major and minor cycles. In a minor cycle, the image is cleaned using an approximate PSF and the MultiScale clean algorithm. In the major cycle, a fully correct subtraction the of cleanned emission from the visibilities on a pointing-by-pointing bassis is performed.
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.
See the example for SkyModel.
Definition at line 81 of file MFMSCleanImageSkyModel.h.
|
private |
set the scales void setScales(casacore::LatticeCleaner<casacore::Float>& cleaner);
Enumerator | |
---|---|
NSCALES | |
USERVECTOR |
Definition at line 119 of file MFMSCleanImageSkyModel.h.
casa::MFMSCleanImageSkyModel::MFMSCleanImageSkyModel | ( | ) |
Create a MFMSCleanImageSkyModel with 4 scales, stoplargenegatives == 2, stoppointmode==-1.
casa::MFMSCleanImageSkyModel::MFMSCleanImageSkyModel | ( | const casacore::Int | nscales, |
const casacore::Int | stoplargenegatives = 2 , |
||
const casacore::Int | stoppointmode = -1 , |
||
const casacore::Float | smallScaleBias = 0.6 |
||
) |
Create a MFMSCleanImageSkyModel with nScales, we figure out what they are Also: stoplargenegatives controls if we stop the cycle when the largest component goes negative; stoppointmode controls how many of the smallest component must be hit consecutively before we stop that cycle (-1 ==> don't stop)
casa::MFMSCleanImageSkyModel::MFMSCleanImageSkyModel | ( | const casacore::Vector< casacore::Float > & | useScaleSize, |
const casacore::Int | stoplargenegatives = 2 , |
||
const casacore::Int | stoppointmode = -1 , |
||
const casacore::Float | smallScaleBias = 0.6 |
||
) |
Create a MFMSCleanImageSkyModel, you provide the scale sizes, IN PIXELS for example: casacore::Vector<casacore::Float> scales(4); scales(0) = 0.0; scales(1) = 3.0; scales(2) = 10.0; scales(3) = 30.0;.
casa::MFMSCleanImageSkyModel::~MFMSCleanImageSkyModel | ( | ) |
destructor
|
private |
Chattily get the scales into userScaleSizes_p, doing some calculation if necessary.
|
virtual |
Solve for this SkyModel.
Reimplemented from casa::MFCleanImageSkyModel.
|
private |
Definition at line 120 of file MFMSCleanImageSkyModel.h.
|
private |
Definition at line 122 of file MFMSCleanImageSkyModel.h.
|
private |
Definition at line 125 of file MFMSCleanImageSkyModel.h.
|
private |
Definition at line 136 of file MFMSCleanImageSkyModel.h.
|
private |
parameter to stop the cycle (for the first N cycles) if you get a negative on the largest scale; To disable, use < 0
Definition at line 130 of file MFMSCleanImageSkyModel.h.
|
private |
parameter which stops the cycle if you hit the smallest scale this many consecutive times; if < 0, don't stop for this
Definition at line 134 of file MFMSCleanImageSkyModel.h.
|
private |
Definition at line 123 of file MFMSCleanImageSkyModel.h.