casacore::LatticeAddNoise Class Reference

Add noise from specified distribution to a lattice. More...

#include <LatticeAddNoise.h>

List of all members.

Public Member Functions

 LatticeAddNoise ()
 Default constructor.
 LatticeAddNoise (Random::Types type, const Vector< Double > &parameters, Int seed1=0, Int seed2=1)
 Constructor.
 LatticeAddNoise (const LatticeAddNoise &other)
 Copy constructor (copy semantics).
LatticeAddNoiseoperator= (const LatticeAddNoise &other)
 Assignment (copy semantics).
 ~LatticeAddNoise ()
 Destructor.
void set (Random::Types type, const Vector< Double > &parameters)
 Set a new distribution.
void add (MaskedLattice< Float > &lattice)
 Add noise of given type to lattice.
void add (MaskedLattice< Complex > &lattice)
void add (Lattice< Float > &lattice)
void add (Lattice< Complex > &lattice)

Private Member Functions

void addNoiseToArray (Array< Float > &data)
 Add noise to array.
void addNoiseToArray (Array< Complex > &data)
void makeDistribution ()
 Make noise generator.

Private Attributes

Random::Types itsType
Vector< DoubleitsParameters
MLCG itsGen
RandomitsNoise

Detailed Description

Add noise from specified distribution to a lattice.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This class allows you to add noise from one of many enumerated types to a Lattice. If the Lattice is Complex, then the noise is added to real and imaginary separately.

Example

 Vector<Double> pars(2):
 pars(0) = 0.5;          // Mean
 pars(1) = 0.2;          // Variance
 LatticeAddNoise lan(Random::NORMAL, pars);
 ArrayLattice<Float> lat(IPosition(2,100,100));
 lan.add(lat);

Definition at line 82 of file LatticeAddNoise.h.


Constructor & Destructor Documentation

casacore::LatticeAddNoise::LatticeAddNoise (  ) 

Default constructor.

casacore::LatticeAddNoise::LatticeAddNoise ( Random::Types  type,
const Vector< Double > &  parameters,
Int  seed1 = 0,
Int  seed2 = 1 
)

Constructor.

An exception will occur if we cannot generate the distribution (e.g. illegal parameters). seed1 and seed2 are used to seed the MLCG object.

casacore::LatticeAddNoise::LatticeAddNoise ( const LatticeAddNoise other  ) 

Copy constructor (copy semantics).

casacore::LatticeAddNoise::~LatticeAddNoise (  ) 

Destructor.


Member Function Documentation

void casacore::LatticeAddNoise::add ( Lattice< Complex > &  lattice  ) 
void casacore::LatticeAddNoise::add ( Lattice< Float > &  lattice  ) 
void casacore::LatticeAddNoise::add ( MaskedLattice< Complex > &  lattice  ) 
void casacore::LatticeAddNoise::add ( MaskedLattice< Float > &  lattice  ) 

Add noise of given type to lattice.

For Complex, the noise is added to real and imaginary separately. Any mask is ignored when adding the noise. I.e. noise is added to masked pixels.

void casacore::LatticeAddNoise::addNoiseToArray ( Array< Complex > &  data  )  [private]
void casacore::LatticeAddNoise::addNoiseToArray ( Array< Float > &  data  )  [private]

Add noise to array.

For Complex, noise is added to real and imaginary separately.

void casacore::LatticeAddNoise::makeDistribution (  )  [private]

Make noise generator.

LatticeAddNoise& casacore::LatticeAddNoise::operator= ( const LatticeAddNoise other  ) 

Assignment (copy semantics).

void casacore::LatticeAddNoise::set ( Random::Types  type,
const Vector< Double > &  parameters 
)

Set a new distribution.

An exception will occur if we cannot generate the distribution (e.g. illegal parameters).


Member Data Documentation

Definition at line 126 of file LatticeAddNoise.h.

Definition at line 127 of file LatticeAddNoise.h.

Definition at line 125 of file LatticeAddNoise.h.

Definition at line 124 of file LatticeAddNoise.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1