计算 tif 电影每一帧的平均像素强度

Calculate average pixel intensity for each frame of tif movie

我将 tif 电影导入 python 中,尺寸为 (150,512,512)。我想计算 150 帧中每一帧的平均像素强度,然后随时间绘制它。我可以弄清楚如何计算整个堆栈的平均强度(见下文),但我正在努力为每个帧单独计算它。

from skimage import io

im1 = io.imread('movie.tif')


print("The mean of the TIFF stack is:")
print(im1.mean())

如何获得每帧的平均像素强度?

您可以对矩阵进行切片并获取每个帧的平均值,如下所示

from skimage import io

im1 = io.imread('movie.tif')
for i in range(im1.shape[0]):
    print(im1[i,:,:].mean())

要绘制它,您可以使用像 matplotlib

这样的库
from skimage import io
import matplotlib.pyplot as plt

im1 = io.imread('movie.tif')
y = []
for i in range(im1.shape[0]):
    y.append(im1[i,:,:].mean())

x = [*range(0, im1.shape[0], 1)]
plt.plot(x,y)
plt.show()