# Name

filt_tano - hyperbolic tangent homomorphic Fourier filter

# Usage

output = filt_tano(image, freq, fall_off, value, pad)

## Input

- image
- input image (can be either real or Fourier)
- freq
- pass-band frequency
- fall_off
- fall off of the filter
- 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).

All frequencies are in absolute frequency units ``f_a`` and their valid range is [0:0.5].

## 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 hyperbolic tangent filter:

``H(f) = 1.0-(1.0-value)**0.5{tanh[(pi(f+f_L)/(2af_L))]-tanh[(pi(f-f_L)/(2af_L))]}``

where ``f_L`` if the the stop-band frequency (* freq*) and a is the filter fall-off (

*).*

**fall_off**

# Reference

Basokur, A. T., 1998. Digital filter design using the hyperbolic tangent functions. Journal of the Balkan Geophysical Society 1, 14-18.

# Author / Maintainer

Pawel A. Penczek

# Keywords

- category 1
- FILTER
- category 2
- FOURIER

# Files

filter.py

# Maturity

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

# Bugs

None. It is perfect.