Volshow contrast or scaling the colormap
조회 수: 21 (최근 30일)
이전 댓글 표시
Is there a way to scale the colormap in volshow()? Similar to using 'caxis', [min max] for image()?
댓글 수: 0
채택된 답변
Tim
2020년 10월 29일
편집: Tim
2020년 10월 29일
% 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);
추가 답변 (1개)
Pratyush Roy
2020년 10월 27일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Basic Display에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!