55 template<
typename dtype>
59 dtype inConstantValue = 0)
67 constexpr uint32 MIN_KERNEL_SIZE = 5;
70 if (kernelSize % 2 == 0)
75 const auto kernalHalfSize =
static_cast<double>(kernelSize / 2);
79 for (
double row = 0; row < kernelSize; ++row)
81 for (
double col = 0; col < kernelSize; ++col)
83 kernel(
static_cast<uint32>(row),
static_cast<uint32>(col)) =
93 convolve(inImageArray.template astype<double>(), kernelSize, kernel, inBoundaryType, inConstantValue)
94 .template astype<dtype>();
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:37
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition: NdArrayCore.hpp:139
value_type item() const
Definition: NdArrayCore.hpp:3022
self_type sum(Axis inAxis=Axis::NONE) const
Definition: NdArrayCore.hpp:4618
Definition: addBoundary1d.hpp:44
NdArray< dtype > convolve(const NdArray< dtype > &inImageArray, uint32 inSize, const NdArray< dtype > &inWeights, Boundary inBoundaryType=Boundary::REFLECT, dtype inConstantValue=0)
Definition: convolve.hpp:60
NdArray< dtype > gaussianFilter(const NdArray< dtype > &inImageArray, double inSigma, Boundary inBoundaryType=Boundary::REFLECT, dtype inConstantValue=0)
Definition: gaussianFilter.hpp:56
Boundary
Boundary condition to apply to the image filter.
Definition: Boundary.hpp:36
double gaussian(double inX, double inY, double inSigma) noexcept
Definition: gaussian.hpp:46
dtype ceil(dtype inValue) noexcept
Definition: ceil.hpp:48
std::uint32_t uint32
Definition: Types.hpp:40
NdArray< dtype > max(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: max.hpp:44