Peter KovesiCentre for Exploration TargetingSchool of Earth and Environment The University of Western Australia |
Index to Code Sections
The complete set of these functions is available as a zip file MatlabFns.zip
|
MATLABTo use these functions you will need
MATLAB and the
MATLAB Image Processing Toolbox. OctaveAlternatively you can use Octave which is a very good open source alternative to MATLAB. Almost all the functions on this page run under Octave. See my Notes on using Octave. An advantage of using Octave is that you can run it on your Android device. (I can compute phase congruency on my mobile phone!) Get Corbin Champion's port of Octave at Google play here. MATLAB/Octave compatibility of individual function is indicated as follows
I receive so many mail messages regarding this site that I have difficulty responding to them all. I will endeavor to respond to mail that directly concerns the use of individual functions. However, please note I do not have the time to provide an on-line vision problem solving service! Please report any bugs and/or suggest enhancements to Acknowledgement: Much of this site was developed while I was with the Cheers, |
Phase congruency is an illumination and contrast invariant measure of feature significance. Unlike gradient based feature detectors, which can only detect step features, phase congruency correctly detects features at all kind of phase angle, and not just step features having a phase angle of 0 or 180 degrees.
phasecongmono.m This
function computes phase congruency via monogenic filters. It has
excellent speed and much reduced memory requirements compared to the
other phase congruency functions below. Requires
filtergrid.m and
lowpassfilter.m
(Updated May 2013)
| phase symmetry image |
ppdrc.m Phase Preserving
Dynamic Range Compression. A frequency based tonemapping algorithm
suited to scientific, non-photographic images. Requires
highpassmonogenic.m
References:
Reference:
Reference:

|
|
|
|
edge linking function that forms lists of connected edge points from a
binary edge image. Needs findendsjunctions below. (Updated May 2013)
|
|
|
|
See the example below, under grey scale transformation and enhancement, for an example of the use of this function.
Reference:
![]() |
![]() |
Note that the reconstruction is only valid up to a scale factor (which can be corrected for). However the reconstruction process is very robust to noise and to missing data values. Reconstructions (up to positive/negative shape ambiguity) are possible where there is an ambiguity of pi in tilt values. Low quality reconstructions are also possible with just slant, or just tilt data alone. However, if you have full gradient information you are better off with the Frankot Chellappa algorithm below.
Reference:

perfft2.m 2D
Fourier transform of the periodic component of Moisan's "Periodic plus
Smooth Image Decomposition". I think this will become my default fft
function for images.
![]() |
![]() |
![]() Putative matches obtained by matchbycorrelation.m |
![]() Inlying matches consistent with fundamental matrix |
References:
![]() |
![]() |


