LatticeModel.h

Classes

LatticeModel -- models with an internal & external representation as an Lattice (full description)

class LatticeModel :public LinearModel<Lattice<Float> >

Interface

Public Members
LatticeModel(Lattice<Float>& mod)
virtual ~LatticeModel()
virtual const Lattice<Float> & getModel() const
virtual void setModel(const Lattice<Float> & model)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

An LatticeModel is a base class for Models that can be represented by Lattices. It is expected that this class will be mainly used as base classes for other classes which will then provide the solve() functions necessary to update the model given an equation.

However this class does not contain any pure virtual functions and hence can be used "as is". An example of this is given below. For an example of how this class can be used by derived classes see the HogbomCleanModel class.

Example

    LatticeModel<Float> currentModel(); // Cannot use the model yet!
    {
      PagedImage<Float> bestGuess(Iposition(2,32,32));
       ... put your best guess into the Matrix ...
      currentModel.setModel(bestGuess); // This does a real copy
    }
    ConvolutionEquation eqn(psf, dirty); // psf, and dirty are PagedImages defined
                                         // elsewhere.
    eqn.evaluate(result, currentModel); // Here result is the convolution of
                                        // of the model with the psf.
    

Motivation

All the different image plane based clean algorithms have a common implementation in that they can use an Lattice (ie, PagedImage) to store the current model. This class provides a way to abstract this functionality.

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

LatticeModel(Lattice<Float>& mod)

virtual ~LatticeModel()

The destructor does nothing.

virtual const Lattice<Float> & getModel() const

returns a reference to the model

virtual void setModel(const Lattice<Float> & model)

Change the underlying Model to to the one specified. Reference semantics are used so that no data is copied.