基于第一个图上的像素坐标数据的第二个matlab图

时间:2015-10-14 19:20:32

标签: matlab

我有一个imagesc图像,其中每个像素代表一个数据向量。图像本身来自挤压成2D矩阵的数据立方体。我可以使用impixelinfo浏览图像并在查询图像时获取像素坐标。执行此操作的代码如下,

load data.mat; % data cube of size 512x256x12000
figure; imagesc(squeeze(mean(abs(data),3)))
axis equal; colormap jet;
impixelinfo

我想要做的是能够使用像素坐标在第二个图中绘制基础数据向量(放入第三维)。当我在图像中移动光标时,第二个数字应自动更新。

非常感谢任何帮助。先感谢您。

1 个答案:

答案 0 :(得分:0)

谢谢大家,我找到了一个ButtonDownFcn的解决方案,并将其发布在这里为那些有类似问题的人们发布。

x = (-10:10); y = x; z = x;
[mx, my, mz] = ndgrid(x,y,z)
r = sqrt(mx.^2 + my.^2 + mz.^2);
figure;
imagesc(squeeze(r(:,:,1)),'ButtonDownFcn', {@test_func,r});

具有以下功能

function test_func(hObject, eventdata, r);
P = get(gca,'CurrentPoint');
X = round(P(1,1));Y = round(P(1,2));
figure;plot(squeeze(r(X,Y,:)));
end