How to create point cloud output masks from .mat files

2 次查看(过去 30 天)
Hello,
I have been using the Matlab medical image labeler to segment hip mri scans. Currently, I am trying to download the segmented MRI images as PDFs where I can mask them and convert them to binary code. The main goal is to compare the binary code so I can compare different masks of the same hip scan and find the borders of the femur head. I am trying to write code that uses point cloud output masks; however, I am unsure how to get a ply file from the medical image labeler (as you can only export as a .mat file). I was wondering if anyone had any suggestions on how to successfully mask the segmented images or any different recommendations that I could use!
I appreciate any help or advice you can give.

回答(1 个)

Shantanu Dixit
Shantanu Dixit 2025-2-17
Hi Tess,
You can create point cloud output masks from .mat files by extracting the mask data and converting the data into 3D coordinates using 'ind2sub': https://www.mathworks.com/help/matlab/ref/ind2sub.html. Once the coordinates are extracted you can create a point cloud object using 'pointCloud': https://www.mathworks.com/help/vision/ref/pointcloud.html.
% Assuming data holds the .mat file information
mask = data.labelData; % Accessing label information (replace with the actual name)
% Convert mask to 3d coordinate
[y, x, z] = ind2sub(size(mask), find(mask == Label)); % Replace Label with particular label ID
% scale the indices appropriately using the metadata (pixel spacing, position)
points = [x, y, z];
% Create point cloud object
ptCloud = pointCloud(points);
To save and visualise the point cloud you can also refer to the following documentation by MathWorks
Hope this helps!

类别

Help CenterFile Exchange 中查找有关 Point Cloud Processing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by