DIPlib Documentation - ©1995-2017 Quantitative Imaging Group, Delft University of Technology.

FiniteDifferenceEx

A linear gradient filter

SYNOPSIS

#include "dip_linear.h"

dip_Error dip_FiniteDifferenceEx ( in, out, boundary, process, parOrder, smoothflag )

DATA TYPES

binary, integer, float, complex

FUNCTION

The FiniteDifferenceEx filter implements several basic one dimensional FIR convolution filters. The difference between this function and FiniteDifference is that this one has an interface more similar to Gauss and Derivative: it can process different derivatives along different dimensions at the same time. The first derivative is a convolution with (1 0 -1)/2, and the second derivative is a convolution with (1 -2 1). When parOrder is 0 for a dimension, either the triangular smoothing filter (1 2 1)/4 is applied (smoothflag set to DIP_TRUE), or the dimension is not processed at all (smoothflag set to DIP_FALSE).

Setting all process to DIP_TRUE, all parOrder to 0 except one dimension to 1, and smoothflag to DIP_TRUE yields the SobelGradient.

ARGUMENTS

Data typeNameDescription
dip_ImageinInput image
dip_ImageoutOutput image
dip_BoundaryArrayboundaryBoundary conditions
dip_BooleanArrayprocessDimensions to process
dip_IntegerArrayparOrderOrder of Derivative along each dimension
dip_BooleansmoothflagWhether or not to smooth in the non-derivative directions

SEE ALSO

General information about convolution

FiniteDifference, SobelGradient, Uniform, Gauss, Derivative