Мне нужно экспортировать списки интенсивности пикселей, полученные из нескольких изображений в нескольких папках, в электронную таблицу Excel. Каждая папка содержит список файлов TIFF, каждый из которых представляет определенный момент времени в интервале времени. Мне удалось получить интенсивность пикселей каждого подмножества папок, но я борюсь с выходом, чтобы преуспеть, используя DataFrames с пандами. Во фрейме данных отображается только список значений из последней папки, и мне нужна электронная таблица для отображения каждого списка в отдельной строке. Вот что у меня есть:
import os
import matplotlib.pyplot as plt
import skimage.external.tifffile as tiff
import pandas as pd
from pandas import DataFrame
#to read images in each folder
def load_images_from_folder(folder):
images=[]
for filename in os.listdir(folder):
if any([filename.endswith(x) for x in ['.tif']]):
img=tiff.imread(os.path.join(folder, filename))
if img is not None:
images.append(img)
return images
folders = [
'path to folder1',
'path to folder2',
'path to folder3',
]
for folder in folders:
images=load_images_from_folder(folder)
#ratio the mean green to red signal in each image
ratios = [image[..., 1].mean() / image[..., 0].mean() for image in
images]
plt.plot(range(len(images)), ratios)
plt.show()
df=DataFrame({'Ratios':ratios})
df.to_excel('Ratios.xlsx', sheet_name='sheet1', index=0)
Распечатка коэффициентов дает:
Folder1:
[список значений]
Folder2:
[список значений]
folder3:
[список значений
и т.п.
Но данные, отображаемые df (DataFrame), только из списка в папке 3. Итак, что мне нужно сделать по-другому, чтобы экспортировать значения, полученные из нескольких папок, в Excel? Я также удостоверился, что каждое изображение читается как ndarray и type = uint8.