How to capture the view in volshow as an image?
Mostra commenti meno recenti
I have rendered a volume using volshow in viewer3d (shown below). I would like to save a capture of this view similarly to how I have taken a Windows screenshot below but without needing to use Windows screenshot so that I can automate my code to load in these volumes and output images of the desired view.
Print, saveas, and imsave do not seem to be working for this.

Risposta accettata
Più risposte (1)
Matt J
il 12 Mag 2023
1 voto
I'm still interested as to whether or not there's a way to create an image in a figure of the current view so that you could utilize MATLAB's normal image saving options.
This example shows how to do so with getframe:
2 Commenti
Lars Nelson
il 12 Mag 2023
Edmund Pickering
il 14 Set 2023
Spostato: Matt J
il 14 Set 2023
I have this working with the following code.
% create viewer
viewer = viewer3d(BackgroundColor="white", GradientColor=[0.5 0.5 0.5],Lighting="on",BackgroundGradient="off");
% volshow
volBone = volshow(stack_(180:400,1:240,1179:1309)>250,'colormap',[214 184 150]/255,Parent=viewer);
% capture frame
frame = getframe(viewer.Parent);
If running in a loop, capturing succesive frames, I've found this helpful
viewer = viewer3d(...)
pause(5) % pause to give viewer time to fully open
for i = 1:...
viewer.clear % clear previous
pause(1) % pause to clear
volshow(...)
frame = getframe(viewer.Parent);
writeVideo(v,frame)
end
Categorie
Scopri di più su Display 3-D Volumetric Images in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!