有解决方案来调整3d数据的大小而又不会使数据变得混乱吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有解决方案来调整3d数据的大小而又不会使数据变得混乱吗?相关的知识,希望对你有一定的参考价值。
我使用此代码来调整3d nifti数据的大小,但是当我检查结果时发现它杂乱无章,并且轴已更改
import numpy as np
import nibabel as nib
import itertools
initial_size_x = 560
initial_size_y = 560
initial_size_z = 240
new_size_x = 512
new_size_y = 512
new_size_z = 216
initial_data = nib.load("id001-512x512x216.nii.gz-pred.nii").get_data()
print('helooooooooooooooooooo')
delta_x = initial_size_x/new_size_x
delta_y = initial_size_y/new_size_y
delta_z = initial_size_z/new_size_z
new_data = np.zeros((new_size_x,new_size_y,new_size_z))
for x, y, z in itertools.product(range(new_size_x),
range(new_size_y),
range(new_size_z)):
new_data[x][y][z] = initial_data[int(x*delta_x)][int(y*delta_y)][int(z*delta_z)]
img = nib.Nifti1Image(new_data, np.eye(4))
img.to_filename("test_"+str(new_size_x)+""+str(new_size_y)+""+str(new_size_z)+".nii")
答案
在这个问题上,我想您希望稍微改变3D数据的分辨率。我提出的解决方案仅适用于将数据放大或缩小整数倍。以上是关于有解决方案来调整3d数据的大小而又不会使数据变得混乱吗?的主要内容,如果未能解决你的问题,请参考以下文章