casa
5.7.0-16
|
casacore::MS Clean Image Sky Model: Image Sky Model implementing the casacore::MS Clean algorithm More...
#include <MSCleanImageSkyModel.h>
Public Member Functions | |
MSCleanImageSkyModel (const casacore::Int nscales, const casacore::Int stoplargenegatives=2, const casacore::Int stoppointmode=-1, const casacore::Float smallScaleBias=0.6) | |
Create a MSCleanImageSkyModel with nScales, we figure out what they are. More... | |
MSCleanImageSkyModel (const casacore::Vector< casacore::Float > &useScaleSize, const casacore::Int stoplargenegatives=2, const casacore::Int stoppointmode=-1, const casacore::Float smallScaleBias=0.6) | |
Create a MSCleanImageSkyModel, 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... | |
~MSCleanImageSkyModel () | |
destructor More... | |
virtual casacore::Bool | solve (SkyEquation &me) |
Solve for this SkyModel. More... | |
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... | |
virtual casacore::Int | add (casacore::ImageInterface< casacore::Float > &image, const casacore::Int maxNumXfr=100) |
Add an image. More... | |
virtual casacore::Bool | addMask (casacore::Int image, casacore::ImageInterface< casacore::Float > &mask) |
Add an mask. 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 casacore::Bool | addResidual (casacore::Int image, casacore::ImageInterface< casacore::Float > &residual) |
Add a residual image. 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 } |
Private Attributes | |
Scale_Method | method_p |
casacore::Int | nscales_p |
casacore::Vector< casacore::Float > | userScaleSizes_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 |
casacore::MS Clean Image Sky Model: Image Sky Model implementing the casacore::MS Clean algorithm
Public interface
MSCleanImageSkyModel implements the casacore::MS Clean algorithm. It is derived from SkyModel.
The casacore::MS Clean is the Multi-Scale clean, collecting flux in several different scale size Gaussian components. It is highly effective in imaging extended structure and results in residuals with excellent statistics.
The casacore::MS Clean is implemented using the LatticeCleaner class.
Masking is optionally performed using a mask image: only points where the mask is non-zero are searched for Gaussian components. This can cause some difficulty, as the different Gaussian scale sizes will extend beyond the mask by different amounts. If no mask is specified all points in the inner quarter of the image are cleaned.
See the example for SkyModel.
Definition at line 88 of file MSCleanImageSkyModel.h.
|
private |
Enumerator | |
---|---|
NSCALES | |
USERVECTOR |
Definition at line 108 of file MSCleanImageSkyModel.h.
casa::MSCleanImageSkyModel::MSCleanImageSkyModel | ( | const casacore::Int | nscales, |
const casacore::Int | stoplargenegatives = 2 , |
||
const casacore::Int | stoppointmode = -1 , |
||
const casacore::Float | smallScaleBias = 0.6 |
||
) |
Create a MSCleanImageSkyModel with nScales, we figure out what they are.
casa::MSCleanImageSkyModel::MSCleanImageSkyModel | ( | const casacore::Vector< casacore::Float > & | useScaleSize, |
const casacore::Int | stoplargenegatives = 2 , |
||
const casacore::Int | stoppointmode = -1 , |
||
const casacore::Float | smallScaleBias = 0.6 |
||
) |
Create a MSCleanImageSkyModel, 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::MSCleanImageSkyModel::~MSCleanImageSkyModel | ( | ) |
destructor
|
virtual |
Solve for this SkyModel.
Reimplemented from casa::ImageSkyModel.
|
private |
Definition at line 109 of file MSCleanImageSkyModel.h.
|
private |
Definition at line 111 of file MSCleanImageSkyModel.h.
|
private |
Definition at line 121 of file MSCleanImageSkyModel.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 116 of file MSCleanImageSkyModel.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 120 of file MSCleanImageSkyModel.h.
|
private |
Definition at line 112 of file MSCleanImageSkyModel.h.