No BSD License  

Highlights from
fast SUSAN feature detection and non-linear filter

3.33333

3.3 | 3 ratings Rate this file 41 Downloads (last 30 days) File Size: 4.26 KB File ID: #11723

fast SUSAN feature detection and non-linear filter

by Gabriel Mitchell

 

18 Jul 2006 (Updated 19 Jul 2006)

a fast implementation of the SUSAN feature detector by non-linear filter

| Watch this File

File Information
Description

This is a fast implementation of the SUSAN feature detection algorithm described at:

www.fmrib.ox.ac.uk/~steve/susan/

Also included is a general purpose non-linear filter based on the differences in intensities in a neighborhood. Any implementation of the SUSAN algroithm will require some kind of non-linear filter, so you may use this one if you don't have one already.

You will have to compile (this is what makes it fast) nlDiffFilter.f90 with mexf90.f90 to run everything else. I got some warnings from the compilaer about using the -fast option, but this hasn't been a problem.

You may try running demoSUSAN.m in debug mode to get a feel for how everything works.

MATLAB release MATLAB 7.0.1 (R14SP1)
Other requirements You will need a fortran90 compiler, although it could probably be modified forfortran 77 with some work. But if you were going to do this you might as well write your own version in C.
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (12)
23 Aug 2006 Peter Staab

Hello,
Can you please give me a short tutorial on how to compile the fortran file?
Thanks,

23 Aug 2006 Peter Staab

In line 34 (tempA(1+r1:m+1+r1,1+r2:1+n+r2) = A ) in "nlDiffFilter.f90" an exception is raised when I run your demo code.

13 Nov 2006 rox ddd  
03 Jul 2007 tong qing-bin  
02 Nov 2007 lin ling

HOW DO YOU DO!

02 May 2010 Anthony

I'd really like to use this, however, as others have mentioned I can't find a way to compile the Fortran file. Any advice?

17 May 2010 Anthony  
04 Jun 2010 Yu Yanan

What is the type of noiseI as the input image?

21 Apr 2011 suruchi goel

I am unable to use this package. Please explain the compilation of .f90 file.
Do i have to install some compiler ..??
Waiting for your kind reply.
Thanks

09 Sep 2011 Madeena Sultana

I am also unable to use this package. How to compile fortran files in MATLAB? Please help.

26 Nov 2011 Richa Sharma

I am not able to compile the code in matlab.Error I get is:
Undefined function or method 'nlDiffFilter' for input arguments of type 'double'.

Error in ==> getUSAN at 38
U = nlDiffFilter(A,table,mask)/maxResponse;

Error in ==> SUSAN at 30
USAN = getUSAN(A,maxInt,sigma,thresh,width);

Error in ==> demoSUSAN at 6
[U,V] = SUSAN(noiseI,255,2,64,.55,2);

24 Mar 2012 Ahmed Farrag

It took me a lot of time to compile this mex, so I'm sharing my experience here to spare people what I went through.

My configuration:
MATLAB 2011a running on a 32-bit Windows 7

How to compile the FORTRAN file:
================================
1- Download GNUMEX
sourceforge.net/projects/gnumex/

2- Download and install MINGW (as required by GNUMEX)

3- Copy mexinterface_c.f90 from gnumex/examples to zipSUSAN

4- Modify nlDiffFilter.f90 as follows:
a. Replace
use mexf90
with
use mexinterface

b. Replace
A => mxGetPr(prhs(1))
with
call c_f_pointer(mxGetPr(prhs(1)),A)

c. Replace
table => mxGetPr(prhs(2))
with
call c_f_pointer(mxGetPr(prhs(2)),table)

d. Replace
mask => mxGetPr(prhs(3))
with
call c_f_pointer(mxGetPr(prhs(3)),mask)

e. Replace
B => mxGetPr(plhs(1))
with
call c_f_pointer(mxGetPr(plhs(1)),B)

5- In MATLAB navigate to GNUMEX folder (as instructed in GNUMEX's readme) and run gnumex from MATLAB's prompt. (configure the compiler to be gfortran).

6- Navigate to zipSUSAN and issue the following 2 commands:
mex -c mexinterface_c.f90
mex nlDiffFilter.f90

Done.
================================

Now run demoSUSAN :)

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
image analysis Gabriel Mitchell 22 Oct 2008 08:32:43
susan Gabriel Mitchell 22 Oct 2008 08:32:43
non linear filter Gabriel Mitchell 22 Oct 2008 08:32:43
edge detection Gabriel Mitchell 22 Oct 2008 08:32:43
feature de Gabriel Mitchell 22 Oct 2008 08:32:43
corner detection Gabriel Mitchell 22 Oct 2008 08:32:43
corner detection TSAO Tsao 25 Jan 2010 22:57:24
susan seyedali cheraghi 14 Aug 2011 13:33:37
edge detection Madeena Sultana 09 Sep 2011 09:20:37

Contact us at files@mathworks.com