Code covered by the BSD License  

Highlights from
Shape Context Based Corresponding Point Models

4.6 | 8 ratings Rate this file 93 Downloads (last 30 days) File Size: 18.5 MB File ID: #30845 Version: 1.1
image thumbnail

Shape Context Based Corresponding Point Models


Dirk-Jan Kroon (view profile)


24 Mar 2011 (Updated )

Shape Context based nonrigid registration of 2D/3D objects, to build Active Shape Models

| Watch this File

File Information

Shape Context is a method to get an unique descriptor (feature vector) for every point of an object contour or surface. This descriptor is used in combination with a b-spline free form deformation grid, for fully automatic creation of point mappings between surfaces of patient datasets (2D/3D).

The 2D Example will create a corresponding point model (PCM) for a set of 10 2D hand contours.

The 3D Example will create a PCM for a set of 10 3D jaw triangulated surfaces.

There are also examples using the PCM's to train and use 2D/3D Active Shape Models (ASM) and Active Appearance Models (AAM). (folder "ActiveModels_version7")

The 2D example takes a couple of minutes. The 3D-example about 7 hours, and requires 64bit Matlab.

The non-rigid mapping between datasets is kept Diffeomorphic to prevent mesh folding. But the optimizer doesn't succeeded in all cases of the 3D-example (maybe in next update)

- The examples, will compile some c-coded functions into MEX files. In case of failure slower Matlab coded functions will be used.
- Most functions in this zip-archive are also available as standalone files on the File-Exchange, and can be newer/updated.

MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (14)
15 Sep 2015 Silvia Wognum

When running the 2D example of ActiveModels_version7, I get an error message:

Undefined function or variable 'interp'.

Error in LoadDataSetNiceContour (line 21)
pointsx=interp(p.x,r); pointsx=pointsx(1:end-r+1);

Error in ASM_2D_example (line 60)

Could it be that the function "interp" doesn't exist in Matlab 2015?

Instead, I tried to use the results of the asm example of creating the training set, but failed.

I hope you can help me solve this problem. I would like to use this example in my lecture on active shape models.


Comment only
21 Oct 2013 Dirk-Jan Kroon

Dirk-Jan Kroon (view profile)

Please, look for the references in:

Comment only
21 Oct 2013 WONG

WONG (view profile)

hello.can you tell me the original paper you referred to when writing the programs"Shape Context Based Corresponding Point Models".

19 Feb 2013 Mark Sena

Trying to run on OSX 10.7.5, but getting the error:
/Applications/ line 305: gcc-4.2: command not found
-> gcc-4.2 -c -I/Applications/ -I/Applications/ -DMATLAB_MEX_FILE -fno-common -no-cpp-precomp -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.5 -fexceptions -DMX_COMPAT_32 -O2 -DNDEBUG "Features2CostMatrix.c"

/Applications/ line 1326: gcc-4.2: command not found

mex: compile of ' "Features2CostMatrix.c"' failed.

Any help is appreciated.
Can't wait to use it!

06 Oct 2012 Xiangqi  
06 Oct 2012 Xiangqi

Thank you for providing the code.

I am trying to use the ShapeContext function. It seems that the demo data "testdata.mat" in the folder "ShapeContext_version2" doesn't contain the correct data.

24 Apr 2012 Dirk-Jan Kroon

Dirk-Jan Kroon (view profile)

Knnsearch is part of the "Statistics Toolbox" of Matlab. Maybe you can find a similar but free implementation on the File Exchange

Comment only
24 Apr 2012 Birgit

Birgit (view profile)

When I run BuildingModels\Example3D the function createns(), knnsearch() and maybe others called by Horn_Align_ICP are missing. Could the deliver be incomplete?

Comment only
24 Apr 2012 Birgit

Birgit (view profile)

18 Feb 2012 Li Cheng

Li Cheng (view profile)

I found MATLAB code for active contours model in 1998 for a long time. Then found it. Really a good job!

23 Sep 2011 l.l.

l.l. (view profile)

Hi! I don't understand how to set landmarks on my 3D dataset. I have to manually fix them on each image?
Thanks in advance and I apologize if the claim proves foolish.

Comment only
10 Jun 2011 M M

M M (view profile)

how long should the 2D example take to run?

Comment only
10 May 2011 wang

wang (view profile)

why I can not download it?

24 Mar 2011 Sebastien PARIS

Sebastien PARIS (view profile)

A master piece ...

26 Jan 2012 1.1

Many bugs solved. Less memory usage.

Contact us