I am looking to use Slicer to generate a 3D ultrasound volume from 2D images and tracking data. The goal is for the image acquisition to be done by hand, so the image spacing will not be regular or in one dimension.
The US images are processed and stored in RGBA format. The tracking information I have are the distance and orientation of the sensor from the tracking source.
I found this ticket which is very similar to what I am trying to do:
The differences are that we are not using Matlab to stitch our 2D images together. Is there a way for Slicer to do this for us? I have looked into the NRRD file format and it does not support variable image spacing in multiple dimensions. There are also no real-time requirements
Operating system: Windows 10 x64
Slicer version: 4.11
The differences are that we are not using Matlab to stitch our 2D images together. Is there a way for Slicer to do this for us?
Absolutely. 3D volume reconstruction of freehand tracked 2D ultrasound is a core IGT feature, it is well tested and thoroughly optimized, has many compounding options, hole filling, etc. It works real-time on live data, or you can do it from pre-recorded data. Some optimizations are only implemented for single component (grayscale, not RGB/RGBA) images. See for example this demo/tutorial video:
We store image pose for each slice in custom fields in the nrrd header. See full specification here. See an example file here.