|
casacore
|
#include <MultiTermLatticeCleaner.h>
Public Member Functions | |
| MultiTermLatticeCleaner () | |
| Create a cleaner for a specific dirty image and PSF. | |
| MultiTermLatticeCleaner (const MultiTermLatticeCleaner< T > &other) | |
| The copy constructor uses reference semantics. | |
| MultiTermLatticeCleaner< T > & | operator= (const MultiTermLatticeCleaner< T > &other) |
| The assignment operator also uses reference semantics. | |
| ~MultiTermLatticeCleaner () | |
| The destructor does nothing special. | |
| Bool | setntaylorterms (const int &nterms) |
| Input : number of Taylor terms Reshapes PtrBlocks to hold the correct number of PSFs and Residual images. | |
| Bool | setscales (const Vector< Float > &scales) |
| Input : scales. | |
| Bool | initialise (Int nx, Int ny) |
| Initialize all the memory being used. | |
| Bool | setcontrol (CleanEnums::CleanType cleanType, const Int niter, const Float gain, const Quantity &aThreshold, const Bool choose) |
| Set control parameters. | |
| Bool | setcontrol (CleanEnums::CleanType cleanType, const Int niter, const Float gain, const Quantity &aThreshold, const Quantity &, const Bool choose=True) |
| Bool | setpsf (int order, Lattice< T > &psf) |
| Input : psfs and dirty images. | |
| Bool | setresidual (int order, Lattice< T > &dirty) |
| Input : psfs and dirty images. | |
| Bool | setmodel (int order, Lattice< T > &model) |
| Input : model images. | |
| Bool | setmask (Lattice< T > &mask) |
| Input : mask. | |
| Int | mtclean (LatticeCleanProgress *progress=0) |
| Run the minor cycle. | |
| Bool | getmodel (int order, Lattice< T > &model) |
| Output : Model images. | |
| Bool | getresidual (int order, Lattice< T > &residual) |
| Ouput : psfs and dirty images. | |
| Bool | getinvhessian (Matrix< Double > &invhessian) |
| Output : Hessian matrix. | |
Public Member Functions inherited from casacore::LatticeCleaner< T > | |
| LatticeCleaner () | |
| Create a cleaner : default constructor. | |
| LatticeCleaner (const Lattice< T > &psf, const Lattice< T > &dirty) | |
| Create a cleaner for a specific dirty image and PSF. | |
| LatticeCleaner (const LatticeCleaner< T > &other) | |
| The copy constructor uses reference semantics. | |
| LatticeCleaner< T > & | operator= (const LatticeCleaner< T > &other) |
| The assignment operator also uses reference semantics. | |
| ~LatticeCleaner () | |
| The destructor does nothing special. | |
| void | update (const Lattice< T > &dirty) |
| Update the dirty image only. | |
| Bool | setscales (const Int nscales, const Float scaleInc=1.0) |
| Set a number of scale sizes. | |
| Bool | setscales (const Vector< Float > &scales) |
| Set a specific set of scales. | |
| Bool | setcontrol (CleanEnums::CleanType cleanType, const Int niter, const Float gain, const Quantity &aThreshold, const Quantity &fThreshold, const Bool choose=True) |
| Set up control parameters cleanType - type of the cleaning algorithm to use (HOGBOM, MULTISCALE) niter - number of iterations gain - loop gain used in cleaning (a fraction of the maximum subtracted at every iteration) aThreshold - absolute threshold to stop iterations fThreshold - fractional threshold (i.e. | |
| Bool | setcontrol (CleanEnums::CleanType cleanType, const Int niter, const Float gain, const Quantity &threshold, const Bool choose=True) |
| This version of the method disables stopping on fractional threshold. | |
| Int | iteration () const |
| return how many iterations we did do | |
| Int | numberIterations () const |
| void | startingIteration (const Int starting=0) |
| what iteration number to start on | |
| Int | clean (Lattice< T > &model, LatticeCleanProgress *progress=0) |
| Clean an image. | |
| void | setMask (const Lattice< T > &mask, const T &maskThreshold=T(0.9)) |
| Set the mask mask - input mask lattice maskThreshold - if positive, the value is treated as a threshold value to determine whether a pixel is good (mask value is greater than the threshold) or has to be masked (mask value is below the threshold). | |
| void | ignoreCenterBox (Bool huh) |
| Tell the algorithm to NOT clean just the inner quarter (This is useful when multiscale clean is being used inside a major cycle for MF or WF algorithms) if True, the full image deconvolution will be attempted. | |
| void | setSmallScaleBias (const Float x=0.5) |
| Consider the case of a point source: the flux on all scales is the same, and the first scale will be chosen. | |
| void | stopAtLargeScaleNegative () |
| During early iterations of a cycled MS Clean in mosaicing, it common to come across an ocsilatory pattern going between positive and negative in the large scale. | |
| void | stopPointMode (Int nStopPointMode) |
| Some algorithms require that the cycles be terminated when the image is dominated by point sources; if we get nStopPointMode of the smallest scale components in a row, we terminate the cycles. | |
| Bool | queryStopPointMode () const |
| After completion of cycle, querry this to find out if we stopped because of stopPointMode. | |
| void | speedup (const Float Ndouble) |
| speedup() will speed the clean iteration by raising the threshold. | |
| Lattice< T > * | residual () |
| Look at what WE think the residuals look like Assumes the first scale is zero-sized. | |
| Float | threshold () const |
| Method to return threshold, including any speedup factors. | |
| T | strengthOptimum () const |
| Method to return the strength optimum achieved at the last clean iteration The output of this method makes sense only if it is called after clean. | |
Private Member Functions | |
| Int | numberOfTempLattices (Int nscales, Int ntaylor) |
| Int | manageMemory (Bool allocate) |
| Bool | findMaxAbsLattice (const TempLattice< Float > &masklat, const Lattice< Float > &lattice, Float &maxAbs, IPosition &posMaxAbs, Bool flip=False) |
| Int | addTo (Lattice< Float > &to, const Lattice< Float > &add, Float multiplier) |
| Int | setupFFTMask () |
| Int | setupUserMask () |
| Int | setupBlobs () |
| Int | computeFluxLimit (Float &fluxlimit, Float threshold) |
| Int | computeMatrixA () |
| Int | computeRHS () |
| Int | solveMatrixEqn (Int scale) |
| Int | computePenaltyFunction (Int scale, Float &loopgain, Bool choosespec) |
| Int | updateSolution (IPosition globalmaxpos, Int maxscaleindex, Float loopgain) |
| Int | checkConvergence (Bool choosespec, Float thresh, Float fluxlimit) |
| Int | IND2 (Int taylor, Int scale) |
| Int | IND4 (Int taylor1, Int taylor2, Int scale1, Int scale2) |
Additional Inherited Members | |
Static Public Member Functions inherited from casacore::LatticeCleaner< T > | |
| static void | addTo (Lattice< T > &to, const Lattice< T > &add) |
| Helper function to optimize adding. | |
Protected Member Functions inherited from casacore::LatticeCleaner< T > | |
| Bool | validatePsf (const Lattice< T > &psf) |
| Make sure that the peak of the Psf is within the image. | |
| void | makeScale (Lattice< T > &scale, const Float &scaleSize) |
| Make an lattice of the specified scale. | |
| Float | spheroidal (Float nu) |
| Make Spheroidal function for scale images. | |
| Bool | findMaxAbsMaskLattice (const Lattice< T > &lattice, const Lattice< T > &mask, T &maxAbs, IPosition &posMax) |
| Find the Peak of the lattice, applying a mask. | |
Static Protected Member Functions inherited from casacore::LatticeCleaner< T > | |
| static Bool | findMaxAbsLattice (const Lattice< T > &lattice, T &maxAbs, IPosition &posMax) |
| Find the Peak of the Lattice. | |
| static void | makeBoxesSameSize (IPosition &blc1, IPosition &trc1, IPosition &blc2, IPosition &trc2) |
| Helper function to reduce the box sizes until the have the same size keeping the centers intact | |
Protected Attributes inherited from casacore::LatticeCleaner< T > | |
| CleanEnums::CleanType | itsCleanType |
| Float | itsGain |
| Int | itsMaxNiter |
| Quantum< Double > | itsThreshold |
| TempLattice< T > * | itsMask |
| IPosition | itsPositionPeakPsf |
Definition at line 39 of file MultiTermLatticeCleaner.h.
| casacore::MultiTermLatticeCleaner< T >::MultiTermLatticeCleaner | ( | ) |
Create a cleaner for a specific dirty image and PSF.
| casacore::MultiTermLatticeCleaner< T >::MultiTermLatticeCleaner | ( | const MultiTermLatticeCleaner< T > & | other | ) |
The copy constructor uses reference semantics.
| casacore::MultiTermLatticeCleaner< T >::~MultiTermLatticeCleaner | ( | ) |
The destructor does nothing special.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| Bool casacore::MultiTermLatticeCleaner< T >::getinvhessian | ( | Matrix< Double > & | invhessian | ) |
Output : Hessian matrix.
| Bool casacore::MultiTermLatticeCleaner< T >::getmodel | ( | int | order, |
| Lattice< T > & | model | ||
| ) |
Output : Model images.
| Bool casacore::MultiTermLatticeCleaner< T >::getresidual | ( | int | order, |
| Lattice< T > & | residual | ||
| ) |
Ouput : psfs and dirty images.
|
private |
|
private |
| Bool casacore::MultiTermLatticeCleaner< T >::initialise | ( | Int | nx, |
| Int | ny | ||
| ) |
Initialize all the memory being used.
|
private |
| Int casacore::MultiTermLatticeCleaner< T >::mtclean | ( | LatticeCleanProgress * | progress = 0 | ) |
Run the minor cycle.
|
private |
| MultiTermLatticeCleaner< T > & casacore::MultiTermLatticeCleaner< T >::operator= | ( | const MultiTermLatticeCleaner< T > & | other | ) |
The assignment operator also uses reference semantics.
| Bool casacore::MultiTermLatticeCleaner< T >::setcontrol | ( | CleanEnums::CleanType | cleanType, |
| const Int | niter, | ||
| const Float | gain, | ||
| const Quantity & | aThreshold, | ||
| const Bool | choose | ||
| ) |
Set control parameters.
Referenced by casacore::MultiTermLatticeCleaner< T >::setcontrol().
|
inline |
Definition at line 69 of file MultiTermLatticeCleaner.h.
References casacore::MultiTermLatticeCleaner< T >::setcontrol().
| Bool casacore::MultiTermLatticeCleaner< T >::setmask | ( | Lattice< T > & | mask | ) |
Input : mask.
| Bool casacore::MultiTermLatticeCleaner< T >::setmodel | ( | int | order, |
| Lattice< T > & | model | ||
| ) |
Input : model images.
| Bool casacore::MultiTermLatticeCleaner< T >::setntaylorterms | ( | const int & | nterms | ) |
Input : number of Taylor terms Reshapes PtrBlocks to hold the correct number of PSFs and Residual images.
| Bool casacore::MultiTermLatticeCleaner< T >::setpsf | ( | int | order, |
| Lattice< T > & | psf | ||
| ) |
Input : psfs and dirty images.
| Bool casacore::MultiTermLatticeCleaner< T >::setresidual | ( | int | order, |
| Lattice< T > & | dirty | ||
| ) |
Input : psfs and dirty images.
| Bool casacore::MultiTermLatticeCleaner< T >::setscales | ( | const Vector< Float > & | scales | ) |
Input : scales.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 204 of file MultiTermLatticeCleaner.h.
|
private |
A_{smn} = B_{sm} * B{sn} [nx,ny,ntaylor,ntaylor,nscales,nscales] A_{s1s2mn} = B_{s1m} * B{s2n} [nx,ny,ntaylor,ntaylor,nscales,nscales].
Definition at line 156 of file MultiTermLatticeCleaner.h.
|
private |
Scratch Lattices and iterators.
Definition at line 176 of file MultiTermLatticeCleaner.h.
|
private |
Image mask.
Definition at line 124 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 125 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 138 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 138 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 138 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 127 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 136 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 136 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 173 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 157 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 165 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 161 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 178 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 182 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 180 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 126 of file MultiTermLatticeCleaner.h.
|
private |
Solve [A][Coeffs] = [I_D * B] Shape of A : [ntaylor,ntaylor].
Definition at line 172 of file MultiTermLatticeCleaner.h.
|
private |
a_{sk} = Solution vectors.
[nx,ny,ntaylor,nscales]
Definition at line 164 of file MultiTermLatticeCleaner.h.
|
private |
R_{sk} = I_D * B_{sk} [nx,ny,ntaylor,nscales].
Definition at line 160 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 134 of file MultiTermLatticeCleaner.h.
|
private |
Memory to be allocated per TempLattice.
Definition at line 168 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 137 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 137 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 118 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 116 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 137 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 119 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 137 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 120 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 100 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 117 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 130 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 129 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 121 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 131 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 132 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 177 of file MultiTermLatticeCleaner.h.
|
private |
I_D : Residual/Dirty Images [nx,ny,ntaylor].
Definition at line 149 of file MultiTermLatticeCleaner.h.
|
private |
I_M : Model Images [nx,ny,ntaylor].
Definition at line 152 of file MultiTermLatticeCleaner.h.
|
private |
B_k [nx,ny,ntaylor].
Definition at line 145 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 146 of file MultiTermLatticeCleaner.h.
|
private |
h(s) [nx,ny,nscales]
Definition at line 141 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 142 of file MultiTermLatticeCleaner.h.
|
private |
Definition at line 133 of file MultiTermLatticeCleaner.h.