<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Thank you for your reply, Kent. I have been trying that with little success. Anyways, I'm investigating change my input to the Sobel. So let's c.</span></div><div><br><span></span></div><div><span>regards,</span></div><div><span>Emma<br></span></div><div><br></div> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Kent Ogden <ogdenk@upstate.edu><br> <b><span style="font-weight: bold;">To:</span></b> Emma Ryan <eryanvtk@yahoo.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, March 16, 2012 5:36 AM<br> <b><span style="font-weight:
bold;">Subject:</span></b> Re: [Insight-users] Sobel operator gives fat edges<br> </font> </div> <br>
<div id="yiv806035005">
<div>
<div style="margin-top:0;margin-bottom:0;">
<font face="Times New Roman" size="5">Emma,</font> </div>
<br>
<div style="margin-top:0;margin-bottom:0;">
<font face="Times New Roman" size="5">You could try applying an erosion filter to thin the edge. You have to be careful, it could 'erode' all the way through and break the connectivity. I'm not an ITK expert, but I'm sure there is an erosion filter in there somewhere, that's a very basic image processing algorithm (complemented by dilation, so you will hear them together sometimes, as in erosion/dilation).</font> </div>
<br>
<div style="margin-top:0;margin-bottom:0;">
<font face="Times New Roman" size="5">Kent</font> </div>
<br>
<div style="margin-top:0;margin-bottom:0;">
<br>
<br>
>>> Emma Ryan <eryanvtk@yahoo.com> 3/15/2012 07:18 PM >>><br> </div>
<div style="background-color:#fff;font-family:times new roman, new york, times, serif;color:#000;font-size:12pt;">
<div>
<div style="margin-top:0;margin-bottom:0;">
<span>Hi All,</span> </div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
Any guesses as to how I can address this 'fat edge' issue. Or does anybody have an idea how Matlab manages to get the thin lines ? </div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
Thank you, </div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
Emma<br> </div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<span> <br></span> </div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
</div>
<div style="font-family:times new roman, new york, times, serif;font-size:12pt;">
<div style="font-family:times new roman, new york, times, serif;font-size:12pt;">
<div dir="ltr">
<div style="margin-top:0;margin-bottom:0;">
</div><hr size="1">
<b><span style="font-weight:bold;">From:</span></b> Sergio Vera <sergio.vera@alma3d.com><br><b><span style="font-weight:bold;">To:</span></b> Emma Ryan <eryanvtk@yahoo.com><br><b><span style="font-weight:bold;">Cc:</span></b> "insight-users@itk.org" <insight-users@itk.org><br><b><span style="font-weight:bold;">Sent:</span></b> Wednesday, March 14, 2012 1:22 AM<br><b><span style="font-weight:bold;">Subject:</span></b> Re: [Insight-users] Sobel operator gives fat edges<br>
</div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
<div id="yiv806035005">
<div style="margin-top:0;margin-bottom:0;">
Have you tried CannyEdge Detection Filter? Canny always returns the thinnest edges. </div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
Hope to help Regards<br><br> </div>
<div class="yiv806035005gmail_quote">
<div style="margin-top:0;margin-bottom:0;">
On Wed, Mar 14, 2012 at 2:59 AM, Emma Ryan <span dir="ltr"><<a rel="nofollow" ymailto="mailto:eryanvtk@yahoo.com" target="_blank" href="mailto:eryanvtk@yahoo.com">eryanvtk@yahoo.com</a>></span> wrote:<br> </div>
<blockquote class="yiv806035005gmail_quote" style="margin-left:0;margin-top:0;border-left:1px #ccc solid;margin-right:0;margin-bottom:0;padding-left:0;">
<div>
<div style="font-family:times new roman, new york, times, serif;font-size:12pt;">
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
<div style="font-family:times new roman, new york, times, serif;font-size:12pt;">
<div style="margin-top:0;margin-bottom:0;">
Hi ,<br><br> I am using the sobelOperator provided in itk. The following is my code snippet. I would like to understand<br><br>1. the default setting of the sobel and<br>2. how I can tune it. There dont seem to be too many member functions to manipulate the sobel.<br>3. If I need to use Erosion filter to thin the edges, how do I design a 'line' structuring element. My code ( also added below) does not seem to allow line (which I am guessing derives from Box, line = 1-D Box)<br><br>Any help/suggestions is truly appreciated.<br><br>Thank you,<br>Emma<br><br><br>typedef itk::ConstNeighborhoodIterator<ImageType> NeighborhoodIteratorType;<br> typedef itk::ImageRegionIterator< ImageType> IteratorType;<br><br> itk::SobelOperator<PixelType, 2> sobel;<br>
sobel.SetDirection(1); <br> itk::Size<2> radius_s;<br> radius_s.Fill(1);<br> sobel.CreateToRadius(radius_s);<br><br> <br> NeighborhoodIteratorType::RadiusType radius = sobel.GetRadius();<br> NeighborhoodIteratorType it( radius, my_image, my_image->GetRequestedRegion() );<br> itk::NeighborhoodInnerProduct<ImageType> inner_product;<br><br> ImageType::Pointer output = ImageType::New();<br> output->SetRegions(my_image->GetRequestedRegion());<br> output->Allocate();<br> <br> IteratorType out(output, my_image->GetRequestedRegion());<br> <br> for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out)<br> {<br> out.Set( inner_product( it, sobel )
);<br> }<br><br> output->Update();<br> <br><br>//Erosion Structuring Element: The following fails to compile if I use '1' instead of '2'<br>typedef itk::FlatStructuringElement<2> StructuringElementType;<br> StructuringElementType::RadiusType element_radius;<br> element_radius.Fill(5);<br> <br> StructuringElementType strel = StructuringElementType::Box(element_radius);<br> </div>
</div>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
<br>
_____________________________________<br>Powered by <a rel="nofollow" target="_blank" href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br>http://www.kitware.com/opensource/opensource.html<br><br>Kitware offers ITK Training Courses, for more information visit:<br>http://www.kitware.com/products/protraining.php<br><br>Please keep messages on-topic and check the ITK FAQ at:<br>http://www.itk.org/Wiki/ITK_FAQ<br><br>Follow this link to subscribe/unsubscribe:<br>http://www.itk.org/mailman/listinfo/insight-users<br><br> </div>
</blockquote>
</div>
<div style="margin-top:0;margin-bottom:0;">
<br>
<br clear="all">
</div>
<div>
<div style="margin-top:0;margin-bottom:0;">
<br>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
--<br>Sergio Vera<br><br> Alma IT Systems<br> C/ Vilana, 4B, 4º 1ª<br> 08022 Barcelona<br> T. (+34) 932 380 592<br> <a rel="nofollow" target="_blank" href="http://www.alma3d.com">www.alma3d.com</a><br> </div>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div><br><br> </div> </div> </div></body></html>