|
SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
|
#include <DFT.h>

Classes | |
| struct | ConvolutionContext |
Public Types | |
| typedef T | real_t |
| typedef FFT< T >::complex_t | complex_t |
Public Member Functions | |
| DFTConvolution (std::shared_ptr< const Image< T > > img) | |
| virtual | ~DFTConvolution ()=default |
| std::size_t | getWidth () const |
| std::size_t | getHeight () const |
| std::unique_ptr< ConvolutionContext > | prepare (const std::shared_ptr< const Image< T > > &model_ptr) const |
| template<typename ... Args> | |
| void | convolve (std::shared_ptr< WriteableImage< T > > image_ptr, std::unique_ptr< ConvolutionContext > &context, Args... padding_args) const |
| template<typename ... Args> | |
| void | convolve (std::shared_ptr< WriteableImage< T > > image_ptr, Args... padding_args) const |
| std::shared_ptr< const Image< T > > | getKernel () const |
Protected Member Functions | |
| void | padKernel (ConvolutionContext &context) const |
| void | dumpImage (const std::shared_ptr< const Image< T > > &img, std::vector< T > &work_area) const |
Private Attributes | |
| std::shared_ptr< const Image< T > > | m_kernel |
Convolution strategy based on the Discrete Fourier Transform
| T | The pixel type |
| TPadding | The padding strategy |
| typedef FFT<T>::complex_t SourceXtractor::DFTConvolution< T, TPadding >::complex_t |
| typedef T SourceXtractor::DFTConvolution< T, TPadding >::real_t |
|
inlineexplicit |
|
virtualdefault |
Destructor
|
inline |
Convolve the image with the stored kernel
| Args | Types of the parameters to be forwarded to the padding strategy |
| image_ptr | The image to convolve |
| padding_args | Forwarded to the padding strategy |
Definition at line 209 of file DFT.h.
References SourceXtractor::DFTConvolution< T, TPadding >::convolve(), std::forward(), and SourceXtractor::DFTConvolution< T, TPadding >::prepare().

|
inline |
Convolve the image with the stored kernel, using the given context storing the pre-computed kernel transform, and pre-allocated buffers
| Args | Types of the parameters to be forwarded to the padding strategy |
| image_ptr | The image to convolve |
| context | The prepared context |
| padding_args | Forwarded to the padding strategy |
Definition at line 152 of file DFT.h.
References SourceXtractor::copyFFTWorkAreaToImage(), std::div(), SourceXtractor::DFTConvolution< T, TPadding >::dumpImage(), SourceXtractor::FFT< T >::executeForward(), and SourceXtractor::FFT< T >::executeInverse().
Referenced by SourceXtractor::DFTConvolution< T, TPadding >::convolve(), and SourceXtractor::BgDFTConvolutionImageSource::generateTile().

|
inlineprotected |
Definition at line 233 of file DFT.h.
References SourceXtractor::copyImageToFFTWorkArea().
Referenced by SourceXtractor::DFTConvolution< T, TPadding >::convolve(), and SourceXtractor::DFTConvolution< T, TPadding >::padKernel().

|
inline |
Definition at line 94 of file DFT.h.
References SourceXtractor::DFTConvolution< T, TPadding >::m_kernel.
Referenced by SourceXtractor::BgDFTConvolutionImageSource::generateTile().
|
inline |
Definition at line 218 of file DFT.h.
References SourceXtractor::DFTConvolution< T, TPadding >::m_kernel.
|
inline |
Definition at line 86 of file DFT.h.
References SourceXtractor::DFTConvolution< T, TPadding >::m_kernel.
Referenced by SourceXtractor::BgDFTConvolutionImageSource::generateTile().
|
inlineprotected |
Definition at line 223 of file DFT.h.
References SourceXtractor::PaddedImage< T, CoordinateInterpolation >::create(), SourceXtractor::RecenterImage< T >::create(), SourceXtractor::DFTConvolution< T, TPadding >::dumpImage(), and SourceXtractor::DFTConvolution< T, TPadding >::m_kernel.
Referenced by SourceXtractor::DFTConvolution< T, TPadding >::prepare().

|
inline |
Pre-computes the transform of the kernel, adapted to the image passed by model_ptr
| model_ptr | Reference image. Only its size is used to compute the necessary padding, and kernel size before transformation |
convolve to avoid re-computing the kernel multiple times Definition at line 106 of file DFT.h.
References SourceXtractor::FFT< T >::createForwardPlan(), SourceXtractor::FFT< T >::createInversePlan(), SourceXtractor::FFT< T >::executeForward(), SourceXtractor::fftRoundDimension(), SourceXtractor::DFTConvolution< T, TPadding >::m_kernel, and SourceXtractor::DFTConvolution< T, TPadding >::padKernel().
Referenced by SourceXtractor::DFTConvolution< T, TPadding >::convolve().

|
private |
Definition at line 239 of file DFT.h.
Referenced by SourceXtractor::DFTConvolution< T, TPadding >::getHeight(), SourceXtractor::DFTConvolution< T, TPadding >::getKernel(), SourceXtractor::DFTConvolution< T, TPadding >::getWidth(), SourceXtractor::DFTConvolution< T, TPadding >::padKernel(), and SourceXtractor::DFTConvolution< T, TPadding >::prepare().