A linear gradient filter
#include "dip_linear.h"
dip_Error dip_FiniteDifference ( in, out, boundary, processDim, filter )
binary, integer, float, complex
The FiniteDifference filter implements several basic one dimensional FIR convolution filters. The dimension in which the operation is to be performed is specified by processDim. The operation itself is selected with filter. The (1 0 11)/2, (1 -1 0) & (0 1 -1) are difference filters that approximate a first order derivative, the (1 -2 1) filter approximates a second order derivative operation. The piramid shaped (1 2 1)/4 filter is a local smoothing filter. All filters are normalized (sum of filter coeff. is 0 or 1).
Data type | Name | Description |
dip_Image | in | Input image |
dip_Image | out | Output image |
dip_BoundaryArray | boundary | Boundary conditions |
dip_int | processDim | ProcessDim |
dipf_FiniteDifference | filter | Filter selection |
The dipf_FiniteDifference enumeration consists of the following flags:
Name | Description |
DIP_FINITE_DIFFERENCE_M101 | out[ii] = (in[ii+1] - in[ii-1])/2 |
DIP_FINITE_DIFFERENCE_0M11 | out[ii] = in[ii+1] - in[ii] |
DIP_FINITE_DIFFERENCE_M110 | out[ii] = in[ii] - in[ii-1] |
DIP_FINITE_DIFFERENCE_1M21 | out[ii] = in[ii-1] - 2*in[ii] + in[ii+1] |
DIP_FINITE_DIFFERENCE_121 | out[ii] = (in[ii-1] + 2*in[ii] + in[ii+1])/4 |
General information about convolution
FiniteDifferenceEx, SobelGradient, Uniform, Gauss, SeparableConvolution, Convolve1d, Derivative
DIPlib on-line documentation | Function reference | Global function index