Я бы предложил использовать Nibabel.Он может уменьшить ваш файл nifti всего за несколько строк.
Пример, чтобы повторно сэмплировать изображение до размера вокселя 2x2x2:
import nibabel
import nibabel.processing
input_path = r'/input/path/input_img.nii.gz'
output_path = r'/output/path/output_img.nii.gz'
voxel_size = [2, 2, 2]
input_img = nibabel.load(input_path)
resampled_img = nibabel.processing.resample_to_output(input_img, voxel_size)
nibabel.save(resampled_img, output_path)
Просто обновите input_path
и output_path
, чтобы отразить ваши файлы,Второй аргумент в функции resample_to_output (voxel_size
) должен либо соответствовать измерениям вашего ввода, либо быть одним значением, тогда nibabel будет предполагать, что вам нужен одинаковый размер вокселя для всех измерений.
Информация Nibabel:
Документы: http://nipy.org/nibabel/.
Инструкции по установке: https://anaconda.org/conda-forge/nibabel