Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.atnf.csiro.au/computing/software/casacore/casacore-1.2.0/doc/html/classcasa_1_1Image2DConvolver.html
Дата изменения: Unknown
Дата индексирования: Mon Feb 14 22:47:10 2011
Кодировка:

Поисковые слова: m 11
casacore: casa::Image2DConvolver< T > Class Template Reference
Public Member Functions | Private Member Functions

casa::Image2DConvolver< T > Class Template Reference
[Images_module]

This class does 2D convolution of an image by a functional form. More...

#include <Image2DConvolver.h>

List of all members.

Public Member Functions

 Image2DConvolver ()
 Constructor.
 Image2DConvolver (const Image2DConvolver< T > &other)
 Copy constructor.
 ~Image2DConvolver ()
 Destructor.
Image2DConvolveroperator= (const Image2DConvolver< T > &other)
 Assignment operator.
void convolve (LogIO &os, ImageInterface< T > &imageOut, ImageInterface< T > &imageIn, VectorKernel::KernelTypes kernelType, const IPosition &pixelAxes, const Vector< Quantum< Double > > &parameters, Bool autoScale, Double scale, Bool copyMiscellaneous=True)
 Convolve.

Private Member Functions

void checkKernelParameters (LogIO &os, VectorKernel::KernelTypes kernelType, const Vector< Quantum< Double > > &parameters) const
 Check kernel parameters.
void dealWithRestoringBeam (LogIO &os, String &brightnessUnitOut, Vector< Quantum< Double > > &beamOut, Array< T > &kernelArray, T kernelVolume, VectorKernel::KernelTypes kernelType, const Vector< Quantum< Double > > &parameters, const IPosition &axes, const CoordinateSystem &cSys, const ImageInfo &imageInfo, const Unit &brightnessUnit, Bool autoscale, Double scale) const
fillKernel (Matrix< T > &kernelMatrix, VectorKernel::KernelTypes kernelType, const IPosition &kernelShape, const IPosition &axes, const Vector< Double > &parameters) const
void fillGaussian (T &maxVal, T &volume, Matrix< T > &pixels, T height, T xCentre, T yCentre, T majorAxis, T ratio, T positionAngle) const
makeKernel (LogIO &os, Array< T > &kernel, VectorKernel::KernelTypes kernelType, const Vector< Quantum< Double > > &parameters, const IPosition &axes, const ImageInterface< T > &inImage) const
IPosition shapeOfKernel (VectorKernel::KernelTypes kernelType, const Vector< Double > &parameters, uInt ndim, const IPosition &axes) const
uInt sizeOfGaussian (Double width, Double nSigma) const

Detailed Description

template<class T>
class casa::Image2DConvolver< T >

This class does 2D convolution of an image by a functional form.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

This class handles 2D convolution of images

Synopsis

This class convolves an image by a specified 2D function.

Example

Motivation

Convolution is a standard image processing requirement. The class object has no state. The functions could be static. The convolution is done via FFT. Thus input pixels which are masked are set to 0 before the convolution. The mask is transferred to the output image. No additional scaling of the output image values is done.

To Do

Definition at line 93 of file Image2DConvolver.h.


Constructor & Destructor Documentation

template<class T>
casa::Image2DConvolver< T >::Image2DConvolver (  ) 

Constructor.

template<class T>
casa::Image2DConvolver< T >::Image2DConvolver ( const Image2DConvolver< T > &  other  ) 

Copy constructor.

Uses reference semantics.

template<class T>
casa::Image2DConvolver< T >::~Image2DConvolver (  ) 

Destructor.


Member Function Documentation

template<class T>
void casa::Image2DConvolver< T >::checkKernelParameters ( LogIO os,
VectorKernel::KernelTypes  kernelType,
const Vector< Quantum< Double > > &  parameters 
) const [private]

Check kernel parameters.

template<class T>
void casa::Image2DConvolver< T >::convolve ( LogIO os,
ImageInterface< T > &  imageOut,
ImageInterface< T > &  imageIn,
VectorKernel::KernelTypes  kernelType,
const IPosition pixelAxes,
const Vector< Quantum< Double > > &  parameters,
Bool  autoScale,
Double  scale,
Bool  copyMiscellaneous = True 
)

Convolve.

If the output image needs a mask and doesn't have one, it will be given one if possible. The miscInfo, imageInfo, units and logger will be copied from the input to the output unless you indicate not to (copyMiscellaneous).

template<class T>
void casa::Image2DConvolver< T >::dealWithRestoringBeam ( LogIO os,
String brightnessUnitOut,
Vector< Quantum< Double > > &  beamOut,
Array< T > &  kernelArray,
kernelVolume,
VectorKernel::KernelTypes  kernelType,
const Vector< Quantum< Double > > &  parameters,
const IPosition axes,
const CoordinateSystem cSys,
const ImageInfo imageInfo,
const Unit brightnessUnit,
Bool  autoscale,
Double  scale 
) const [private]
template<class T>
void casa::Image2DConvolver< T >::fillGaussian ( T &  maxVal,
T &  volume,
Matrix< T > &  pixels,
height,
xCentre,
yCentre,
majorAxis,
ratio,
positionAngle 
) const [private]
template<class T>
T casa::Image2DConvolver< T >::fillKernel ( Matrix< T > &  kernelMatrix,
VectorKernel::KernelTypes  kernelType,
const IPosition kernelShape,
const IPosition axes,
const Vector< Double > &  parameters 
) const [private]
template<class T>
T casa::Image2DConvolver< T >::makeKernel ( LogIO os,
Array< T > &  kernel,
VectorKernel::KernelTypes  kernelType,
const Vector< Quantum< Double > > &  parameters,
const IPosition axes,
const ImageInterface< T > &  inImage 
) const [private]
template<class T>
Image2DConvolver& casa::Image2DConvolver< T >::operator= ( const Image2DConvolver< T > &  other  ) 

Assignment operator.

Uses reference semantics.

template<class T>
IPosition casa::Image2DConvolver< T >::shapeOfKernel ( VectorKernel::KernelTypes  kernelType,
const Vector< Double > &  parameters,
uInt  ndim,
const IPosition axes 
) const [private]
template<class T>
uInt casa::Image2DConvolver< T >::sizeOfGaussian ( Double  width,
Double  nSigma 
) const [private]

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