У меня есть трехмерный массив произвольного размера m x n x d
, где d
- это размер, в данном случае, момент времени. У меня есть 2D-маска размера m x n
, которую я хочу применить к 3D-стеку, и в каждом случае, когда маска имеет значение 1, для установки значения соответствующего индекса в стеке на nan
. Пока я делаю это так:
imageStack((mask == 1)) = nan;
Однако при отображении изображения из одного измерения в стеке, т.е. imagesc(imageStack(:,:,1)
после процесса, становится ясно, что маска была применена. Однако к более высоким измерениям эта маска не применяется - кажется, она применила ее только к первому измерению, а не ко всему стеку изображений. Я что-то упустил в своей реализации маски?