Я работаю с изображениями в формате nii.gz.Поэтому я использую nibabel , чтобы открыть их.Проблема в том, что когда я открываю изображения, преобразую их в массивы и конвертирую их обратно в формат Nifti, размер вывода изменяется.Последовательность:
nifti_image = nib.load('/my_path_to_image/image.nii.gz')
np_img = ct_images.get_fdata()
nifti_final = nib.Nifti1Image(data, affine=np.eye(4)) # Convert them to nifti
nib.save(nifti_final , 'image.nii.gz')
Исходный файл - ~45 MB
, после запуска приведенного выше кода изображение - ~65 MB
.Я знаю, что исходные изображения кодируются в 16-битном формате.Моя первоначальная теория заключалась в том, что при преобразовании в массив numy они были закодированы как 64-bit
, что действительно имеет место.Поэтому я попробовал следующее:
nifti_image = nib.load('/my_path_to_image/image.nii.gz')
np_img = ct_images.get_fdata()
np_img = np_img.astype(numpy.float16, copy=False)
nifti_final = nib.Nifti1Image(data, affine=np.eye(4)) # Convert them to nifti
nib.save(nifti_final , 'image.nii.gz')
Тем не менее, выходной сигнал по-прежнему тот же размер ~65MB
.Есть идеи, почему это происходит?