<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hello again Bill,<BR>
&nbsp;&nbsp; Once again thanks for resolving my issue last week.&nbsp;&nbsp; As stated previously, doing as you advised &amp; using conductance (K) that is a function of the average gradient magnitude does give expected results and resolves my issue&nbsp;&nbsp;<BR>
&nbsp;&nbsp; I am now cleaning up my documentation so that other users will have an understanding how to specify conductance.&nbsp; To start, I am wondering if scaling conductance parameter by average gradient magnitude is done to extend dynamic range of filters using gradient magnitudes?&nbsp;&nbsp; Also I do agree with you that it can be an advantage that the itk class as written is independent of intesity range; however in our case the user will clearly know the intensity magnitude and therefore have a good idea of gradient magnitude of the boundary across which there should be little/no diffusion.&nbsp; Yet the user will not know the average gradient magnitude in the image.&nbsp;&nbsp; I have used itkGradientMagnitudeImageFilter to get gradient magnitudes in order to determine the average gradient magnitude (that confirmed what you told me that in the test image that I sent you the mean gradient magnitude was 0.0005).&nbsp;&nbsp; I am wondering if there is a public function that gives this mean or did you do essentially what I did to determine the mean gradient magnitude?&nbsp;<BR>
<BR>
Regards,<BR>
&nbsp; Michael<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: Bill Lorensen [<A HREF="mailto:bill.lorensen@gmail.com">mailto:bill.lorensen@gmail.com</A>]<BR>
Sent: Wed 12/2/2009 10:22 AM<BR>
To: O'Connor, Michael<BR>
Cc: Luis Ibanez; insight-users@itk.org<BR>
Subject: Re: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter<BR>
<BR>
The advantage of the itk class is that the conductance you provide is<BR>
independent of the image intensity range.<BR>
<BR>
On Wed, Dec 2, 2009 at 10:12 AM, O'Connor, Michael<BR>
&lt;Michael.OConnor@umassmed.edu&gt; wrote:<BR>
&gt; Hello Bill and Luis,<BR>
&gt;&nbsp;&nbsp;&nbsp; With conductance = 6 the ITK data output do compare well with MATLAB.<BR>
&gt; Thanks for your help.<BR>
&gt;<BR>
&gt; Regards,<BR>
&gt;&nbsp;&nbsp;&nbsp; Mike<BR>
&gt;<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: Bill Lorensen [<A HREF="mailto:bill.lorensen@gmail.com">mailto:bill.lorensen@gmail.com</A>]<BR>
&gt; Sent: Wed 12/2/2009 12:03 AM<BR>
&gt; To: O'Connor, Michael<BR>
&gt; Cc: Luis Ibanez; insight-users@itk.org<BR>
&gt; Subject: Re: [Insight-users] Problem implementing<BR>
&gt; GradientAnisotropicDiffusionImageFilter<BR>
&gt;<BR>
&gt; The average gradient in your data is about .0005.&nbsp; So the conductance<BR>
&gt; of the itk code should be about the matlab conductance / .0005 which<BR>
&gt; is about .003 / .0005 = 6.<BR>
&gt;<BR>
&gt; Try a conductance of 6&nbsp; without scaling your data and see how it compares.<BR>
&gt;<BR>
&gt; Bill<BR>
&gt;<BR>
&gt;<BR>
&gt; On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen &lt;bill.lorensen@gmail.com&gt;<BR>
&gt; wrote:<BR>
&gt;&gt; In itk, the K divisor is average_gradient_squared *<BR>
&gt;&gt; conductance_squared. I suspect that accounts for some of the<BR>
&gt;&gt; difference.<BR>
&gt;&gt;<BR>
&gt;&gt; On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael<BR>
&gt;&gt; &lt;Michael.OConnor@umassmed.edu&gt; wrote:<BR>
&gt;&gt;&gt; Hello Luis,<BR>
&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The pixel spacing is .2 mm.&nbsp;&nbsp; I did not SetSpacing in ITK code.<BR>
&gt;&gt;&gt; Thanks for the insight.&nbsp;&nbsp; I will check that out.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Regards,<BR>
&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; Michael<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; -----Original Message-----<BR>
&gt;&gt;&gt; From: Luis Ibanez [<A HREF="mailto:luis.ibanez@kitware.com">mailto:luis.ibanez@kitware.com</A>]<BR>
&gt;&gt;&gt; Sent: Tue 12/1/2009 7:56 PM<BR>
&gt;&gt;&gt; To: O'Connor, Michael<BR>
&gt;&gt;&gt; Cc: Bill Lorensen; insight-users@itk.org<BR>
&gt;&gt;&gt; Subject: Re: [Insight-users] Problem implementing<BR>
&gt;&gt;&gt; GradientAnisotropicDiffusionImageFilter<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; Hi Michael,<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; What is the pixel spacing of your image ?<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; I believe that the ITK implementation may<BR>
&gt;&gt;&gt; be taking the pixel spacing into account<BR>
&gt;&gt;&gt; when using the value of conductance.<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; Please let us know,<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt; ------------------------------------------------------------------<BR>
&gt;&gt;&gt; On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael<BR>
&gt;&gt;&gt; &lt;Michael.OConnor@umassmed.edu&gt; wrote:<BR>
&gt;&gt;&gt;&gt; Hi Bill,<BR>
&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; I use the exact same file with ITK (the one attached to the previous<BR>
&gt;&gt;&gt;&gt; email with MATLAB code).<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; Regards,<BR>
&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; Michael<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; -----Original Message-----<BR>
&gt;&gt;&gt;&gt; From: Bill Lorensen [<A HREF="mailto:bill.lorensen@gmail.com">mailto:bill.lorensen@gmail.com</A>]<BR>
&gt;&gt;&gt;&gt; Sent: Tue 12/1/2009 4:17 PM<BR>
&gt;&gt;&gt;&gt; To: O'Connor, Michael<BR>
&gt;&gt;&gt;&gt; Cc: insight-users@itk.org<BR>
&gt;&gt;&gt;&gt; Subject: Re: [Insight-users] Problem implementing<BR>
&gt;&gt;&gt;&gt; GradientAnisotropicDiffusionImageFilter<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; Can you provide a png file or meta file, or whatever file you tried with<BR>
&gt;&gt;&gt;&gt; itk?<BR>
&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt; On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael<BR>
&gt;&gt;&gt;&gt; &lt;Michael.OConnor@umassmed.edu&gt; wrote:<BR>
&gt;&gt;&gt;&gt;&gt; Hi Bill,<BR>
&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks.&nbsp;&nbsp; Attached is simple MATLAB test code&nbsp; + the MATLAB filter<BR>
&gt;&gt;&gt;&gt;&gt; function used (Dr. Guy Gilboa's code).&nbsp;&nbsp; I've also take the liberty of<BR>
&gt;&gt;&gt;&gt;&gt; attaching a test image (specifically opened in MATLAB code).&nbsp;&nbsp; The test<BR>
&gt;&gt;&gt;&gt;&gt; image is 400x400 float with background = 0.024 + additive Gaussian<BR>
&gt;&gt;&gt;&gt;&gt; Noise<BR>
&gt;&gt;&gt;&gt;&gt; and<BR>
&gt;&gt;&gt;&gt;&gt; foreground (circle) = 0.031 + additive Gaussian Noise.&nbsp;&nbsp; As said<BR>
&gt;&gt;&gt;&gt;&gt; previously<BR>
&gt;&gt;&gt;&gt;&gt; MATLAB code seems to work as expected as shown in plot.&nbsp;&nbsp; In ITK there<BR>
&gt;&gt;&gt;&gt;&gt; is<BR>
&gt;&gt;&gt;&gt;&gt; no<BR>
&gt;&gt;&gt;&gt;&gt; similar intraregion filtering (i.e. filtered image ~ input )<BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;&gt;&gt; Regards,<BR>
&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp; Michael<BR>
&gt;&gt;&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;&gt;<BR>
&gt;&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>