Reconstruction of 3D ultrasound volume using 2D sweeps lags and low quality


I am doing volume reconstruction using 2D ultrasound like in your video :

  1. However, my computer does not seem powerful enough (16Go RAM & Nvidia graphics card) to do live reconstruction, the system is completely lagging (about 1 update of the ultrasound video and tracking every 4-5seconds). What characteristics are needed to do a live reconstruction ?

  2. I do not need especially ‘live’ recording, so I take the second option to record a sequence and reconstruct my volume from my recorded sequence.
    But, despite a quite high recording frequency acquisition (60fps) and no lagging during acquisition (the ultrasound video is very fluid), and very slow sweeps of my object, my reconstructed volume seems to be missing parts :

or has very low quality :

Does the problem come from my computer not powerful enough, or from my volume reconstruction parameters ? I tried changing a lot of parameters, but did not succeed in having a good quality volume …

My long-term objective is to obtain a reconstructed volume of my ultrasound sweeps with a high quality to be able to segment and calculate muscle volumes.


Can you upload your scene with the recorded sequence somewhere?

Here you can find my last acquisition, in the folder ‘volumereconstruction’ :

I also added in the main folder the config files I am using : ‘CALIBRATION’ is for pivot calibration and spatial calibration, and ‘ACQUISITION’ is for my volume acquisition.

The computer I am using is Intel Core i5-3570 CPU @ 3.40GHz, with 16Go RAM, Win10, and NVIDIA Quadro K600 graphics card.


Thanks for the data! It looks like you are reconstructing your volume with a 0.1mm voxel size, which is too small for your ultrasound size (1.0mm).

Based on the size of the voxels in your ultrasound you would get much better results (faster and less artifacts) if you use a similar voxel size to your ultrasound (1.0mm).

Thank you for your response.

Yes I reconstructed my volume using a 0.1mm voxel size (this time, because I tried a lot of different settings, including the 1.0mm default one) …

However even by changing the voxel size to 1mm the reconstructed volume is still very blurry and incomplete. Did you succeed in reconstructing a good quality volume with the data I sent you ? can you show me if yes ?

I tried to load ‘ElbowUltrasoundSweep.mha’ (from the tutorials data), and after reconstruction, the volume looks much nicer than for my acquisitions. The ultrasound video seems to be more fluid than mine …


Thanks to the ‘Node Modified Statistics’ in Slicer, I found out that my update time is only around 6-7 frames per second, whereas my video feed can go up to 60Hz and my Optitrack tracker stream up to 120Hz.
And looking at the logs (for a small acquisition it is a 400Mo log), I see that there must be a problem in my tracker stream :

Do you prefer I go back to the Github of PlusToolkit since the issue must come from my config file ? (you have my config files in the folder I sent you).

It would be great if you could make a post on GitHub. We can continue this discussion there.