<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hi Thanos,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">segmentation is not a trivial task, and usually requires a lot of user intervention/interaction to achieve a satisfactory result.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Completely segmenting one case, and then registering other cases to the segmented one and transferring labels is called atlas segmentation.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">To figure out proper registration parameters, you could play with BRAINSFit module of 3D Slicer (<a href="https://www.slicer.org/wiki/Modules:BRAINSFit">docs</a>), which is built on top of ITK and provides a nice user interface with significant number of options to tweak.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">For B-Splines, common number of grid points are up to maybe 13x13x13. Since you have a high frame rate, you would probably benefit from initializing registration of time point n+1 by resulting transform from time point n.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Regards,</div><div class="gmail_default"><font face="verdana, sans-serif">Dženan Zukić, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.)</font></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 27, 2017 at 8:08 AM, thanos thanos <span dir="ltr"><<a href="mailto:thanosxania@gmail.com" target="_blank">thanosxania@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone,<div><br></div><div>The past months I have been working on tasks of Segmentation and Registration of 4D ultrasound images so I can eventually do a proper Cardiac Deformation analysis. Unfortunately I am struggling on my own to solve these problems so I still haven't found a proper workflow and this is why I am posting here in case someone has a suggestion or a recommendation.</div><div><br></div><div>For the acquisition of my data, a pig heart was placed inside a water tank with the 4D transducer on the bottom of the tank (the apex of the heart was about 5 cm from the transducer) and with around 50 volumes per second I obtained images of 120x90x80, that after masking I ended up with volumes of 75x70x52 (x,y,z).</div><div><br></div><div>So far, I use Curvature Anisotropic Diffusion using the ITK libraries in order to perform an automatic segmentation using Active Contours (with Matlab). I filtered my data, mostly to assist my 2D segmentation algorithm, which I perform slice by slice on the z axis. I obtain a 3D model using the isosurfaces.</div><div><br></div><div>Then I tried both the Demons registration and the Bsplines registration on the 3D volumes. I tried both on the original (unsegmented) data and two segmented volumes, but I can not say that I am quite satisfied with any of the results.</div><div><br></div><div>So my questions are the following : <br>1) Is it necessary to perform segmentation before the registration since my heart is placed in a water tank, so there are no other organs around?</div><div>2) Should the registration be done on the filtered or the unfiltered data?</div><div>3) I am not satisfied at all with my segmentation algorithm since active contours are quite sensitive to noise and because of the nature of the data I have to use different parameters for every 4-5 slices. Therefore I was thinking to perform an almost manual segmentation on one volume and then use registration for the segmentation of the rest (if that is necessary). So I am now studying and trying to say if something like that is possible (and especially on ITK). If someone knows something about it, I would be happy to hear.</div><div>4) What would be a proper number of grid points for my 75x70x52 images, when using the B-Splines registration?<br><br>I am sorry for the long post but I have been struggling for too long with this problem and I would really appreciate any kind of help. </div><div><br></div><div>Best regards,</div><div>Thanos</div></div>
<br>______________________________<wbr>_______<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_<wbr>FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br></div>