Open lkccu opened 1 year ago
你好,用imagej可以直接设置图像的动态范围(也就是你说的set 0 -255 to 125 -255),也可以用sitk处理,总之很容易。推荐先用imageJ做,这样可以看一下是不是你要的效果。 第二点你的想法是正确的。
谢谢,这几天没上GitHub看,我试着做一下,祝您新年快乐!
你好同学,那一个第二点的material我还是没有弄清楚,想再请教您一下:那个得到的seg_array是否有什么格式的需求呢,我用TotalSegmentator Toolbox得到的vertebrae_T4.nii.gz是一个二值的seg mask,然后我用以下代码做的这样的导入,但是还是不得行,想请问一下您是怎么做的segmentation。谢谢您!
seg_array = nib.load(r'/root/autodl-tmp/deepdrr/segmentations/vertebrae_L4.nii.gz')
#print(seg_array.shape)
seg_array = seg_array.get_fdata()
print(seg_array)
volume = deepdrr.Volume.from_nifti(path,
# use_thresholding = True,
# use_cached = True,
# save_cache = True,
# cache_dir = "/root/autodl-tmp/seg_Res",
# segmentation = True ,
materials=dict(bone=seg_array),
)
from_nifti这个函数只要把materials实例化就行:materials=dict(bone=seg_array)。 其他参数不要注释,保持原来默认的。 path里放原图,即:path对应原图,materials对应经过3d分割的mask。 这样就可以了。 但其实这一步跟path是无关的,只用mask也能投出来(结合segmentation),具体可以看下代码。
你好同学,我不知道是不是对这个功能是否有什么误解。我在debug的时候发现如果不用这些material那么volume.data输出的结果是一系列float32的值,使用material那么volume也会变成mask,只有0/1的值。然后投出来的结果就是黑白的图像。请问可以麻烦您可以给我看看您的关于volume的设置的代码吗,拜托您了!
你说的情况我遇到过,就是没设置好的原因,他这个投影牵扯到了一些物理、光学的知识,这部分代码确实比较凌乱
` seg_array = (nib.load(bone + file1).get_fdata() > 0.05)
patient = deepdrr.Volume.from_nifti(raw + file1, materials = dict(bone = seg_array))`
你参考一下把
有问题的话加我给我发下效果图 q123466188