Loop through 3D bins to count numbers of points of each color within each separate bin
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Matt J
2023년 4월 11일
편집: Matt J
2023년 4월 11일
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
Matt J
2023년 4월 11일
You are quite welcome, but if your problem is now resolved please Accept-click the answer.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!