How to get XYZ coordinates of all non-zero voxels in a 3D volume?
30 views (last 30 days)
Show older comments
Alexander Collins
on 18 May 2020
Commented: Alexander Collins
on 19 May 2020
I have an NxMxP matrix that forms a volume. Programs like ImageJ have a function to save the XY coordinates of any pixels above a certain threshold, is there a good way to implement this in 3D in matlab?
0 Comments
Accepted Answer
Ameer Hamza
on 18 May 2020
Try something like this
M = randi([0 5], 20, 30, 10); % example matrix
idx = find(M); % find nonzero values in M
[y,x,z] = ind2sub(size(M), idx);
y is the row number, x is column number, and z is the 3D slice number of non-zero entries.
See Also
Categories
Find more on Point Cloud Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!