Code covered by the BSD License  

Highlights from
Fast 3D/2D Region Growing (MEX)

5.0

5.0 | 3 ratings Rate this file 100 Downloads (last 30 days) File Size: 4.99 KB File ID: #41666
image thumbnail

Fast 3D/2D Region Growing (MEX)

by

 

06 May 2013 (Updated )

A very fast 2D and 3D region growing algorithm implemented in c++.

| Watch this File

File Information
Description

Native Matlab implementations of region growing algorithms are usually quite slow, especially for 3D input data. This submission is a mex implementation of a 3D/2D region growing algorithm. The region growing process is further accellereated by using priority queues for the neighbourhood pixels.
Example usage (requires image processing toolbox):

>> load mri
>> RegionGrowing(squeeze(D), 10);

This syntax opens a GUI for the selection of the seed point and visualizes the output. Fur further syntaxes see the header of the RegionGrowing.m file.

Required Products Image Processing Toolbox
MATLAB release MATLAB 8.2 (R2013b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
05 Jul 2014 João Ribeiro

Hi Christian!
I got this error! Can you help me?! Thank you very much. :)

Trying to compile mex file...Error: Could not detect a compiler on local system
which can compile the specified input file(s)
Error using RegionGrowing (line 67)
Could not compile the mex file :(. Please try to do so manually!

28 Apr 2014 syed umar

When I pressed run, i got this error :Please define one of the current images
Please tell me how to solve this as I am a bit new to matlab. Please help. Thank you.

05 Mar 2014 Michael Völker

This is well done!

I have a minor suggestion for the visualization of the result (nargout == 0). For large No. of slices in a 3D data set, the output of montage() is very hard to grasp. My suggestion is to present only image slices that are part of the segmented volume:

Below line 89, add
% reduce montage size by selecting the interesting slices, only
slices = squeeze( sum(sum( dMask(:,:,1,:) ,1),2) > 0 );

And change line 90 to:
figure, montage(dImg(:,:,:,slices));

02 Dec 2013 Maxim  
24 May 2013 Christian Wuerslin

Hi Chris,

actually there is nothing really new in this algorithm. I only decided to trade a little bit of accuracy for a lot of speed. This is done by using the differen queues which can be regarded as intensity difference bins. I saw a similar approach in a paper by Johan Berglund (2010 in "Magn Reson Imaging") in a slightly differen context, however, I do not know whether he came up with it himself.

Christian

23 May 2013 Chris Walker

Nice work Christian. Did you develop the algorithm yourself? Will it appear as a published article?
Chris W

Updates
13 May 2013

Minor bugfix, corrected documentation errors.

19 Mar 2014

Added changes requested (and kindly supplied) by Michael

Contact us