Что именно вы подразумеваете под "стеком"?Поскольку вы ссылаетесь на tiff
в качестве выходного формата, я предполагаю, что вы хотите, чтобы ваши данные в одном файле представляли собой мультикадр.
Это легко сделать с помощью функции imageio
mimwrite()
:
# import numpy as np
# a = np.random.randint(0,5, size=(100,100,100))
# a = a.astype('int8')
import imageio
imageio.mimwrite("image.tiff", a)
Обратите внимание, что эта функция основана на использовании счетчика для нескольких ваших кадров в качестве первого параметра и следующих значений x и y.См. Также документацию .
Однако, если я ошибаюсь и вы хотите иметь n (например, 100) отдельных tif-файлов, вы также можете использовать обычную функцию imwrite()
вцикл:
n = len(a)
for i in range(n):
imageio.imwrite(f'image_{i:03}.tiff', a[i])