Я пытаюсь изменить размер трехмерного медицинского ПЭТ-изображения до того же размера, что и КТ-изображение, и пока не найдено ни одного решения, которое я нашел. Я хочу изменить размер изображения 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.