<br>Hi Gopal,<br><br>Thanks for posting your images.<br><br>They are quite interesting.<br><br>ITK can provide you the low level &quot;feature detection&quot; functionalities that<br>you need here. For example : line,&nbsp; corner, crossing detection.
<br><br>All based on analyzing the parametric space of the Hessian image.<br><br>We just run a quick test with the application:<br><br>&nbsp;&nbsp;&nbsp; /InsightApplications/Curves2DExtractor/Curves2DExtractor<br><br>By loading as input image:&nbsp; 
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Output_Bottom_Left.JPG<br><br>Setting the Sigma value ( for the Hessian) to 0.8 and<br>using the following parameters in the &quot;Spatial Function&quot; panel:<br><br>Angle Z = 34.5<br>Aperture X = 18.8
<br>Aperture Y = 3<br>Apex Coordinates<br>X= 0.3<br>Y = 0<br>Z = 1<br>Top Plane = 0.05<br>Bottom Plane = 2<br><br>We put a screen shot of the results at:<br>
<br>&nbsp;&nbsp; <a href="http://public.kitware.com/pub/itk/UsersITK/Curve2DExtractor/">http://public.kitware.com/pub/itk/UsersITK/Curve2DExtractor/</a><br>
<br>
<br>The results indicate that you should be able to extract many<br>of the features, *BUT* you will need higher resolution images.<br>(Maybe 5 to 10 times higher that what you sent. This need for<br>higher resolution is related to the use of Second derivative
<br>operators in the Hessian. <br><br><br>When you click on the button : &quot;Parametric Space&quot;<br><br>You will see appearing a scatter plot of the pixel values<br>in the parametric space. Different features (lines, corners, crossings)
<br>are located in different places of this parametric space. For example,<br>Lines are located along in the plane Y=0, along the spine of a line <br>that goes from the apex of the truncated pyramid to a middle point<br>in the X axis.
<br><br><br>You will have to work out different spatial functions to capture the points<br>corresponding to every particular feature.<br><br>&nbsp;<br>&nbsp;&nbsp;&nbsp; Please let us know if you have further questions,<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks
<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br><br><br><br>-------------------------------------------------------------------------<br><div><span class="gmail_quote">On 8/5/07, <b class="gmail_sendername"><a href="mailto:gkaremore@scai.fraunhofer.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
gkaremore@scai.fraunhofer.de
</a></b> &lt;<a href="mailto:gkaremore@scai.fraunhofer.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gkaremore@scai.fraunhofer.de</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi Luis<br><br>Thanks for your comments. Please check this link :<br><br><a href="http://www.gopalrk.com/forITKCommunity.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.gopalrk.com/forITKCommunity.html
</a><br><br><br>If this link doesn´t work. Please check following.
<br><br><br>Input Image : <a href="http://www.gopalrk.com/Input_Image.jpg" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.gopalrk.com/Input_Image.jpg</a><br><br>Output Image 1: <a href="http://www.gopalrk.com/Output_left_top.jpg" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.gopalrk.com/Output_left_top.jpg
</a><br><br>Output Image 2: <a href="http://www.gopalrk.com/output_Rt_Top.jpg" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.gopalrk.com/output_Rt_Top.jpg</a><br><br>Output Image 3: <a href="http://www.gopalrk.com/Output_Bottom_Left.JPG" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.gopalrk.com/Output_Bottom_Left.JPG
</a><br><br>Please me know your comments, I will surely go through the approach we<br>discussed in previous email.<br><br>Thanks!<br><br><br>Sincerely<br>Gopal<br><br><br><br><br>Luis Ibanez wrote:<br>&gt;<br>&gt; Hi Gopal,
<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thanks for better describing your problem.<br>&gt;<br>&gt;<br>&gt; In your case, it seems that&nbsp;&nbsp;what you are segmenting<br>&gt; (rather classifying) are the symbols in the document.<br>&gt;<br>

&gt; Is that right&nbsp;&nbsp;?<br>&gt;<br>&gt; It will still help a lot if you post somewhere a representative<br>&gt; image of your problem.<br>&gt;<br>&gt;<br>&gt;<br>&gt; Before getting to a classification stage you will need to
<br>&gt; define appropriate *descriptors* that capture the uniqueness<br>&gt; of each one of the symbols.<br>&gt;<br>&gt;<br>&gt; Funny enough, you the first step is to start by considering<br>&gt; your &quot;binary&quot; image as a grayscale images, and apply for
<br>&gt; example a Hessian image filter.<br>&gt;<br>&gt; Then pass the output of&nbsp;&nbsp;Hessian filter to the EigenAnalysis<br>&gt; filter and obtain the eigen vectors and eigen values at<br>&gt; every pixel in your image.<br>
&gt;
<br>&gt; If your image is composed of letters, then you will be able<br>&gt; to &quot;detect&quot; the linear part of the letters as &quot;ridges&quot;<br>&gt; in intensity.<br>&gt;<br>&gt; You will also be able to detect the crossings between lines
<br>&gt; as regions where the two eigen values are similar.<br>&gt;<br>&gt; Look for example at:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.itk.org/HTML/Curve2DExtraction.htm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.itk.org/HTML/Curve2DExtraction.htm</a>
<br>&gt;<br>&gt; You will find the code of this application in the<br>&gt; InsightApplications checkout.<br>&gt;<br>&gt; Note that this applications is only looking for ridges,<br>&gt; and therefore uses a pattern recognition approach that
<br>&gt; is very specific to ridges.<br>&gt;<br>&gt; You may want to extend it in order to capture also<br>&gt; corners, crossings.... etc.<br>&gt;<br>&gt;<br>&gt; Do you already have a way of defining regions of interest
<br>&gt; around letters ? words ? in the document. If not, you should<br>&gt; explore a method for it.<br>&gt;<br>&gt; Given a region of interest, and having detected particular<br>&gt; features of the letter traits (ridges, corners, crossings,
<br>&gt; ends), you could use the combination of features in order<br>&gt; to distinguish some letters from others.<br>&gt;<br>&gt; for example the letter &quot;O&quot; doesn&#39;t have crossings, ends,<br>&gt; or corners), while the letter &quot;A&quot; has two crossings, two
<br>&gt; ends, one corner, and 5 segments that look like ridges.<br>&gt;<br>&gt;<br>&gt; Note that code for analyzing vasculature has a lot in common<br>&gt; with the problems that you will face when performing text<br>&gt; recognition.
<br>&gt;<br>&gt;<br>&gt; Please give it a try at the Curve2DExtractor application,<br>&gt; and let us know how it goes for you.<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Regards,<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Luis<br>&gt;<br>&gt;<br>
&gt; -------------------------------------
<br>&gt; <a href="mailto:gkaremore@scai.fraunhofer.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gkaremore@scai.fraunhofer.de</a> wrote:<br>&gt;&gt; Hello Dan<br>&gt;&gt;<br>&gt;&gt; Thanks for your effort in understanding the problem. I meant by word
<br>&gt;&gt; segmenting is not with respect to medical(or other)image processing, my
<br>&gt;&gt; application is Document image segmentation. In another words , It would<br>&gt;&gt; be<br>&gt;&gt; called as multiclass labeling problem. Please see following papers<br>&gt;&gt; related<br>&gt;&gt; to binary image segmentation.
<br>&gt;&gt;<br>&gt;&gt; Bayesian decision feedback for segmentation of binary images<br>&gt;&gt; Kadaba, S.R.; Gelfand, S.B.; Kashyap, R.L. Acoustics, Speech, and Signal<br>&gt;&gt; Processing, 1995. ICASSP-95., 1995 International Conference on
<br>&gt;&gt; Volume 4, Issue , 9-12 May 1995 Page(s):2543 - 2546 vol.4<br>&gt;&gt;<br>&gt;&gt; Strzelecki M., Segmentation of Binary Images Using Network of<br>&gt;&gt; Oscillators,<br>&gt;&gt; 2 Krajowa, Konferencja Komputerowe Systemy Rozpoznawania KOSYR 2001,
<br>&gt;&gt; 28-31<br>&gt;&gt; May 2001<br>&gt;&gt;<br>&gt;&gt; Especially papers from &quot;International Journal of Document Analysis and<br>&gt;&gt; Recognition (IJDAR) - Computer Imaging, Vision, PR and Graphics &quot;
<br>&gt;&gt;<br>&gt;&gt; My criterion to cluster is Shape:<br>&gt;&gt;<br>&gt;&gt; I want rectangular,square, and horz and verticle line component to be<br>&gt;&gt; labbled in separation to Text and graphics on the document(Under
<br>&gt;&gt; segmentation/clustering/labeling).<br>&gt;&gt;<br>&gt;&gt; currently I am trying with &quot;Feature extraction&quot; section of ITK toolbox.<br>&gt;&gt; Results are not appreciable. So looking for a different approach using
<br>&gt;&gt; ITK<br>&gt;&gt; library.<br>&gt;&gt;<br>&gt;&gt; Thanks in advance.<br>&gt;&gt;<br>&gt;&gt; Sincerely<br>&gt;&gt; Gopal<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; Dan Homerick wrote:<br>&gt;&gt;<br>&gt;&gt;&gt;Hi Gopal,
<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;I&#39;m not sure if I understand what you mean by segmenting a binary image.<br>&gt;&gt;&gt;&quot;Segmentation&quot; is typically reducing a grayscale or color image so that<br>&gt;&gt;&gt;only
<br>&gt;&gt;&gt;a few values are used, done in such a way that each color in the<br>&gt;&gt;&gt; resulting<br>&gt;&gt;&gt;image has some semantic meaning. If you&#39;re starting with a binary image,<br>&gt;&gt;&gt;there&#39;s not much segmentation that can be done.
<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;It sounds like what you really want is to cluster (unconnected)<br>&gt;&gt;&gt; components<br>&gt;&gt;&gt;of your binary image into logical objects. By what criteria do you want<br>&gt;&gt;&gt; to
<br>&gt;&gt;&gt;cluster them (spatial proximity, similarity of size, shape, other)? I<br>&gt;&gt;&gt;don&#39;t<br>&gt;&gt;&gt;think there will be a simple filter to accomplish that, but if you can<br>&gt;&gt;&gt;provide more details of what you intend to do, the mailing-list may be
<br>&gt;&gt;&gt;able<br>&gt;&gt;&gt;to provide some guidance.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;Cheers,<br>&gt;&gt;&gt; - Dan<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;On 8/2/07, <a href="mailto:gkaremore@scai.fraunhofer.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
gkaremore@scai.fraunhofer.de
</a> &lt;<a href="mailto:gkaremore@scai.fraunhofer.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gkaremore@scai.fraunhofer.de</a>&gt;<br>&gt;&gt;&gt;wrote:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Dear All
<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Does ITK help in segmenting binary images. In another words ITK
<br>&gt;&gt;&gt;&gt;segmentation library provides function to segment only gray scale and<br>&gt;&gt;&gt;&gt;color image. Will ITK helpfull in segmenting binary images in&nbsp;&nbsp;to<br>&gt;&gt;&gt;&gt;different clusters. (Tried Binary threshold filter, connected component
<br>&gt;&gt;&gt;&gt;algorithms).<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Is there any other method by which we can segment binary image in ITK.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Any comments would be appreciable.<br>
&gt;&gt;&gt;&gt;
<br>&gt;&gt;&gt;&gt;Sincerely<br>&gt;&gt;&gt;&gt;Gopal<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;Research Scholar<br>&gt;&gt;&gt;&gt;Fraunhofer Institute<br>&gt;&gt;&gt;&gt;Germany<br>&gt;&gt;&gt;&gt;_______________________________________________
<br>&gt;&gt;&gt;&gt;Insight-users mailing list<br>&gt;&gt;&gt;&gt;<a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Insight-users@itk.org</a><br>&gt;&gt;&gt;&gt;
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.itk.org/mailman/listinfo/insight-users
</a><br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Insight-users mailing list<br>&gt;&gt; <a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Insight-users@itk.org
</a><br>&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.itk.org/mailman/listinfo/insight-users</a><br>&gt;&gt;<br>&gt;
<br><br>_______________________________________________<br>Insight-users mailing list
<br><a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Insight-users@itk.org</a><br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.itk.org/mailman/listinfo/insight-users</a><br></blockquote></div><br>