color 3d plot by depth

8 次查看(过去 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 个)

Community Treasure Hunt

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

Start Hunting!

Translated by