问题标签 [niftynet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
output-formatting - 如何更改 Niftynet 的输出格式?
是否可以在配置文件中设置输出格式Niftynet
?例如,我想让我的输出为png
.
我的输出目前是.nii.gz
格式。
谢谢你。
image-segmentation - 了解 Niftynet 的输入形状 (spatial_window_size)
我正在使用 Niftynet 进行医学图像分割。我在这里https://nbviewer.jupyter.org/gist/fepegar/1fb865494cb44ac043c3189ec415d411看到了关于 spatial_window_shape 参数约束的精彩教程。
但我想知道如何在可能的形状之间进行选择?它们背后的逻辑是什么?何时选择更大或更小的 spatial_window_shape 尺寸?为图像、标签和推理设置此参数有什么重要意义?为什么标签和图像的尺寸不同?我也对边框参数如何影响这个选择感兴趣。
python - 广义骰子损失问题
我正在调整 niftynet 提供的广义骰子损失,以在我自己的 tensorflow 网络上使用,该网络产生单个标签的概率。为了使用广义骰子损失,我将这一行添加到文件的开头(我正在处理 2D 数据):
prediction = tf.concat([1 - prediction, prediction], axis=3)
我使用的批量大小为 1。当我测试 Square、Simple 和 Uniform 的 type_weight 时,我得到了非常相似的结果。似乎应该对 ref_vol 求和,还是我错过了这个?
image-segmentation - 具有密集 vnet 的 niftynet 多类 3D 分割
神经网络新手在这里。我一直在测试 Niftynet,并在自己的带有 dense_vnet 的 MRI 数据集上实现了不错的单类 3D 分割预测。但是,当我尝试添加第二个标签时,我运气不佳。该网络似乎发现了正确的器官,但无法摆脱额外的伪影,就好像它无法脱离局部最小值或者它没有足够的自由度或其他东西。这是更好看的预测切片之一,它确实显示了一些正确的标签,但也显示了额外的噪声。
为什么单类分割比多类分割效果更好?期望 DenseVnet 提供良好的多类 3D 分割结果是否合理?如果是,是否有改进结果的具体方法?
PS Niftynet 的网站是指一般问题的 stackoverflow。
niftynet - 使用 NiftyNet 进行分类
我正在尝试使用 NiftyNet 运行分类。我想进行训练,我有一个包含图像的训练集和分配给它们的类,例如 image1 -> cancer 和 image2 -> no cancer。基本上我没有掩码,似乎如果我想运行分类,我需要使用带有标记体素的掩码来运行分类训练。我假设这是基于以下页面:https://niftynet.readthedocs.io/en/dev/_modules/niftynet/application/classification_application.html#ClassificationApplication,它试图解释如何创建一个分类部分,该部分指出类似于分割。
最终,我的问题是,如果我只有图像和每个图像所属的类,我是否可以使用 NiftyNet 运行分类。例如,如果我有 4 个类 0、1、2 和 3,并且我已经映射了我的数据,例如 image1 -> 1、image2 -> 3、image3 -> 1、image4 -> 2、image5 -> 0 等。我可以将图像用作输入并输出一个向量,例如 [0 0 1 0] 以使用 NiftyNet 进行训练吗?如果是这样,您能否举例说明如何在 .ini 文件中创建 CLASSIFICATION 部分?
对于这个很长的问题,请提前道歉。
python - 在 niftynet 上实现迁移学习
我想使用 Dense V-Net 架构实现迁移学习。当我在寻找如何做到这一点时,我发现这个功能目前正在开发中(如何在 NiftyNet 中实现迁移学习?)。
虽然从那个答案很明显没有直接的方法来实现它,但我试图:
1) 创建密集 V-Net
2) 从 .ckpt 文件中恢复权重
3)自己实现迁移学习
要执行第 1 步,我想我可以使用 niftynet.network.dense_vnet 模块。因此,我尝试了以下方法:
但是,我收到以下错误:
所以,问题是:
有什么方法可以实现吗?
image-segmentation - NiftyNet 找不到用于多类分割的多个标签
我正在运行一个 3 类分割问题,我的标签图像是“0(很多),1(一些),2(一些)”。但我意识到当 NiftyNet 读取图像时,它只有 0/1 两个值。当 label_normalization 开启时,ref.txt 文件显示“label from 0,1 to 0,1”;如果我把它关掉,预测也只有 0/1 两个值。
知道出了什么问题吗?标签图像格式问题?
非常感谢!
interpolation - NiftyNet Interpolation order
In NiftyNet framework - what is the purpose of interp_order
param in config file? There is very short explanation in documentation which is not clear enough.
Why there is usually set to 0 in label section, and to 3 in image section.
niftynet - niftynet 运行中推理部分的输出
我似乎找不到我的推理模型在哪里,我有 .csv 文件并且可以看到损失,但我找不到标签文件或图像本身。这是我的推理部分:
边界 = (44,44,44)
output_interp_order = 0
根据文档,我的输出文件夹中应该有我的推理输出,我相信它是写在 SYSTEM 部分中的 model_dir,它只有以下内容: model_dir 内容
niftynet - Niftynet 如何处理多 GPU 训练
我正在使用 Niftynet 使用 2 个 GPU 训练 CNN。据我了解,每个 GPU 都是独立训练的,因为每次迭代我都会得到两个损失值。两个 GPU 的结果是否在推理时结合在一起?我曾经相信使用多 GPU 可以减少训练时间,但在 Niftynet 中似乎并非如此。