color 3d plot by depth

2 次查看(过去 30 天)
Hello,
I am trying to take this binary 3D plot and color code the layers by depth. For example if z =1, all pixels are red; if z = 25, all pixels are orange, etc...I would like the color scale to be continuous. Any help on this would be appreciated. This is what I have thus far:
stack = tiff(:,:,:);
T = adaptthresh(stack, 0.57,'neigh', [99 99 99], 'ForegroundPolarity', 'dark');
bw = imbinarize(stack,T); %applies adaptive threshold to image
x = 1:size(stack,2);
y = 1:size(stack,1);
z = 1:size(stack,3);
figure(1),isosurface(x,y,z,stack,0.5)
pores.png
  1 个评论
Brian Hart
Brian Hart 2019-1-22
You can probably do this by changing the figure color map. It would help to have the input TIFF file to play with.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2019-1-22
See https://www.mathworks.com/help/matlab/ref/isosurface.html#bq349vy-1 for an example of coloring by x. In the isosurface() call in that example, you would replace the final x by z to color by z.
  5 个评论
Walter Roberson
Walter Roberson 2019-1-22
Then the two lines I suggested should probably work.
Emily Pendleton
Emily Pendleton 2019-1-23
It does, thank you!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polygons 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by