<div>hi Luis</div>
<div> </div>
<div>Thanks a alot for the detailed explanation. Well i am working since the beginning of october with ITK and Level set segmentation. But i am still new to ITK an also improving my C++.</div>
<div> </div>
<div>First i have worked with the examples given in the software guide I also used insight applications to tune the pramaters for my data individualy then last noght i connected this pipeline togehter with this tuned parameters and it worked really well i can say the the best one till know for my application which is bone segmentation in MRI.
</div>
<div> </div>
<div>But i actually want to confirm if i can use a pipeline like this . It made sense to me and i am using only one seed point and still getting very good segmentation results. Thanks a lot Luis for your help right now i will check the part of the code
</div>
<div> </div>
<div>Cheers</div>
<div>ilker<br><br> </div>
<div><span class="gmail_quote">On 12/19/05, <b class="gmail_sendername">Luis Ibanez</b> <<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Hi Ilker,<br><br>Yes,<br>you could try a Level Set Pipeline like this one.<br><br>Note however that when you connect the feature image to the
<br>ThresholdSegmentation Level Set filter what it will do with<br>it is to compute its laplacian and multiply it by a factor<br>(that you must provide) "EdgeWeight" and will add it to the<br>threshold contribution in order to compute a final speed image.
<br><br>You may want to look at the code in:<br><br><br> Insight/Code/Algorithms<br> itkThresholdSegmentationLevelSetFunction.txx<br><br>in lines 31-88 in order to get familiar with the actual operation<br>of the filter.
<br><br><br><br>Take into account that you will have *a lot* of intermediate<br>parameters to fine tune on each of the filters involved.<br><br>I would strongly suggest to to go step by step, fine tunning<br>the parameters of every stage of your pipeline before you add
<br>the next stage.<br><br><br>For example<br><br>a) Make sure that the output of the Sigmoid looks almost like<br> a binary image, before you attempt to connect the output to<br> the FastMarching filter.<br><br>b) Make sure that you select many seeds close to the medial line
<br> of the object to be segmented, and you pass them to the Fast<br> Marching filter. Make sure that the output of Fast Marching<br> is satisfactory before you attempt to pass it to the Threshold<br> segmentation filter.
<br><br>c) Fine tune first the threshold values of the Threshold segmentation<br> image filter, and then adjust the value of the EdgeWeight parameter.<br> Make sure that you get a reasonable segmentation before you pass it
<br> to the Geodesic active contour filter.<br><br>d) Fine tune the three weights of the GeodesicActiveContour filter.<br> If you did a good job in steps (a-c) you will not need a lot of<br> propagation weight, because the level set should already be quite
<br> close to the borders of your image. So probably you could focus<br> on the Advection weight and the Curvature weight.<br><br><br>Note: You *really* need an intermediate visualizatoin, different from<br>just writing images to files. If you don't use an intermediate
<br>visualization It will take you *a long* time to fine tune all those<br>twenty or so parameters in your pipeline.<br><br><br>Regards,<br><br><br> Luis<br><br><br><br><br><br>--------------------------<br>ilker hacýhaliloðlu wrote:
<br>> hi all<br>><br>> i am using the level segmentation methods i am just wondering if i can<br>> construct a pipeline like this one ??<br>><br>><br>><br>> smoothing->SetInput( reader->GetOutput() );
<br>><br>> gradientMagnitude->SetInput( smoothing->GetOutput() );<br>><br>> sigmoid->SetInput( gradientMagnitude->GetOutput() );<br>><br>> fastMarching->SetInput( sigmoid->GetOutput() );
<br>><br>> thresholdSegmentation->SetInput( fastMarching->GetOutput() );<br>><br>> thresholdSegmentation->SetFeatureImage( reader->GetOutput() );<br>><br>> geodesicActiveContour->SetInput( thresholdSegmentation->GetOutput() );
<br>><br>> geodesicActiveContour->SetFeatureImage( sigmoid->GetOutput() );<br>><br>> thresholder->SetInput( geodesicActiveContour->GetOutput() );<br>><br>> writer->SetInput( thresholder->GetOutput() );
<br>><br>><br>><br>> --<br>> ------------------------------------------------------------------<br>><br>> '.....ich möchte mir eine ader öffnen, die mir die ewige freiheit<br>> schaffte....'<br>>
<br>> --------------------------------------------------------------------<br>><br>><br>> ------------------------------------------------------------------------<br>><br>> _______________________________________________
<br>> Insight-users mailing list<br>> <a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>> <a href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users
</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>------------------------------------------------------------------<br><br>'.....ich möchte mir eine ader öffnen, die mir die ewige freiheit schaffte....'<br><br>
--------------------------------------------------------------------