NAME

fourier_convolve_matrix - Convolve matrix with an arbitrary mask by using fourier transform.

SYNOPSIS

#include "m2/m2_ncc.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int fourier_convolve_matrix
(
	Matrix **out_mpp,
	const Matrix *in_mp,
	const Matrix *mask_mp
);

DESCRIPTION

This routine use the fourier transform method to convolve the matrix pointed to by in_mp with the mask mask_mp, putting the result into *out_mpp. When the size of the mask matrix is large, the routine is highly recommended when the mask size is large. Unlike the routine 'convolve_matrix', 'fourier_convolve_matrix' deals with the boundary by padding 0, rather than by wrapping around the 'in_matrix'.

RETURNS

NO_ERROR on sucess and ERROR on failure.

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Quanfu Fan and Kobus Barnard

DOCUMENTER

Quanfu Fan and Kobus Barnard

SEE ALSO

fourier_convolve_image , fourier_ncc_template_matrix , fourier_ncc_template_mvector , ncc_matrix , ncc_mvector