我试图重新创建这个功能
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的新手,所以这里的答案对我来说并不清楚。是否存在执行此操作的现有功能?
答案 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)