## Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

# 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
pad
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

• `B(f) = 1.0/sqrt(1.0+(f/(RAD))^(ORDER))`

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))]`

• `RAD = (low)/((eps)^(2/(ORDER)))`

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.