casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::MaskedHogbomCleanModel< T > Class Template Reference

A Class for performing Hogbom Clean's of Arrays. More...

#include <MaskedHogbomCleanModel.h>

Inheritance diagram for casa::MaskedHogbomCleanModel< T >:
casa::MaskedArrayModel< T > casa::Iterate casa::LinearModel< MaskedArray< T > >

List of all members.

Public Member Functions

 MaskedHogbomCleanModel ()
 The default constructor does nothing more than initialise a zero length array to hold the deconvolved model.
 MaskedHogbomCleanModel (const MaskedArray< T > &model)
 Construct the HogbomCleanModel object and initialise the model.
Bool solve (ResidualEquation< MaskedArray< T > > &eqn)
 Using a Hogbom clean deconvolution proceedure solve for an improved estimate of the deconvolved object.
Bool solve (ConvolutionEquation &eqn)

Detailed Description

template<class T>
class casa::MaskedHogbomCleanModel< T >

A Class for performing Hogbom Clean's of Arrays.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Paradigm </prerequisite>

Etymology

This class is called HogbomCleanModel because thats the algorithm it uses deconvolve the model.

Synopsis

This class is used to perform the Hogbom Clean Algorithm on a MaskedArray. It is functionally equivalent to the HogbomCleanModel class and all the documention for that class will not be repreated here. The only difference is that the model used to represent the sky in this class is a MaskedArray, and hence this class can implement the concept of clean boxes.

Masking is used to deliniate the search region when clean is determing the maximum residual as well as the region that is subtracted in the when calculating the residual image (if the ConvolutionEquation class is used in conjunction with this class). However Because this user calculates the residual using the ConvolutionEquation class (which ignores the mask) this will always return a residual that is accurate even in the masked regions of the image.

Example

    Matrix<Float> psf(12,12); // The psf cannot be masked!
    MaskedMatrix dirty(10,10), initialModel(10,10);
    ...put appropriate values into psf, dirty, & initialModel...\.
    ConvolutionEquation convEqn(psf, dirty);
    MaskedHogbomCleanModel<Float> deconvolvedModel(initialModel); 
    deconvolvedModel.setGain(0.2); 
    deconvolvedModel.setNumberIterations(1000);
    Bool convWorked = deconvolvedModel.solve(convEqn);
    Array<Float> finalModel, residuals;
    if (convWorked){
      finalModel = deconvolvedModel.getModel();
      ConvEqn.residual(deconvolvedModel, finalResidual);
    }

Motivation

This class is needed to deconvolve images.

Template Type Argument Requirements (T)

have tested this class with Arrays of Float

To Do

Definition at line 109 of file MaskedHogbomCleanModel.h.


Constructor & Destructor Documentation

template<class T >
casa::MaskedHogbomCleanModel< T >::MaskedHogbomCleanModel ( ) [inline]

The default constructor does nothing more than initialise a zero length array to hold the deconvolved model.

If this constructor is used then the actual model must be set using the setModel() function of the ArrayModel class.

Definition at line 118 of file MaskedHogbomCleanModel.h.

template<class T >
casa::MaskedHogbomCleanModel< T >::MaskedHogbomCleanModel ( const MaskedArray< T > &  model) [inline]

Construct the HogbomCleanModel object and initialise the model.

Definition at line 120 of file MaskedHogbomCleanModel.h.


Member Function Documentation

template<class T >
Bool casa::MaskedHogbomCleanModel< T >::solve ( ResidualEquation< MaskedArray< T > > &  eqn)

Using a Hogbom clean deconvolution proceedure solve for an improved estimate of the deconvolved object.

The convolution/residual equation contains the psf and dirty image. When called with a ResidualEquation arguement a quite general interface is used that is slow. The convolution equation contains functions that speed things up. The functions return False if the deconvolution could not be done.

template<class T >
Bool casa::MaskedHogbomCleanModel< T >::solve ( ConvolutionEquation eqn)

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