PlusToolkit / PlusLib

Software library for data acquisition, pre-processing, and calibration for navigated image-guided interventions.
http://www.plustoolkit.org
Other
136 stars 103 forks source link

Import 3D Ultrasound Volume to MATLAB for post processing #431

Closed smaatze closed 3 years ago

smaatze commented 6 years ago

Hello, I'm PhD student of medical engineering. my thesis is on the enhancement and reconstruction of 3D ultrasound images in image guided navigation. I use the Plus toolkit and thus want to know how can I import the reconstructed volume and the corresponding two-dimensional images with the correct position in the reconstructed volume into MATLAB for post processing. Thanks

adamrankin commented 6 years ago

When you do your sweep, save your images (see capture device in device list). That will give you the 2D images used and their transforms.

Are you using Slicer as a front-end to do your reconstruction? If so, simply save the volume from Slicer.

adamrankin commented 6 years ago

Right, the images are saved in a mha file, which is image meta data (where we store transform information) followed by image data.

Looks like there are some options for MHA in MATLAB. An example (not sure if it works): https://www.mathworks.com/matlabcentral/fileexchange/29344-read-medical-data-3d

You will have to extract and associate the transform data yourself. @lassoan is there any existing matlab to do this?

lassoan commented 6 years ago

What post-processing would you like to do? There is an extensive set of visualization, processing, and analysis tools in Slicer, specifically developed for medical image computing and image-guided procedures, available via GUI and Python (scripting, interactive console, or Jupyter notebook). If you have any specific need then post it on Slicer forum and people will point you to the right direction.

If you really must use Matlab then I would recommend .nrrd file format for reading/writing 2D/3D/4D volumes. We have a well tested nrrd reader/writer in Slicer MatlabBridge extension (https://github.com/PerkLab/SlicerMatlabBridge/tree/master/MatlabCommander/commandserver - nrrdread.m and nrrdwrite.m).

lassoan commented 3 years ago

We are moving questions and discussions from the issue tracker to https://github.com/PlusToolkit/PlusLib/discussions. If you have remaining questions related to this topic, create a new discussion there. Thank you!