color 3d plot by depth

2 Ansichten (letzte 30 Tage)
Emily Pendleton
Emily Pendleton am 22 Jan. 2019
Kommentiert: Emily Pendleton am 23 Jan. 2019
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 Kommentar
Brian Hart
Brian Hart am 22 Jan. 2019
You can probably do this by changing the figure color map. It would help to have the input TIFF file to play with.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Jan. 2019
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 Kommentare
Walter Roberson
Walter Roberson am 22 Jan. 2019
Then the two lines I suggested should probably work.
Emily Pendleton
Emily Pendleton am 23 Jan. 2019
It does, thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by