Template Function lsst::afw::math::detail::basicConvolve(OutImageT&, InImageT const&, lsst::afw::math::LinearCombinationKernel const&, lsst::afw::math::ConvolutionControl const&)¶
Function Documentation¶
-
template<typename
OutImageT
, typenameInImageT
>
voidlsst::afw::math::detail
::
basicConvolve
(OutImageT &convolvedImage, InImageT const &inImage, lsst::afw::math::LinearCombinationKernel const &kernel, lsst::afw::math::ConvolutionControl const &convolutionControl) A version of basicConvolve that should be used when convolving a LinearCombinationKernel
The Algorithm:
If the kernel is spatially varying and contains only DeltaFunctionKernels then convolves the input Image by each basis kernel in turn, solves the spatial model for that component and adds in the appropriate amount of the convolved image.
In all other cases uses normal convolution
- Parameters
[out] convolvedImage
: convolved image[in] inImage
: image to convolve[in] kernel
: convolution kernel[in] convolutionControl
: convolution control parameters
- Exceptions
lsst::pex::exceptions::InvalidParameterError
: if convolvedImage dimensions != inImage dimensionslsst::pex::exceptions::InvalidParameterError
: if inImage smaller than kernel in width or heightlsst::pex::exceptions::InvalidParameterError
: if kernel width or height < 1std::bad_alloc
: when allocation of CPU memory fails