Differences between revisions 3 and 4
 ⇤ ← Revision 3 as of 2006-07-23 15:19:54 → Size: 1731 Editor: penczek Comment: ← Revision 4 as of 2006-07-23 15:20:22 → ⇥ Size: 1770 Editor: penczek Comment: Deletions are marked like this. Additions are marked like this. Line 1: Line 1: ## page was renamed from filt btwhomo

# Name

filt_btwo - Butterworth homomorphic Fourier filter

# Usage

output = filt_btwo(input, low, high, value)

## Input

par1
input image (can be either real or Fourier)
par2
low - stop-band frequency
par3
high - pass-band frequency
par4
value - value of the filter at zero freqeuncy
• Numerical parameters are (unless otherwise noted) in [:absolute_frequency_units:absolute frequency units] `f_a` and their valid range is ]0:0.5].

## Output

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

# Method

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

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

• where
• `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.)

Pawel A. Penczek

category 1
FILTER
category 2
FOURIER

filter.cpp

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