eLynx SDK
v3.3.0 C++ image processing API reference |
PSF (point spread function) implementation based on convolution kernel. More...
#include <KernelPSF.h>
Public Member Functions | |
KernelPSF (const Math::ConvolutionKerneld &iKernel) | |
Constructor, creates PSF from given kernel. | |
KernelPSF (const Math::ConvolutionKerneld &iKernel1, const Math::ConvolutionKerneld &iKernel2) | |
Constructor, creates PSF from separable kernel. | |
KernelPSF (const KernelPSF &iC) | |
Copy constructor. | |
KernelPSF & | operator= (const KernelPSF &iC) |
An assignement operator. | |
bool | IsSeparable () const |
Returns true if PSF is implemented using separable kernel. | |
const Math::ConvolutionKerneld & | GetKernel () const |
Returns convolution kernel, that defines PSF. | |
Math::ConvolutionKerneld & | GetKernel () |
const Math::ConvolutionKerneld & | GetKernel2 () const |
Returns second convolution kernel, that defines PSF. | |
Math::ConvolutionKerneld & | GetKernel2 () |
void | SetKernel (const Math::ConvolutionKerneld &iKernel) |
Sets convolution kernel. | |
void | SetKernel2 (const Math::ConvolutionKerneld &iKernel) |
Sets second convolution kernel. | |
IImagePSF implementation | |
virtual uint32 | GetWidth () const |
Returns width of the PSF function in pixels. | |
virtual uint32 | GetHeight () const |
Returns height of the PSF function in pixels. | |
virtual double | EvalPSF (uint32 iX, uint32 iY, int32 iDX, int32 iDY) const |
Returns the PSF value (floating point value between 0 and 1). |
PSF (point spread function) implementation based on convolution kernel.
The PSF does not change over the image. The kernel is supposed to be normalized. The kernel sizes must be odd numbers (so kernel has clear central pixel).
eLynx::Image::KernelPSF::KernelPSF | ( | const Math::ConvolutionKerneld & | iKernel ) |
Constructor, creates PSF from given kernel.
iKernel | the kernel to describe PSF |
eLynx::Image::KernelPSF::KernelPSF | ( | const KernelPSF & | iC ) |
Copy constructor.
iC | the object to copy |
virtual double eLynx::Image::KernelPSF::EvalPSF | ( | uint32 | iX, |
uint32 | iY, | ||
int32 | iDX, | ||
int32 | iDY | ||
) | const [virtual] |
Returns the PSF value (floating point value between 0 and 1).
The PSF is related to pixel iX and iY of the image. Delta values iDX and iDY represents center-relative coordinates in the PSF image. If the PSF is constant over whole image, iX and iY parameters are ignored.
iX | the x coordinate of the image pixel, for which PSF should be evaluated |
iY | the y coordinate of the image pixel, for which PSF should be evaluated |
iDX | the delta from PSF center in x direction (PSF coordinates) |
iDY | the delta from PSF center in y direction (PSF coordinates) |
Implements eLynx::Image::IImagePSF.
virtual uint32 eLynx::Image::KernelPSF::GetHeight | ( | ) | const [virtual] |
Returns height of the PSF function in pixels.
The PSF can be viewed as luminance image with width and height. The original point source is in the center of the image. PSF pixel values shows the convolved image of te source. Both width and height should be odd numbers.
Implements eLynx::Image::IImagePSF.
const Math::ConvolutionKerneld& eLynx::Image::KernelPSF::GetKernel | ( | ) | const |
Returns convolution kernel, that defines PSF.
const Math::ConvolutionKerneld& eLynx::Image::KernelPSF::GetKernel2 | ( | ) | const |
Returns second convolution kernel, that defines PSF.
Valid if convolution is done using separable kernel.
virtual uint32 eLynx::Image::KernelPSF::GetWidth | ( | ) | const [virtual] |
Returns width of the PSF function in pixels.
The PSF can be viewed as luminance image with width and height. The original point source is in the center of the image. PSF pixel values shows the convolved image of te source. Both width and height should be odd numbers.
Implements eLynx::Image::IImagePSF.
bool eLynx::Image::KernelPSF::IsSeparable | ( | ) | const |
Returns true if PSF is implemented using separable kernel.
An assignement operator.
iC | the object to assign |
void eLynx::Image::KernelPSF::SetKernel | ( | const Math::ConvolutionKerneld & | iKernel ) |
Sets convolution kernel.
iKernel | the kernel to describe PSF |
void eLynx::Image::KernelPSF::SetKernel2 | ( | const Math::ConvolutionKerneld & | iKernel ) |
Sets second convolution kernel.
Used if convolution is done using separable kernel.
iKernel | the second kernel to describe PSF |