Generate a derivative filter in the frequency domain.
gen_derivative_filter generates a derivative filter in the frequency domain. The derivative to be computed is determined by Derivative. Exponent specifies the exponent used in the reverse transform. It must be set to the same value that is used in fft_generic. If fft_image_inv is used in the reverse transform, Exponent = 1 must be used. However, since the derivative image typically contains negative values, fft_generic should always be used for the reverse transform. To achieve a maximum efficiency of the filtering operation, the parameter Norm can be used to specify the normalization factor of the filter. If fft_generic and Norm = 'n' is used the normalization in the FFT can be avoided. Mode can be used to determine where the DC term of the filter lies or whether the filter should be used in the real-valued FFT. If fft_generic is used, 'dc_edge' can be used to gain efficiency. If fft_image and fft_image_inv are used for filtering, Norm = 'none' and Mode = 'dc_center' must be used. If rft_generic is used, Mode = 'rft' must be used.
|
ImageDerivative (output_object) |
image -> object : complex |
| Derivative filter as image in the frequency domain. | |
|
Derivative (input_control) |
string -> string |
| Derivative to be computed. | |
| Default value: 'x' | |
| Suggested values: 'x', 'y', 'xx', 'xy', 'yy', 'xxx', 'xxy', 'xyy', 'yyy' | |
|
Exponent (input_control) |
integer -> integer |
| Exponent used in the reverse transform. | |
| Default value: 1 | |
| Suggested values: -1, 1 | |
|
Norm (input_control) |
string -> string |
| Normalizing factor of the filter. | |
| Default value: 'none' | |
| List of values: 'none', 'n' | |
|
Mode (input_control) |
string -> string |
| Location of the DC term in the frequency domain. | |
| Default value: 'dc_center' | |
| List of values: 'dc_center', 'dc_edge', 'rft' | |
|
Width (input_control) |
integer -> integer |
| Width of the image (filter). | |
| Default value: 512 | |
| List of values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192 | |
|
Height (input_control) |
integer -> integer |
| Height of the image (filter). | |
| Default value: 512 | |
| List of values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192 | |
/* Generate a smoothed derivative filter. */ gen_gauss_filter (ImageGauss, Sigma, Sigma, 0, 'n', 'dc_edge', 512, 512) convert_image_type (ImageGauss, ImageGaussComplex, 'complex') gen_derivative_filter (ImageDerivX, 'x', 1, 'none', 'dc_edge', 512, 512) mult_image (ImageGaussComplex, ImageDerivX, ImageDerivXGauss, 1, 0) /* Filter an image with the smoothed derivative filter. */ fft_generic (Image, ImageFFT, 'to_freq', -1, 'none', 'dc_edge', 'complex') convol_fft (ImageFFT, ImageDerivXGauss, Filtered) fft_generic (Filtered, ImageX, 'from_freq', 1, 'none', 'dc_edge', 'real')
gen_derivative_filter returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception handling is raised.
gen_derivative_filter is reentrant and processed without parallelization.
fft_image, fft_generic, rft_generic
fft_image_inv, gen_gauss_filter, gen_lowpass, gen_bandpass, gen_bandfilter, gen_highpass
Foundation