有解决方案来调整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")

enter image description here

答案
在这个问题上,我想您希望稍微改变3D数据的分辨率。我提出的解决方案仅适用于将数据放大或缩小整数倍。

以上是关于有解决方案来调整3d数据的大小而又不会使数据变得混乱吗?的主要内容,如果未能解决你的问题,请参考以下文章

ggplot2:如何动态包装/调整大小/重新缩放 x 轴标签,使它们不会重叠

拖动后元素变得随机不可调整大小

拖动后元素变得随机不可调整大小

如何利用JS或者CSS样式来自动调整图片大小

如何使wpf数据网格填充所有可用空间并使用窗口调整大小?

Three.js 调整画布大小