我有一个图像堆栈,我需要一个定义,对于每个图像,由相邻的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,:,:)];
有更好的方法吗?
number_images = 60;
offset = 5;
for n=offset+1:1:number_images-offset
rolling_interval_IM = squeeze(IM(n-offset:1:n+offset,:,:));
end
您没有说明是否要存储每个滚动间隔,因此这将只覆盖前一个。
我认为将时间维度作为第一个维度有点不寻常。