Differences between revisions 15 and 16
 ⇤ ← Revision 15 as of 2010-07-02 18:36:32 → Size: 2024 Editor: 139 Comment: ← Revision 16 as of 2013-07-01 13:12:56 → ⇥ Size: 2025 Editor: localhost Comment: converted to 1.6 markup Deletions are marked like this. Additions are marked like this. Line 14: Line 14: . All frequencies are in [:absolute_frequency_units:absolute frequency units] {{{`f_a`}}} and their valid range is [0:0.5]. . All frequencies are in [[absolute_frequency_units|absolute frequency units]] {{{`f_a`}}} and their valid range is [0:0.5].

# Name

filt_btwo - Butterworth homomorphic Fourier filter

# Usage

output = filt_btwo(image, freql, freqh, value, pad)

## Input

image
input image (can be either real or Fourier)
freql
low - stop-band frequency
freqh
high - pass-band frequency
value
value of the filter at zero frequency
logical flag specifying whether before filtering the image should be padded with zeroes in real space to twice the size (this helps avoiding aliasing artifacts). (Default pad = False).

## Output

output
filtered image. Output image is real when input image is real or Fourier when input image is Fourier

# Method

Fourier transform of the input image is multiplied by a radially symmetric filter:

• `1-(1-value)**B(f)`

• where `B(f)` is the Butterworth filter

Value of ORDER determines the filter falloff and RAD corresponds to the cut-off frequency. RAD and ORDER are calculated from the parameters specified by the user using following equations:

• `ORDER = [2*log((eps)/sqrt(a^2-1))]/[log((low)/(high))]`

where low and high are the pass-band and stop-band frequencies, respectively, and parameters eps and a are set to 0.882 and 10.624, respectively. Note values of the filter B(f) deviate from 1.0 at frequency low by about 0.2 and from 0.0 at frequency high by about 0.09 (for a low-pass filter.)

# Reference

Gonzalez, R. F., Woods, R. E., 2002. Digital Image Processing. Prentice Hall, Upper Saddle River, NJ.

Pawel A. Penczek

category 1
FILTER
category 2
FOURIER

filter.py

# Maturity

stable
works for most people, has been tested; test cases/examples available.

# Bugs

None. It is perfect.

filt_btwo (last edited 2013-07-01 13:12:56 by localhost)