<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV>Dear All: </DIV>
<DIV>&nbsp;</DIV>
<DIV>I am going through the example code of itkMRFImageFilter, but I have two questions.</DIV>
<DIV>&nbsp;</DIV>
<DIV>1,&nbsp; ScalarImageMarkovRandomField1.cxx&nbsp; require the reference labled image as input;<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp; typedef itk::ImageFileReader&lt; LabelImageType &gt; LabelReaderType;<BR>&nbsp; &nbsp;LabelReaderType::Pointer labelReader = LabelReaderType::New();<BR>&nbsp;&nbsp; labelReader-&gt;SetFileName( inputLabelImageFileName );</DIV>
<DIV>&nbsp;</DIV>
<DIV>but in the example code, there is no code like&nbsp;&nbsp; labelReader-&gt;GetOutput(), seems the inputlabled image is never used, why?</DIV>
<DIV>&nbsp;</DIV>
<DIV>2, the example code calculated the meandistance as </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; double meanDistance = 0;<BR>&nbsp; vnl_vector&lt;double&gt; centroid(1); <BR>&nbsp; for( unsigned int i=0; i &lt; numberOfClasses; i++ )<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; &nbsp;MembershipFunctionPointer membershipFunction = <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MembershipFunctionType::New();</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; centroid[0] = atof( argv[i+numberOfArgumentsBeforeMeans] ); </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; membershipFunction-&gt;SetCentroid( centroid );</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; classifier-&gt;AddMembershipFunction( membershipFunction );<BR>&nbsp;&nbsp;&nbsp; &nbsp;meanDistance += static_cast&lt; double &gt; (centroid[0]);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; meanDistance /= numberOfClasses;</DIV>
<DIV>&nbsp;</DIV>
<DIV>So if my inputimage is vector image, should I get the mean&nbsp;distance &nbsp;like sqrt(&nbsp;sum(centroid[NumberofCompoents)).</DIV>
<DIV>&nbsp;</DIV>
<DIV>But finally, the meanditance is only used:</DIV>
<DIV>&nbsp;</DIV>
<DIV>for(std::vector&lt; double &gt;::iterator wIt = weights.begin(); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wIt != weights.end(); wIt++ )<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; *wIt = static_cast&lt; double &gt; ( (*wIt) * meanDistance / (2 * totalWeight));<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp; mrfFilter-&gt;SetMRFNeighborhoodWeight( weights );</DIV>
<DIV>&nbsp;</DIV>
<DIV>It looks to me the meanDistance has no effect on the result since all the neiborhood weight mutiple by same scale meanDistance.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Can somebody teach me more..</DIV>
<DIV>&nbsp;</DIV>
<DIV>Baoyun</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR>
<DIV style="FONT-SIZE: 13px; FONT-FAMILY: arial, helvetica, sans-serif"><FONT face=Tahoma size=2>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> Luis Ibanez &lt;luis.ibanez@kitware.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> Baoyun Li &lt;baoyun_li123@yahoo.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">Cc:</SPAN></B> insight-users@itk.org<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Saturday, March 21, 2009 12:35:48 PM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: can itkMRFImageFilter discard the intensity information<BR></FONT><BR><BR>Hi Baoyun,<BR><BR><BR>Please take a look at the example:<BR><BR>&nbsp; Insight/Examples/Statistics/<BR>&nbsp; &nbsp; &nbsp; ScalarImageMarkovRandomField1.cxx<BR><BR>You may find it to be a useful guide on how to use the MRF filter.<BR><BR>I'm not sure what you mean by "using the intensity information".<BR>Could you please explain this in more detail ?<BR><BR>A piece of source code will be great.....<BR><BR><BR>&nbsp; &nbsp; Thanks<BR><BR><BR>&nbsp; &nbsp; &nbsp; &nbsp;
 Luis<BR><BR><BR><BR>------------------<BR>Baoyun Li wrote:<BR>&gt; Dear All:<BR>&gt;&nbsp; After going through the documents for itkMRFImageFilter, I have some doubts about using the intensity information.<BR>&gt;&nbsp; I understand the filter using Gassian model to relabel the segmeantion image. But why?<BR>&gt;&nbsp; In otherwords, if I have already got ok segmeantion result based EM Gaussian Mixuture model, thus I only need hMRF to take care of the continous of the labled segmetation. Seem reclassify the image based on Gassuian model is redundent or make the segmentation worse if I blieved my initial segmentation.<BR>&gt;&nbsp; If there anyway to ignore using the intensity information.<BR>&gt;&nbsp; Or I am fundmentally wrong, say that using intensity information certainly can improve the performance.<BR>&gt;&nbsp; Can somebody teach me?<BR>&gt;&nbsp; Best regards<BR>&gt;&nbsp; Baoyun<BR>&gt; <BR></DIV></DIV></div><br>

      </body></html>