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 online 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.
 phase symmetry image 
References:
Reference:
Reference:








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:
Putative matches obtained by matchbycorrelation.m 
Inlying matches consistent with fundamental matrix 
References: