Volshow contrast or scaling the colormap
46 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Brittney Gorman
le 14 Oct 2020
Commenté : Brittney Gorman
le 29 Oct 2020
Is there a way to scale the colormap in volshow()? Similar to using 'caxis', [min max] for image()?
0 commentaires
Réponse acceptée
Tim
le 29 Oct 2020
Modifié(e) : Tim
le 29 Oct 2020
% Example volume
imcube = bsxfun(@power, rand(30, 30, 100),...
permute(linspace(0, 8, 100), [3, 1, 2])).*...
permute(linspace(1, 0, 100), [3, 1, 2]);
% Pick your color map
cmp = jet;
% Generate your volume object
V = volshow(imcube,...
'Renderer', 'MaximumIntensityProjection',...
'Colormap', cmp,...
'BackgroundColor', [0, 0, 0]);
% Set your new color axis. This does the same thing as caxis normally
% would.
% % % % % % % % % % % % CAXIS EQUIVALENT % % % % % % % % % %
VAxis = [0.2, 1.5];
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% Generate new scale
newscale = linspace(min(imcube(:)) - min(VAxis(:)),...
max(imcube(:)) - min(VAxis(:)), size(cmp, 1))/diff(VAxis);
newscale(newscale < 0) = 0;
newscale(newscale > 1) = 1;
% Update colormap in volshow
V.Colormap = interp1(linspace(0, 1, size(cmp, 1)), cmp, newscale);
Plus de réponses (1)
Pratyush Roy
le 27 Oct 2020
Hi,
Assuming that the colormap generation is being a bit difficult, one can use the "ColorMap" property of the volshow() function to manually generate a colormap.
The following documentation link might be of further help:
0 commentaires
Voir également
Catégories
En savoir plus sur Basic Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!