ImageTwoPtCorr.h

Classes

ImageTwoPtCorr -- Compute two point correlation functions from images (full description)

template <class T> class ImageTwoPtCorr

Interface

Public Members
ImageTwoPtCorr ()
ImageTwoPtCorr(const ImageTwoPtCorr& other)
ImageTwoPtCorr& operator=(const ImageTwoPtCorr& other)
~ImageTwoPtCorr()
void autoCorrelation (ImageInterface<T>& out, const ImageInterface<T>& in, const T& axes, typename LatticeTwoPtCorr<T>::Method method, Bool progress=True) const
void autoCorrelation (ImageInterface<T>& out, const ImageInterface<T>& in, typename LatticeTwoPtCorr<T>::Method method, Bool progress=True) const
static IPosition setUpAxes (const IPosition& axes, const CoordinateSystem& cSys)
static IPosition setUpShape (const IPosition& inShape, const IPosition& axes)
Private Members
void copyMiscellaneous (ImageInterface<T>& out, const ImageInterface<T>& in) const
void setCoordinateSystem (ImageInterface<T>& out, const ImageInterface<T>& in, const T& axes) const
void setUnit (ImageInterface<T>& out) const

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Compute the two point correlation function of an image

Synopsis

This class allows you to compute two point correlation functions from an image over planes of the specified two axes. Presently only autocorrelations and in particualt the structure function are implemented.

The structure function is S(x,y) = < [image(i,j) - image(i+x,j+y)]**2 > where x and y are absolute integer shifts (or lags) and the ensemble average is for each lag pair, x&y.

Example


 

Motivation

Taking the Structure Function of an image is a basic part of image analysis

To Do

Member Description

ImageTwoPtCorr ()

Default constructor

ImageTwoPtCorr(const ImageTwoPtCorr& other)

Copy constructor (reference semantics)

ImageTwoPtCorr& operator=(const ImageTwoPtCorr& other)

Assignment (reference semantics)

~ImageTwoPtCorr()

Destructor

void autoCorrelation (ImageInterface<T>& out, const ImageInterface<T>& in, const T& axes, typename LatticeTwoPtCorr<T>::Method method, Bool progress=True) const
void autoCorrelation (ImageInterface<T>& out, const ImageInterface<T>& in, typename LatticeTwoPtCorr<T>::Method method, Bool progress=True) const

Compute the desired autocorrelation function for the specified plane. You specify which two axes to compute the structure function over. If the axes array is empty (or not an argument), then the Sky plane is selected if it exists, otherwise the first two axes are selected. The CoordinateSystem of the output image is overwritten. The miscellaneous items (ImageInfo, MiscInfo, Logger) are copied from the input image to the output.

static IPosition setUpAxes (const IPosition& axes, const CoordinateSystem& cSys)

Helper function to set up the axes vector. If axes is of length 0, it looks for the Sky (DirectionCoordinate). If that's not there, you get the first two axes in the image.

static IPosition setUpShape (const IPosition& inShape, const IPosition& axes)

Helper function to provide output image shape given the input shape and the axes to find the structure function over.

void copyMiscellaneous (ImageInterface<T>& out, const ImageInterface<T>& in) const

Copy MiscInfo, ImageInfo, and logSInk to output

void setCoordinateSystem (ImageInterface<T>& out, const ImageInterface<T>& in, const T& axes) const

Overwrite the CoordinateSystem

void setUnit (ImageInterface<T>& out) const

Set the brightness unit