<div dir="ltr"><div>The ShapeLabelObject family that Bill has mentioned includes a &quot;roundness&quot; attribute. This means that you can use AttributeOpeningLabelMapFilter to filter connected components based on roundness. Roundness is a measure based on surface area and volume. There are limitations to how well it can separate some blobs, due to the discrete nature of the surfaces, but it is a useful starting point for many applications.<br>
<br></div>Note that the wiki example does <br><pre class=""><span class=""></span><span class="">BinaryImageToShapeLabelMapFilter</span><span class=""> then </span><span class=""></span><span class="">ShapeOpeningLabelMapFilter</span><span class=""> then </span><span class=""></span><span class="">LabelMapToLabelImageFilter</span><span class=""><br>
<br></span></pre><pre class=""><span class="">The </span>AttributeOpeningLabelMapFilter does that internally - it is a helper class to avoid the need to deal with label maps directly</pre>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 19, 2013 at 7:51 AM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">But, I do think the label map tools might help find sphere... So if<br>
the blobs are spheres, then may the title is  OK. The ShapeAttributes<br>
example could be a start to detect spherical shapes.<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Dec 18, 2013 at 3:50 PM, Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt; wrote:<br>
&gt; I think the section title is a bit overzealous...<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Dec 18, 2013 at 12:01 PM, Bradley Lowekamp &lt;<a href="mailto:brad@lowekamp.net">brad@lowekamp.net</a>&gt; wrote:<br>
&gt;&gt; Bill,<br>
&gt;&gt;<br>
&gt;&gt; What is there (example/filter) that you would consider &quot;Blob detection&quot;?<br>
&gt;&gt;<br>
&gt;&gt; Brad<br>
&gt;&gt;<br>
&gt;&gt; On Dec 18, 2013, at 11:50 AM, Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; David,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This section in the ITK Wiki Examples:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Blob Detection, Labeling, and Properties<br>
&gt;&gt;&gt; <a href="http://itk.org/Wiki/ITK/Examples#Blob_Detection.2C_Labeling.2C_and_Properties" target="_blank">http://itk.org/Wiki/ITK/Examples#Blob_Detection.2C_Labeling.2C_and_Properties</a><br>
&gt;&gt;&gt; may be useful. In particular: ShapeAttributes<br>
&gt;&gt;&gt; <a href="http://itk.org/Wiki/ITK/Examples/ImageProcessing/ShapeAttributes" target="_blank">http://itk.org/Wiki/ITK/Examples/ImageProcessing/ShapeAttributes</a><br>
&gt;&gt;&gt; runs connected components on a binary image, converts it to a LabelMap<br>
&gt;&gt;&gt; and prints lots of statistics. The Elongation parameter is the  ratio<br>
&gt;&gt;&gt; of the largest principal moment to the second largest principal<br>
&gt;&gt;&gt; moment. Its value is greater or equal to 1.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, Dec 18, 2013 at 10:18 AM, Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; If you already have segmented the objects, look at Filtering/LabelMap.<br>
&gt;&gt;&gt;&gt; Look at the test: LabelMap/test/itkShapeLabelObjectAccessorsTest1.cxx<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Wed, Dec 18, 2013 at 9:10 AM, Bradley Lowekamp &lt;<a href="mailto:brad@lowekamp.net">brad@lowekamp.net</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt; Ohh, yeah there are morphology techniques too.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I believe the top-hat[1][2] filter can also be very useful for detecting dark/black spots smaller the the structuring element.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; [1] <a href="http://www.itk.org/Doxygen/html/classitk_1_1BlackTopHatImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1BlackTopHatImageFilter.html</a><br>
&gt;&gt;&gt;&gt;&gt; [2] <a href="http://www.itk.org/Doxygen/html/classitk_1_1WhiteTopHatImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1WhiteTopHatImageFilter.html</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Dec 18, 2013, at 9:05 AM, Matt McCormick &lt;<a href="mailto:matt.mccormick@kitware.com">matt.mccormick@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi Dave,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Binary morphological opening [1] may work well.  See, for example [2].<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hope this helps,<br>
&gt;&gt;&gt;&gt;&gt;&gt; Matt<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; [1] <a href="http://itk.org/Doxygen/html/classitk_1_1BinaryMorphologicalOpeningImageFilter.html" target="_blank">http://itk.org/Doxygen/html/classitk_1_1BinaryMorphologicalOpeningImageFilter.html</a><br>

&gt;&gt;&gt;&gt;&gt;&gt; [2] <a href="http://homepages.inf.ed.ac.uk/rbf/HIPR2/open.htm" target="_blank">http://homepages.inf.ed.ac.uk/rbf/HIPR2/open.htm</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Dec 18, 2013 at 8:57 AM, David Cole &lt;<a href="mailto:dlrdave@aol.com">dlrdave@aol.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Have you tried Hough transforms?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/Doxygen/html/classitk_1_1HoughTransform2DCirclesImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1HoughTransform2DCirclesImageFilter.html</a><br>

&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Not yet, but I will now, thanks very much!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; D<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; _____________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Community mailing list<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:Community@itk.org">Community@itk.org</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/community" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/community</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; _____________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _____________________________________<br>
&gt;&gt;&gt;&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Unpaid intern in BillsBasement at noware dot com<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Unpaid intern in BillsBasement at noware dot com<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Unpaid intern in BillsBasement at noware dot com<br>
<br>
<br>
<br>
--<br>
Unpaid intern in BillsBasement at noware dot com<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</div></div></blockquote></div><br></div>