Я использую SimpleITK для анализа динамических данных PET.У меня есть папка с 148 * N изображениями (с N числом кадров моего Dynamic PET), и я хочу разделить изображения каждого кадра.Во-первых, я создал одну подпапку для каждого кадра с соответствующими изображениями.
>folder #Folder of dynamic data
>subfolder1 #Subfolder with images of Frame 1
>image1, image2, ..., image148
>subfolder2 #Subfolder with images of Frame 2
>image149 image 150, ..., image296
Я читал мои изображения следующим образом:
series_reader = sitk.ImageSeriesReader()
image = sitk.ReadImage(series_reader.GDCMSeriesFileNames(path_subfolder1))
Создание всех этих подпапок не очень удобно для пользователяпоэтому я пытаюсь сохранить все пути изображений в списках:
frame1 = [image1, ..., image148]
frame2 = [image149, ..., image296]
...
frame_list = [frame1, frame2, ..., frameN]
И читать изображения так:
image = sitk.ReadImage(frame_list[0])
Проблема в том, что когда я смотрю на значениеВоксель, расположенный в тех же координатах (x, y, z), я не получаю одинаковое значение с 2 методами.Похоже, что series_reader.GDCMSeriesFileNames()
SimpleITK извлекает некоторую информацию об изображении DICOM, например, Origin.
Какую информацию извлекает SimpleITK для создания его изображений с series_reader.GDCMSeriesFileNames()
, которые мне нужны для получения точно такого же изображения?Или есть другой способ получить одно и то же изображение, используя список путей?
PS: в этом посте все переменные с именем 'image' являются путями к изображениям, а не объектом SimpleITK Image.
Редактировать: В моем случае все мои кадры имеют одинаковый номер серии, поэтому я не могу использовать series_reader.GDCMSeriesFileNames(path_folder, series_ID)