[Insight-users] Distinguishing distinct thresholded features

Chris Farmer cfarmer at scitegic.com
Wed Dec 21 13:11:04 EST 2005


Hi Zach and Gaetan,

Thanks for the pointers.  I like to think I understand your suggestions,
but the imaging nomenclature is still new to me (and almost everyone
else at my company... doesn't bode well for the final product, eh? :) )
and I think that makes it trickier to communicate.  It's getting
there...

I do feel relatively comfortable with the itk model, so I'll attack this
problem first by manually dealing with the output from the
ConnectedComponentImageFilter.  I didn't even know this filter existed,
so I clearly need to curl up with a copy of the software guide.  I'll
probably hit the list again when I find another snag.

Thanks for all the detailed suggestions.


Chris



 

-----Original Message-----
From: Zachary Pincus [mailto:zpincus at stanford.edu] 
Sent: Wednesday, December 21, 2005 9:59 AM
To: Chris Farmer
Cc: Insight Users
Subject: Re: [Insight-users] Distinguishing distinct thresholded
features

Hi folks -

Sorry, I didn't realize that the LabelStatistics filter computed  
bounding regions -- I scanned the documentation too briefly.

So, if you wanted to extract all of the different connected  
components from one binary image into individual images, here's an  
approach which would require minimal extra coding:

[binary image] -> ConnectedComponentImageFilter -> [label image] - 
 >RelabelComponentImageFilter -> [label image with consecutive  
labels] -> LabelStatisticsImageFilter -> [a bunch of different  
regions] -> ExtractImageFilter (repeatedly applied) -> [a bunch of  
different label images] -> ThresholdImageFilter -> [a bunch of  
separated binary images]

This process could be drastically simplified with some modifications  
to ConnectedComponentImageFilter, or by iterating through the output  
of that filter and building up the region bounding boxes yourself.  
This would be extremely easy. (Let me know if you want more guidance  
on that.)

Alternately, to create a PointSet, you would just iterate through the  
output of the ConnectedComponentImageFilter and add each labeled  
point to a corresponding PointSet. This would also be very easy.

Zach



More information about the Insight-users mailing list