图像堆栈的最大强度投影

时间:2018-01-10 01:07:03

标签: python matlab

我试图重新创建这个功能

max(array, [], 3)

来自MatLab,它可以拍摄我的300x300px图像堆栈的N个图像(我说#34;图像"这里因为我处理图像,实际上这只是一个很大的双重阵列) ,300x300xN,并创建一个300x300阵列。我认为在这个函数中发生的事情,如果它操作效率低,就是它解析每个(x,y)点,然后从z轴的那个点取最大值,然后用最大值和最小值进行归一化整个数组的值。

我尝试用

在python中重新创建它
# Shape of dataset: (300, 300, 181)
# Type of dataset: <type 'numpy.ndarray'>
for x in range(numpy.size(self.dataset, 0)):
    for y in range(numpy.size(self.dataset, 1)):
        print "Point is", x, y
        # more would go here to find the maximum (x,y) value over Z axis in self.dataset

一个非常简单的X,Y迭代器。 - 但是我的IDE不仅在运行此代码几毫秒后崩溃,而且感觉严重且效率低下。

我有什么遗失的东西吗?我是Python的新手,所以这里的答案对我来说并不清楚。是否存在执行此操作的现有功能?

1 个答案:

答案 0 :(得分:1)

import numpy as np
import matplotlib.pyplot as plt
from skimage import io

path = "test.tif"
IM = io.imread(path)
IM_MAX= np.max(IM, axis=0)
plt.imshow(IM_MAX)