多个volshows colormap相同

10视图(30天)
马丁Vratny
马丁Vratny 2022年7月25日
你好,
我想要显示两个3 d图像使用matlab volshow函数。的代码是这样的。
首先我从垫子上加载我的配置文件。然后我准备数据和UIpanels inicialize图。之后,我创建了一个M×N, L (3 d)矩阵,我想想象用volshow加载配置。最后我保存这些gif,但是没问题,不是我的问题。我的问题是,每个volshow UIpanel拥有自己的彩色地图。见图片下面。
函数volshow_spatial_map_compare(地图,map2、VoxIdx维度、camView文件名)
配置=负载(“volshow_config_fmri.mat”);从体积% < - volshow配置导出查看器
文件名=加入([文件名,“gif”]);
我= 0(维度);
% =数据映射(:,idx);
= map-min地图(地图(:));
地图=地图* 50;
IM2 = 0(维度);
map2 = map2-min (map2 (:));
map2 = map2 * 50;
% =底部min(地图(:));
%顶级= max(地图(:));
%爬([底部顶部]);
% gcf
% caxis ([1]);
f =图;
p1 = uipanel (f,“位置”,(0,0,0.5,1));
p2 = uipanel (f,“位置”,0.5,0,0.5,1);
idx = 1:尺寸(图2)
IM (VoxIdx) =地图(:,idx);
IM2 (VoxIdx) = map2 (:, idx);
%如果strcmp(‘前’,camView)
% h = volshow (IM, config.config);
% h。CameraPosition = (4 0 0);% odkud se divam - > kde stoji kamera
% h。CameraUpVector = [0, 0, 1];% rotace kolem osy
%结束
如果比较字符串(“高级”camView)
h = volshow (IM, config.config“父”,p1);
h。CameraPosition = (0, 0, 4);
h。CameraUpVector = (1,0,0);
h2 = volshow (IM2 config.config,“父”,p2);
h2。CameraPosition = (0, 0, 4);
h2。CameraUpVector = (1,0,0);
结束
%如果比较字符串(“边”,camView)
% h = volshow (IM, config.config);
% h。CameraPosition = (0 4 0);
% h。CameraUpVector = [0, 0, 1];
%结束
%使用getframe来捕获图像。
I = getframe (gcf);
[英蒂,厘米]= rgb2ind (I.cdata, 256);
%写框架GIF文件。
如果idx = = 1
imwrite(英蒂,厘米,文件名,“gif”,“Loopcount”正,“延迟时间”,0.5);
其他的
imwrite(英蒂,厘米,文件名,“gif”,“写模式”,“添加”,“延迟时间”,0.5);
结束
结束
结束
当我调用这个函数使用这些输入
:volshow_spatial_map_compare (x (1), x (1:) / 100, VoxIdx, map_dimensions,“高级”,“compare_test”);
我得到这个输出
第一个图片看起来好,但第二个应该少100 x颜色强烈- >几乎“隐形”。我不知道是我的错误。
为了澄清,我需要看到强度这两个图像之间的差异。
提前谢谢。

答案(0)

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!