File Exchange

image thumbnail

Gabor Image Features

version (56.3 KB) by Manohar
Computation of Gabor Features - Mean Squared Energy, Mean Amplitude


Updated 30 Oct 2012

View License

% PHASESYM - Function for computing gabor features of a gray-scale image
% This function calculates gabor features. Mean-squared energy & meanAmplitude
% for each scale % and orientation is returned.
% There are potentially many arguments, here is the full usage:
% [gaborSquareEnergy, gaborMeanAmplitude] = ...
% phasesym(im, nscale, norient )
%NOTE: nscale & norient are optional arguments

% However, apart from the image, all parameters have defaults and the
% usage can be as simple as:
% [gaborSquareEnergy, gaborMeanAmplitude ]= phasesym(im);
% Arguments:
% Default values Description
% nscale 5 - Number of wavelet scales, try values 3-6
% norient 6 - Number of filter orientations.
% Return values:
% msEnergy - Mean square energy
% orientation - Mean amplitude

% The convolutions are done via the FFT. Many of the parameters relate to the
% specification of the filters in the frequency plane. The values do not seem
% to be very critical and the defaults are usually fine. You may want to
% experiment with the values of 'nscales' and 'k', the noise compensation factor.
% For maximum speed the input image should have dimensions that correspond to
% powers of 2, but the code will operate on images of arbitrary size.

% References:
% Peter Kovesi, "Symmetry and Asymmetry From Local Phase" AI'97, Tenth
% Australian Joint Conference on Artificial Intelligence. 2 - 4 December
% 1997.
% Peter Kovesi, "Image Features From Phase Congruency". Videre: A
% Journal of Computer Vision Research. MIT Press. Volume 1, Number 3,
% Summer 1999
% Kuse, Manohar, Yi-Fang Wang, Vinay Kalasannavar, Michael Khan, and Nasir Rajpoot.
% "Local isotropic phase symmetry measure for detection of beta cells and lymphocytes."
% Journal of Pathology Informatics 2 (2011).
% Naik, S., et al. Automated gland and nuclei segmentation for grading of prostate and breast
% cancer histopathology. in IEEE International Symposium on Biomedical Imaging (ISBI). 2008.

% April 1996 Original Version written
% August 1998 Noise compensation corrected.
% October 1998 Noise compensation corrected. - Again!!!
% September 1999 Modified to operate on non-square images of arbitrary size.
% February 2001 Specialised from phasecong.m to calculate phase symmetry
% July 2005 Better argument handling + general cleanup and speed improvements
% August 2005 Made Octave compatible.
% January 2007 Small correction and cleanup of radius calculation for odd
% image sizes.
% May 2011 Modified by manohar kuse to for compuation of Isotropic Phase Symmetry
% Oct 2012 Modified by manohar kuse to for computation of sqare energy and mean amplitude gabor features

% Copyright (c) 2011-2012 Manohar Kuse
% European Center for Nuclear Reseach
% CERN, Geneva, Switzerland

% Copyright (c) 1996-2005 Peter Kovesi
% School of Computer Science & Software Engineering
% The University of Western Australia
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, subject to the following conditions:
% The above copyright notice and this permission notice shall be included in all
% copies or substantial portions of the Software.
% The software is provided "as is", without warranty of any kind.

Cite As

Manohar (2020). Gabor Image Features (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (10)

salar k


hou hou

Sayali Mone

I am a engineering last year student. We are doing a project in image processing which is lung cancer detection using image processing techniques.
We are in need for some help.Can you please guide us for the same.
Thank You


Hello, manohar ..

Can you please tell me that the wavelet scale is refer to what?


What's the meaning:Undefined function 'phasesym' for input arguments of type 'double'.
When I use this code,the error is above,why?


This code is very fine but can any body tell me how to get a feature vector from the two outputs...
suppose each image gives 40 "squared energy" and 40 "mean amplitude" now I want to create a [X by 230] vector to feed it to neural network where 230 are the images and X are features from each image....How can I do this




can we use this code to any image

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux