从堆栈中提取图像组

时间:2014-06-24 11:48:19

标签: matlab median

我有一堆图像,我需要为每个图像定义由邻近10(5之前和之后5)定义的子包。图像堆栈定义为IM(m,:,:)(详情如下)。

m = 0;
for j = 1:projections
    for k = 1:number_images
        u = sprintf('images_%03i_%05i.fits',j-1, k-1);
        IM(m,:,:) = fitsread(u);
    end
end

我想做的是(代码不工作)

for k = 6:number_images
    rolling_interval_IM = [IM(k-5,:,:):IM(k+5,:,:)];

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

number_images = 60;
offset = 5;

for n=offset+1:1:number_images-offset
    rolling_interval_IM = squeeze(IM(n-offset:1:n+offset,:,:));        
end

您没有说是否要存储每个滚动间隔,因此这只会覆盖前一个。

我认为把时间维度作为你的第一个维度是有点不寻常的。这通常是我经历的最后一次。