Interpolating Between Stack of Images in 3D Slicer

Hi,

I am trying to interpolate between a stack of 2D ultrasound images using multiple methods for comparison (i.e. Gaussian Kernel, Nearest Neighbor, Linear, etc.) in 3D Slicer. I posted a question in the 3D Slicer community, since I am working in 3D Slicer, but have yet to receive a response, so I am posting here. I am having difficulties in achieving the desired resampled volume. I used this resource to help guide me but there isn’t much information on the SlicerITKUltrasound module. How do the parameters affect the resampled volume and are there any missing steps in the interpolation process? The following question is similar to my project and one of the response mentioned the module but the author used another method.

Please provide any advice on how to achieve a proper volume based on the image stacks using ITKUltrasound module in 3D Slicer.

I replied to your question about how to reconstruct volumes on freehand tracked ultrasound (acquired by moving a position-tracked 2D probe).

@matt.mccormick can probably give you advice here if ITK filters can be used for if you have data aquired by a 3D/4D ultrasound probe. You need to give more details though, for example:

  • Are your voxels storing B-mode or RF data?
  • Do the images contain scanlines or scan-converted data?
  • What kind of probe have you used (motorized 2D probe - rotating/spinning/sliding, 3D phased array, …)?
  • Do you know the probe geometry (start/and angles, radius, angle/distance increments, etc.)?
1 Like

Hi Andras,
Thank you for replying to both my questions. My voxels are based on 2D B-mode stacked images. I used the 3D Slicer module ‘ImageStacks’ and inputted sequentially acquired 2D B-mode images to create the volume. The images contain scan-converted data and the type of probe used was a manual sliding 2D probe (Philips C5-2 40R Curved Array Probe). The following image is of the probe specifications and geometry.


The aim of my project is to compare the various interpolation methods that the ITK module offers. Therefore, this module is of interest to me for this specific task. Please let me know if more details are required. Thanks!

If you slide the probe manually and you do not use any kind of pose tracking (external tracking or image-based tracking) then the 3D reconstruction is inaccurate, and so you don’t need to worry about what interpolation method you choose, the reconstructed volume will be wavy (as you don’t slide exactly along a straight line) and distorted (as the speed is not exactly uniform and the probe motion is not exactly orthogonal to the image plane).

If you use a linear positioning stage that ensures constant speed along a linear trajectory and orthogonality of the image plane to the motion direction then you can simply set the image spacing based on the probe speed - you don’t need any sophisticated interpolation method.

If you use pose tracking (optical tracker, electromagnetic tracker, or image based tracking using speckle decorrelation or SIFT) then you can use freehand volume reconstruction algorithm provided in 3D Slicer (SlicerIGT extension) or in PLUS toolkit.

1 Like

We acquired the data in 2 manners. One is freehand without any pose tracking and the second is freehand with NDI Aurora EM Tracker. The current image in this post used the former method and the 3D volume was formed using the Image_Stacks module. I posted a forum in the 3D Slicer community about live reconstruction using Telemed and NDI Aurora. I am facing some difficulties with the reconstructed volume. It displays a black image slice instead of a 3D volume. My objective is to form a 3D volume and perform different interpolation techniques to compare them. Please provide any solutions to this problem.