casa
5.7.0-16
|
MF CE Mem Image Sky Model: Image Sky Model implementing the MF Mem algorithm. More...
#include <MFCEMemImageSkyModel.h>
Public Member Functions | |
MFCEMemImageSkyModel (casacore::Float sigma, casacore::Float targetFlux, casacore::Bool constrainFlux, const casacore::Vector< casacore::String > &priors, const casacore::String &entropy) | |
virtual casacore::Bool | solve (SkyEquation &me) |
Solve for this SkyModel. More... | |
Public Member Functions inherited from casa::CEMemImageSkyModel | |
CEMemImageSkyModel (casacore::Float sigma, casacore::Float targetFlux, casacore::Bool constrainFlux, const casacore::Vector< casacore::String > &priors, const casacore::String &entropy) | |
constructor More... | |
~CEMemImageSkyModel () | |
destructor More... | |
void | setSigma (const casacore::Float targetSigma) |
Set control parameters which are different from Clean: More... | |
void | setTargetFlux (const casacore::Float targetFlux) |
void | setConstrainTargetFlux (const casacore::Bool constrainFlux) |
void | setPrior (const casacore::Vector< casacore::String > &prior) |
void | setEntropy (const casacore::String &ent) |
casacore::Float | sigma () |
Get the various control parameters which are different from Clean: More... | |
casacore::Float | targetFlux () |
casacore::Bool | constrainFlux () |
casacore::Vector < casacore::String > | prior () |
casacore::String | entropy () |
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... | |
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 Member Functions | |
casacore::Float | maxField (casacore::Vector< casacore::Float > &imagemax, casacore::Vector< casacore::Float > &imagemin) |
Return the maximum absolute value from residual images per field. More... | |
casacore::Float | maxOuter (casacore::Lattice< casacore::Float > &lat, const casacore::uInt nCenter) |
MF CE Mem Image Sky Model: Image Sky Model implementing the MF Mem algorithm.
Public interface
MFCEMemImageSkyModel implements the MF Clean algorithm. It is derived from SkyModel.
Rewrite me for MEM! The MF 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 MF Clean is implemented using the
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. </synopsis Example See the example for
Definition at line 83 of file MFCEMemImageSkyModel.h.
casa::MFCEMemImageSkyModel::MFCEMemImageSkyModel | ( | casacore::Float | sigma, |
casacore::Float | targetFlux, | ||
casacore::Bool | constrainFlux, | ||
const casacore::Vector< casacore::String > & | priors, | ||
const casacore::String & | entropy | ||
) |
|
privatevirtual |
Return the maximum absolute value from residual images per field.
Reimplemented from casa::CleanImageSkyModel.
|
private |
|
virtual |
Solve for this SkyModel.
Reimplemented from casa::CEMemImageSkyModel.