linear.h file
Functions that implement linear filters. See Linear filters.
Classes
-
struct dip::
OneDimensionalFilter - Describes a 1D filter
Aliases
-
using dip::
OneDimensionalFilterArray = std::vector<OneDimensionalFilter> - An array of 1D filters
Functions
-
auto dip::
SeparateFilter(dip::Image const& filter) -> dip::OneDimensionalFilterArray - Separates a linear filter (convolution kernel) into a set of 1D filters that can be applied using
dip::SeparableConvolution
. -
void dip::
SeparableConvolution(dip::Image const& in, dip::Image& out, dip::OneDimensionalFilterArray const& filterArray, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}) - Applies a convolution with a filter kernel (PSF) that is separable.
-
void dip::
ConvolveFT(dip::Image const& in, dip::Image const& filter, dip::Image& out, dip::String const& inRepresentation = S::SPATIAL, dip::String const& filterRepresentation = S::SPATIAL, dip::String const& outRepresentation = S::SPATIAL, dip::StringArray const& boundaryCondition = {}) - Applies a convolution with a filter kernel (PSF) by multiplication in the Fourier domain.
-
void dip::
GeneralConvolution(dip::Image const& in, dip::Image const& filter, dip::Image& out, dip::StringArray const& boundaryCondition = {}) - Applies a convolution with a filter kernel (PSF) by direct implementation of the convolution sum.
-
void dip::
Convolution(dip::Image const& in, dip::Image const& filter, dip::Image& out, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}) - Applies a convolution with a filter kernel (PSF).
-
void dip::
Uniform(dip::Image const& in, dip::Image& out, dip::Kernel const& kernel = {}, dip::StringArray const& boundaryCondition = {}) - Applies a convolution with a kernel with uniform weights, leading to an average (mean) filter.
-
void dip::
GaussFIR(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::UnsignedArray derivativeOrder = {0}, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Finite impulse response implementation of the Gaussian filter and its derivatives
-
void dip::
GaussFT(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::UnsignedArray derivativeOrder = {0}, dip::dfloat truncation = 3, dip::String const& inRepresentation = S::SPATIAL, dip::String const& outRepresentation = S::SPATIAL, dip::StringArray const& boundaryCondition = {}) - Fourier implementation of the Gaussian filter and its derivatives
-
void dip::
GaussIIR(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::UnsignedArray derivativeOrder = {0}, dip::StringArray const& boundaryCondition = {}, dip::UnsignedArray filterOrder = {}, dip::String const& designMethod = S::DISCRETE_TIME_FIT, dip::dfloat truncation = 3) - Infinite impulse response implementation of the Gaussian filter and its derivatives
-
void dip::
Gauss(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::UnsignedArray derivativeOrder = {0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Convolution with a Gaussian kernel and its derivatives
-
void dip::
FiniteDifference(dip::Image const& in, dip::Image& out, dip::UnsignedArray derivativeOrder = {0}, dip::String const& smoothFlag = S::SMOOTH, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}) - Finite difference derivatives
-
void dip::
SobelGradient(dip::Image const& in, dip::Image& out, dip::uint dimension = 0, dip::StringArray const& boundaryCondition = {}) - The Sobel derivative filter
-
void dip::
Derivative(dip::Image const& in, dip::Image& out, dip::UnsignedArray derivativeOrder, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Computes derivatives
-
void dip::
Dx(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along x, see
dip::Derivative
. -
void dip::
Dy(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along y, see
dip::Derivative
. -
void dip::
Dz(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along z, see
dip::Derivative
. -
void dip::
Dxx(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the second derivative along x, see
dip::Derivative
. -
void dip::
Dyy(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the second derivative along y, see
dip::Derivative
. -
void dip::
Dzz(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the second derivative along z, see
dip::Derivative
. -
void dip::
Dxy(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along x and y, see
dip::Derivative
. -
void dip::
Dxz(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along x and z, see
dip::Derivative
. -
void dip::
Dyz(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}) - Computes the first derivative along y and y, see
dip::Derivative
. -
void dip::
Gradient(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the gradient of the image, resulting in an N-vector image, if the input was N-dimensional.
-
void dip::
GradientMagnitude(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the gradient magnitude of the image, equivalent to
dip::Norm( dip::Gradient( in ))
. -
void dip::
GradientDirection(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the direction of the gradient of the image, equivalent to
dip::Angle( dip::Gradient( in ))
. -
void dip::
Curl(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the curl (rotation) of the 2D or 3D vector field
in
. -
void dip::
Divergence(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the divergence of the vector field
in
. -
void dip::
Hessian(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the Hessian of the image, resulting in a symmetric NxN tensor image, if the input was N-dimensional.
-
void dip::
Laplace(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the Laplacian of the image, equivalent to
dip::Trace( dip::Hessian( in ))
, but more efficient. -
void dip::
Dgg(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Computes the second derivative in the gradient direction.
-
void dip::
LaplacePlusDgg(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Adds the second derivative in the gradient direction to the Laplacian.
-
void dip::
LaplaceMinusDgg(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Subtracts the second derivative in the gradient direction from the Laplacian.
-
void dip::
Sharpen(dip::Image const& in, dip::Image& out, dip::dfloat weight = 1.0, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Sharpens
in
by subtracting the Laplacian of the image. -
void dip::
UnsharpMask(dip::Image const& in, dip::Image& out, dip::dfloat weight = 1.0, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Sharpens
in
by subtracting the smoothed image. -
void dip::
GaborFIR(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas, dip::FloatArray const& frequencies, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::dfloat truncation = 3) - Finite impulse response implementation of the Gabor filter
-
void dip::
GaborIIR(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas, dip::FloatArray const& frequencies, dip::StringArray const& boundaryCondition = {}, dip::BooleanArray process = {}, dip::IntegerArray const& filterOrder = {}, dip::dfloat truncation = 3) - Recursive infinite impulse response implementation of the Gabor filter
-
void dip::
Gabor2D(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {5.0,5.0}, dip::dfloat frequency = 0.1, dip::dfloat direction = dip::pi, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - 2D Gabor filter with direction parameter
-
void dip::
LogGaborFilterBank(dip::Image const& in, dip::Image& out, dip::FloatArray const& wavelengths = {3.0,6.0,12.0,24.0}, dip::dfloat bandwidth = 0.75, dip::uint nOrientations = 6, dip::String const& inRepresentation = S::SPATIAL, dip::String const& outRepresentation = S::SPATIAL) - Applies a log-Gabor filter bank
-
void dip::
NormalizedConvolution(dip::Image const& in, dip::Image const& mask, dip::Image& out, dip::FloatArray const& sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {S::ADD_ZEROS}, dip::dfloat truncation = 3) - Computes the normalized convolution with a Gaussian kernel: a Gaussian convolution for missing or uncertain data.
-
void dip::
NormalizedDifferentialConvolution(dip::Image const& in, dip::Image const& mask, dip::Image& out, dip::uint dimension = 0, dip::FloatArray const& sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {S::ADD_ZEROS}, dip::dfloat truncation = 3) - Computes the normalized differential convolution with a Gaussian kernel: a derivative operator for missing or uncertain data.
-
void dip::
MeanShiftVector(dip::Image const& in, dip::Image& out, dip::FloatArray sigmas = {1.0}, dip::String const& method = S::BEST, dip::StringArray const& boundaryCondition = {}, dip::dfloat truncation = 3) - Computes the mean shift vector for each pixel in the image