Изменение размера трехмерного изображения c до указанного размера в python (skimage.mis c .imresize удален) - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь изменить размер трехмерного медицинского ПЭТ-изображения до того же размера, что и КТ-изображение, и пока не найдено ни одного решения, которое я нашел. Я хочу изменить размер изображения PET (256,256,159) до того же размера, что и изображение CT (960,960,960). Однако эти размеры могут измениться позже.

Пока я пытался:

skimage.transform.resize(PETimg, (960,960,960), order=0)

, что дает ошибку памяти (и, кажется, делает неправильные размеры):

MemoryError: Unable to allocate 19.8 GiB for an array with shape (3, 960, 960, 960) and data type float64

Я также пытался использовать PIL, оборачивая в Image и cv2, но оба, похоже, не совместимы с 3D-изображениями.

Мне повезло, используя

scipy.ndimage.zoom(ArrayDicomPET, (960/256, 960/256, 960/159), order=1)

Но, как указано в заголовке, я хочу просто указать свой размер выходного пикселя и выбрать метод интерполяции, как skimage.misc.imresize

Кто-нибудь знает решение для 3D-изображений? Я бы предпочел не понижать Skimage.

...