Table of Contents

NAME

QccFilterMatrixSeparable - perform separable FIR filtering of a two-dimensional signal

SYNOPSIS

#include "libQccPack.h"

int QccFilterMatrixSeparable(const QccMatrix input_matrix, QccMatrix output_matrix, int num_rows, int num_cols, const QccFilter *horizontal_filter, const QccFilter *vertical_filter, int boundary_extension);

DESCRIPTION

QccFilterMatrixSeparable() implements the separable two-dimensional FIR filtering of a two-dimensional signal. horizontal_filter gives the one-dimensional FIR filter for filtering along the rows (i.e., in the horizontal direction); vertical_filter gives the one-dimensional FIR filter for filtering along the columns (i.e., in the vertical direction). input_matrix is the two-dimensional input signal (of QccMatrix data type, size num_rows rows by num_cols columns) to be filtered, and output_matrix is the resulting filtered signal. Sufficient storage space for output_matrix must be allocated (by a call to QccMatrixAlloc(3) ) prior to calling QccFilterMatrixSeparable().

The FIR filtering operation is implemented by time-domain convolutions, one for each row and column in the input signal. These convolutions are implemented by calls to QccFilterVector(3) for each row and column. boundary_extension informs QccFilterMatrixSeparable() of the method to employ to handle the left and right signal boundaries in these convolutions. See QccFilterVector(3) for the possible values of boundary_extension.

RETURN VALUE

QccFilterMatrixSeparable() returns 0 on success, 1 on failure.

SEE ALSO

QccFilterVector(3) , QccFilter(3) , QccMatrix(3) , QccPack(3)

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



Get QccPack at SourceForge.net. Fast, secure and Free Open Source software downloads