Loop through 3D bins to count numbers of points of each color within each separate bin
2 views (last 30 days)
Show older comments
Hi all,
I apologize if this is a trivial question; I have mostly only worked with 2D data sets before. I have a large data set consisting of xyz coordinates (locations of electrode readings on a heart), each of which has a 4th-dimensional value assigned to it (representing an activation time reading). I have assigned different time intervals to different colors, resulting in the creation of a color map of activation time. I now want to divide the xyz coordinates in space into a 3D grid, and then analyze each grid section/cube separately to determine how many different colors it contains. I have written some code that uses the 'discretize' function to create bins out of the separate x,y, and z vectors. I am now attempting to analyze through each interval/cube using for loops. For some reason, however, my code is not working the way that I want. Does anyone have any idea how I can define each cube/voxel created by the discretize functions separately, as well as how I can determine the numbers of colors (rgb_time contains the values of the colors assigned to each xyz coordinate) within each cube? Thank you very much!
0 Comments
Accepted Answer
Matt J
on 11 Apr 2023
Edited: Matt J
on 11 Apr 2023
If you have followed the advice in your previous thread,
then you should now have a list of voxel IDs for every rgb time. So, you could now do,
counts = splitapply(@(z) height(unique(z,'rows')), RGB, ID(:))
Here, I assume RGB is an Nx3 array of color data.
7 Comments
Matt J
on 11 Apr 2023
You are quite welcome, but if your problem is now resolved please Accept-click the answer.
More Answers (0)
See Also
Categories
Find more on Lighting, Transparency, and Shading 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!