How to get XYZ coordinates of all non-zero voxels in a 3D volume?
21 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 3-D Volumetric Image 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!