casa
$Rev:20696$
|
This class does 2D convolution of an image by a functional form. More...
#include <Image2DConvolver.h>
Static Public Member Functions | |
static void | convolve (LogIO &os, ImageInterface< T > &imageOut, const ImageInterface< T > &imageIn, const VectorKernel::KernelTypes kernelType, const IPosition &pixelAxes, const Vector< Quantity > ¶meters, const Bool autoScale, const Double scale, const Bool copyMiscellaneous=True, const Bool targetres=False) |
Convolve. | |
Private Member Functions | |
Image2DConvolver () | |
This class contains all static methods. | |
Image2DConvolver (const Image2DConvolver< T > &other) | |
Copy constructor. | |
~Image2DConvolver () | |
Destructor. | |
Image2DConvolver & | operator= (const Image2DConvolver< T > &other) |
Assignment operator. | |
Static Private Member Functions | |
static void | _checkKernelParameters (LogIO &os, VectorKernel::KernelTypes kernelType, const Vector< Quantum< Double > > ¶meters) |
static void | _dealWithRestoringBeam (LogIO &os, String &brightnessUnitOut, GaussianBeam &beamOut, Array< T > &kernelArray, const T kernelVolume, const VectorKernel::KernelTypes kernelType, const Vector< Quantity > ¶meters, const IPosition &axes, const CoordinateSystem &cSys, const GaussianBeam &beamIn, const Unit &brightnessUnit, const Bool autoscale, const Double scale, const Bool emitMessage) |
static T | _fillKernel (Matrix< T > &kernelMatrix, VectorKernel::KernelTypes kernelType, const IPosition &kernelShape, const IPosition &axes, const Vector< Double > ¶meters) |
static void | fillGaussian (T &maxVal, T &volume, Matrix< T > &pixels, T height, T xCentre, T yCentre, T majorAxis, T ratio, T positionAngle) |
static T | _makeKernel (LogIO &os, Array< T > &kernel, VectorKernel::KernelTypes kernelType, const Vector< Quantity > ¶meters, const IPosition &axes, const ImageInterface< T > &inImage) |
static IPosition | shapeOfKernel (const VectorKernel::KernelTypes kernelType, const Vector< Double > ¶meters, const uInt ndim, const IPosition &axes) |
static uInt | sizeOfGaussian (const Double width, const Double nSigma) |
static Vector< Quantity > | _getConvolvingBeamForTargetResolution (LogIO &os, const Vector< Quantity > &targetBeamParms, const GaussianBeam &inputBeam) |
This class does 2D convolution of an image by a functional form.
Public interface
This class handles 2D convolution of images
This class convolves an image by a specified 2D function.
Convolution is a standard image processing requirement. The class object has no state. 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.
Definition at line 95 of file Image2DConvolver.h.
casa::Image2DConvolver< T >::Image2DConvolver | ( | ) | [private] |
This class contains all static methods.
Do not allow it to be instantiated. Constructor
casa::Image2DConvolver< T >::Image2DConvolver | ( | const Image2DConvolver< T > & | other | ) | [private] |
Copy constructor.
Uses reference semantics.
casa::Image2DConvolver< T >::~Image2DConvolver | ( | ) | [private] |
Destructor.
static void casa::Image2DConvolver< T >::_checkKernelParameters | ( | LogIO & | os, |
VectorKernel::KernelTypes | kernelType, | ||
const Vector< Quantum< Double > > & | parameters | ||
) | [static, private] |
static void casa::Image2DConvolver< T >::_dealWithRestoringBeam | ( | LogIO & | os, |
String & | brightnessUnitOut, | ||
GaussianBeam & | beamOut, | ||
Array< T > & | kernelArray, | ||
const T | kernelVolume, | ||
const VectorKernel::KernelTypes | kernelType, | ||
const Vector< Quantity > & | parameters, | ||
const IPosition & | axes, | ||
const CoordinateSystem & | cSys, | ||
const GaussianBeam & | beamIn, | ||
const Unit & | brightnessUnit, | ||
const Bool | autoscale, | ||
const Double | scale, | ||
const Bool | emitMessage | ||
) | [static, private] |
static T casa::Image2DConvolver< T >::_fillKernel | ( | Matrix< T > & | kernelMatrix, |
VectorKernel::KernelTypes | kernelType, | ||
const IPosition & | kernelShape, | ||
const IPosition & | axes, | ||
const Vector< Double > & | parameters | ||
) | [static, private] |
static Vector<Quantity> casa::Image2DConvolver< T >::_getConvolvingBeamForTargetResolution | ( | LogIO & | os, |
const Vector< Quantity > & | targetBeamParms, | ||
const GaussianBeam & | inputBeam | ||
) | [static, private] |
static T casa::Image2DConvolver< T >::_makeKernel | ( | LogIO & | os, |
Array< T > & | kernel, | ||
VectorKernel::KernelTypes | kernelType, | ||
const Vector< Quantity > & | parameters, | ||
const IPosition & | axes, | ||
const ImageInterface< T > & | inImage | ||
) | [static, private] |
static void casa::Image2DConvolver< T >::convolve | ( | LogIO & | os, |
ImageInterface< T > & | imageOut, | ||
const ImageInterface< T > & | imageIn, | ||
const VectorKernel::KernelTypes | kernelType, | ||
const IPosition & | pixelAxes, | ||
const Vector< Quantity > & | parameters, | ||
const Bool | autoScale, | ||
const Double | scale, | ||
const Bool | copyMiscellaneous = True , |
||
const Bool | targetres = False |
||
) | [static] |
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).
static void casa::Image2DConvolver< T >::fillGaussian | ( | T & | maxVal, |
T & | volume, | ||
Matrix< T > & | pixels, | ||
T | height, | ||
T | xCentre, | ||
T | yCentre, | ||
T | majorAxis, | ||
T | ratio, | ||
T | positionAngle | ||
) | [static, private] |
Image2DConvolver& casa::Image2DConvolver< T >::operator= | ( | const Image2DConvolver< T > & | other | ) | [private] |
Assignment operator.
Uses reference semantics.
static IPosition casa::Image2DConvolver< T >::shapeOfKernel | ( | const VectorKernel::KernelTypes | kernelType, |
const Vector< Double > & | parameters, | ||
const uInt | ndim, | ||
const IPosition & | axes | ||
) | [static, private] |
static uInt casa::Image2DConvolver< T >::sizeOfGaussian | ( | const Double | width, |
const Double | nSigma | ||
) | [static, private] |