Examples

Test images

save cover image #src

card-cover-image

save cover image #src

card-cover-image

save cover image #src

card-cover-image

The step2line() function generates a phase congruent test image where angle at which the congruency occurs is interpolated from 0 at the top of the image to pi/2 at the bottom. This produces an interpolation of feature type from step edge to line. The point being that phase congruency at any angle produces a feature and the angle at which the congruency occurs defines the feature type. Gradient based edge detectors will only correctly mark the step-like feature towards the top of the image an...

card-cover-image

Misc

The function perfft2() implements Moisan's "Periodic plus Smooth Image Decomposition" which decomposes an image into two components

card-cover-image

Phase congruency

Use of the function phasecong3() allows corner points to be detected as well. These corner points are a subset of the edge image and, unlike other corner detectors, their location is precise and stable over different scales.

card-cover-image

Phase congruency marks all classes of features from steps to lines and is a dimensionless quantity that ranges from 0 to 1. This allows fixed thresholds to be used over wide classes of images.

card-cover-image

Phase symmetry responds well to line like features and circular objects. The number of filter scales will affect the scale of features that are marked. Phase symmetry marks features independently of contrast (a bright circle is not more symmetric than a grey circle) and is a dimensionless quantity between 0 and 1. However this may not be what one desires in which case the symmetry energy may be of greater interest.

card-cover-image

save cover image #src

card-cover-image

An example using the 16 bit M51 image. Phase preserving dynamic range compression allows the scale of analysis to be controlled. Here we process the image at wavelengths up to 50 pixels and up to 200 pixels. Longer wavelengths allow larger structures to be seen. Small wavelengths allow fine structures to be seen. Note the image size is (510, 320).

card-cover-image

Phase values in an image are important. However, despite this, phase can be quantized very heavily with little perceptual loss. It can be quantized to a few as four levels, or even three. Quantizing to two levels still gives an image that can be interpreted.

card-cover-image

A demonstration of the importance of phase information in images. Given two imagesswapphase() takes their Fourier transforms and constructs two new, synthetic, images formed from the swapped phase and amplitude imformation. In general it is the phase information that dominates. However, for textures where the amplitude spectra can be concentrated in a limited set of locations, the reverse can apply.

card-cover-image