[ITK-users] Cardiac Deformation using Segmentation and Registration of Ultrasound Images

Matt McCormick matt.mccormick at kitware.com
Tue Aug 1 17:23:59 EDT 2017


Hi Thanos,

A few thoughts,

- The ultrasound speckle can interfere with the segmentation --
itk::CurvatureAnisotropicDiffusionImageFilter is one approach, but the
ITKAnisotropicDiffusionLBR filters can give better results [1].
- Active contour segmentation is also available in ITK. It works in 3D
and it is fast.
- One approach is to generate signed distance maps from the
segmentations, then register the signed distance maps.
- Another approach is to generate itk::PointSet's from the
segmentation, the register the point sets with [2].

Hope this helps,
Matt

[1] https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR

[2] https://itk.org/Doxygen/html/classitk_1_1PointSetToPointSetMetricv4.html

On Thu, Jul 27, 2017 at 8:08 AM, thanos thanos <thanosxania at gmail.com> wrote:
> Hello everyone,
>
> 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.
>
> 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).
>
> 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.
>
> 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.
>
> So my questions are the following :
> 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?
> 2) Should the registration be done on the filtered or the unfiltered data?
> 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.
> 4) What would be a proper number of grid points for my 75x70x52 images, when
> using the B-Splines registration?
>
> 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.
>
> Best regards,
> Thanos
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users
>


More information about the Insight-users mailing list