宣传片
原生扩散空间
SlicerDSpace 的输出结果。
展示各分析路线的代表性参数图、皮层表面、纤维通路和连接网络,所有结果均位于原生扩散空间。
开始使用
从安装到获得第一份结果。
让 Agent 协助安装、分析与结果检查。 (推荐)
-
查看 Skill
我们为 SlicerDSpace 提供安装与使用 Skill。将 SKILL.md 交给本地 Agent,即可按照指南准备环境、执行分析并检查结果。
下方指令以 SKILL.md 为入口。如需安装 Skill,请一并保留 slicerdspace 文件夹中的参考资料、脚本和模板。
-
安装并启用
Agent 安装指令参考 https://github.com/NeuroDMRI/SlicerDSpace/blob/main/.agents/skills/slicerdspace/SKILL.md 帮我将 SlicerDSpace 安装并启用到本机的 3D Slicer 中, 配置需要的依赖环境,并下载相应的模型权重。Agent 会检查存储空间和已有资源,在你选定存放位置后保存路径,并按所选分析准备环境。遇到许可或重启提示时请确认。
-
使用已安装的插件
替换输入与输出路径,并选择研究所需的方法。以下示例运行 DDParcel、CSD/ACT 纤维追踪和结构连接组分析。
Agent 分析指令参考 https://github.com/NeuroDMRI/SlicerDSpace/blob/main/.agents/skills/slicerdspace/SKILL.md 使用 SlicerDSpace 对 /path/to/subject 运行 DDParcel 脑区分区、CSD/ACT 纤维追踪和结构连接组分析,结果保存到 /path/to/results。 先展示计划,等我确认后再运行;完成后汇总输出与 QC 结果。
也可以手动配置
-
安装插件
先安装 3D Slicer,本方案参考版本为 5.10。克隆源码并创建独立的插件安装目录:
bashgit clone https://github.com/NeuroDMRI/SlicerDSpace.git cd SlicerDSpace python3 scripts/stage_slicer_extension.py \ --install-root ~/SlicerDSpace-extension --slicer-version 5.10 \ --link-mode copy将
5.10替换为 Slicer“关于”窗口中显示的主次版本号。脚本会部署模块并报告安装目录。 -
添加模块路径
打开 Edit › Application Settings › Modules › Additional module paths,添加以下目录展开后的绝对路径:
~/SlicerDSpace-extension/SlicerDSpace/lib/Slicer-5.10/qt-scripted-modules,并与部署时选择的版本号保持一致。通过 Slicer 的扩展管理器安装 SlicerDMRI 和 PyTorch。如需使用 UKF,还要安装独立的 UKFTractography 扩展。重启 Slicer 后打开 Modules › Diffusion › SlicerDSpace。
-
准备被试输入
填写 Subject ID 和 Subject root。已准备好的输入采用以下目录结构;输出目录留空时使用被试目录下的
outputs/文件夹。sub-01/ input/ data.nii.gz bvals bvecs nodif_brain_mask.nii.gz # optional; supply or generateDWI 与脑掩膜必须使用相同体素网格。梯度数量应匹配 DWI 的体积数,运动校正后的影像需要配套旋转后的梯度。
对于 DICOM 或 NRRD/NHDR,在 Advanced settings › Regions & input import › Input import / conversion 中预览导入,再准备标准化输入。
-
选择方法并准备环境
首次试运行可只选择 Microstructure,取消其他产品,并在其“...”选择器中保留 DTI。需要更多分析时,可在各产品旁选择一种或多种算法;模型和追踪参数位于 Advanced settings。
打开 Environment and installation › Prepare selected analysis environment,确认所需工具、模型和资源许可。下载资源会校验并缓存;如提示重启,重启后再次选择 Prepare 继续。
离线模型导入、修复和手动路径设置位于 More options。只运行 DTI 时,提供已复核的脑掩膜即可省去掩膜生成后端。
-
运行并检查
点击 Run SlicerDSpace。未填写的必需项会高亮,日志显示进度或具体修正提示。成功生成的关键结果自动加载到场景;DTI 提供 FA 和 MD 供检查。
在 Results and QC 中选择运行记录,查看检查结果并重新加载或替换输出,避免重复场景节点。接受结果前应复核掩膜覆盖、对齐及方法对应的 QC。
命令行运行与队列批处理
在代码目录中使用 Slicer 的 Python 检查 DTI 路线,先替换以下两个绝对路径:
export SLICER_LAUNCHER="/path/to/Slicer"
export SUBJECT_ROOT="/path/to/sub-01"
"$SLICER_LAUNCHER" --launch PythonSlicer run_subject_pipeline.py \
--subject-root "$SUBJECT_ROOT" --subject-id sub-01 --no-user-config \
--targets microstructure --microstructure-stages dti --doctor
将上述选项换为 --plan 可查看处理计划,再使用 --execute 执行。三条命令的算法选项应保持一致。
例如, --microstructure-stages dti,noddi 选择两个微结构模型; --tractography-backend csd_act,ukf 选择两种追踪方法; --bundle-backend wmql,wma 选择两种纤维束方法。运行前仍会检查各方法的输入与依赖。
对于独立被试,可使用 scripts/run_batch_pipeline.py --batch-root /path/to/study --jobs 2 并添加所选分析参数。GUI 处理当前被试,批处理命令为各被试维护独立输出和日志。
性能优化
运行效率优化。
各项操作的实测性能对比,附测量范围与实现细节。
目录更新于 2026 年 10 月 30 日
下载测量数据(JSON)| 计算内容 / 范围 | 优化类型 | 原始实现 | 优化实现 | 实测比值 |
|---|---|---|---|---|
| 全脑 / 记录 2026-10-29 | 同方法实现优化 | 15.64 分钟 | 11.89 分钟 | 1.32x耗时减少 23.99% |
| ||||
| 完整模块 / 记录 2026-10-20 | 同方法实现优化 | 102.10 分钟 | 74.22 分钟 | 1.38x耗时减少 27.31% |
| ||||
| 全脑 / 记录 2026-10-20 | 原生多线程 | 29.15 分钟 | 5.19 分钟 | 5.61x耗时减少 82.19% |
| ||||
| 64 体素数值计算块 / 记录 2026-10-22 | Python 移植版计算 | 1.73 秒 | 1.09 秒 | 1.58x耗时减少 36.70% |
| ||||
| 64 体素计算块 / QR 后续增量优化 / 记录 2026-10-29 | Python 移植版计算 | 1.19 秒 | 1.06 秒 | 1.13x耗时减少 11.26% |
| ||||
| 原生网格 24³ ROI / 记录 2026-10-22 | 上游已有能力 | 37.11 秒 | 11.47 秒 | 3.24x耗时减少 69.09% |
| ||||
| 原生网格 24³ ROI / 记录 2026-10-20 | 工作流调度 | 43.95 秒 | 24.63 秒 | 1.78x耗时减少 43.96% |
| ||||
| 单个子步骤 / 记录 2026-10-20 | 同方法实现优化 | 134.29 秒 | 2.48 秒 | 54.06x耗时减少 98.15% |
| ||||
| 1728 体素 ROI / 记录 2026-10-21 | 同方法实现优化 | 12.47 秒 | 5.17 秒 | 2.41x耗时减少 58.50% |
| ||||
| 1000 条流线 × 15 个点 / 记录 2026-10-21 | 同方法实现优化 | 24.6 毫秒 | 0.322 毫秒 | 76.31x耗时减少 98.69% |
| ||||
| 20000 条流线 × 15 个点 / 记录 2026-10-21 | 同方法实现优化 | 0.59 秒 | 12.8 毫秒 | 45.84x耗时减少 97.82% |
| ||||
| 三次准备调用 / 记录 2026-10-20 | 同方法实现优化 | 8.90 分钟 | 3.01 分钟 | 2.96x耗时减少 66.17% |
| ||||
| 左半球四个叠加图 / 记录 2026-10-20 | 继承的上游优化 | 13.38 秒 | 3.52 秒 | 3.80x耗时减少 73.70% |
| ||||
| 三个数据分块 / 记录 2026-10-20 | 压缩数据 I/O | 37.25 秒 | 17.08 秒 | 2.18x耗时减少 54.15% |
| ||||
方法与资源
已集成的方法
在各产品旁选择一种或多种方法。工作流会检查采集适用性、处理依赖并复用共同准备步骤。
| 阶段 | 方法 | 集成内容 | 运行环境与资源 | 论文 |
|---|---|---|---|---|
| 输入 | DICOM / NIfTI / NRRD | 格式转换、梯度验证与空间检查。 | dcm2niix 或 Slicer DWIConvert;可使用已有脑掩膜。 | [36] [27] [28] |
| 脑掩膜 | PNL CNN(默认) | 作者扩散 CNN 脑掩膜模型及配准。 | 托管 PNL 环境、权重及 ANTs。 | [37] [38] |
| 脑掩膜 | SynthStrip | 使用作者模型进行脑提取。 | 隔离环境及模型权重。 | [32] |
| 脑掩膜 | MRtrix3 dwi2mask | 原生扩散体积掩膜生成。 | MRtrix3 | [29] |
| 预处理 | MP-PCA | 随机矩阵去噪及噪声估计。 | DIPY or MRtrix3 dwidenoise | [39] [52] [53] [29] [30] |
| 预处理 | Local PCA | 过完备局部 PCA 去噪。 | DIPY;可选去噪方法。 | [40] [30] |
| 预处理 | Patch2Self | 自监督扩散体积去噪。 | DIPY;可选去噪方法。 | [41] [30] |
| 预处理 | Gibbs 振铃去除 | 局部亚体素位移振铃校正。 | DIPY or MRtrix3 mrdegibbs | [42] [29] [30] |
| 预处理 | 体积间配准 | 体积间运动校正及梯度旋转。 | DIPY;不执行 FSL eddy 校正。 | [30] |
| 预处理 | FSL eddy | 涡流及运动校正。 | MRtrix3 dwifslpreproc 与 FSL。 | [43] [29] |
| 预处理 | FSL topup | 磁敏感畸变估计与校正。 | FSL;需反向相位编码数据及采集元数据。 | [44] [29] |
| 微结构 | DTI(默认) | LS/WLS 张量拟合;输出 FA、MD、AD、RD、特征值和张量迹。 | SlicerDMRI | [45] [27] [28] |
| 微结构 | 自由水 | 自由水比例及组织校正 FA/MD;支持 WLS 或 NLS 拟合。 | DIPY;需适合的多壳层采样。 | [4] [5] [6] [30] |
| 微结构 | NODDI / AMICO | 输出 NDI、ODI、IsoVF 及拟合残差。 | AMICO;需适合的多壳层采样。 | [7] [31] |
| 微结构 | DKI | WLS/OLS 拟合;输出 MK、AK、RK、KFA、MKT、RTK 和有效性掩膜。 | DIPY;检查壳层、方向数及设计矩阵秩。 | [8] [30] |
| 微结构 | MK-Curve | 校正曲线、校正后的峰度图及各参数有效性。 | 内置 Python 后端;检查 DKI 适用条件。 | [9] |
| 解剖先验 | DDSeg | 使用转换后的 PyTorch 模型输出组织标签和概率。 | PyTorch;DDSeg 权重。 | [2] |
| 解剖先验 | DDParcel | 使用源自作者的模型推断解剖脑区。 | PyTorch;权重及配准模板。 | [3] |
| 解剖先验 | DDSurfer | 重建原生空间白质面和软脑膜面网格。 | PyTorch;DDSurfer 权重。 | [1] |
| 解剖先验 | BRAINSFit 配准 | 为适用的解剖路线执行模板配准。 | Slicer BRAINSFit / BRAINSResample | [51] [27] |
| 解剖先验 | 表面后处理 | 厚度、曲率、球面配准和 DK/Destrieux 图谱映射。 | 有许可的原生组件运行包;完整软件套件可选。 | [33] [47] [48] [49] |
| 纤维追踪 | 响应函数估计 | Dhollander 三组织响应函数估计。 | MRtrix3 | [12] [13] [29] |
| 纤维追踪 | CSD / MSMT-CSD | 单组织或多组织纤维方向分布。 | MRtrix3;取决于所选采集路线。 | [11] [46] [10] [29] |
| 纤维追踪 | 多组织归一化 | 对数域信号强度和不均匀性归一化。 | MRtrix3 mtnormalise | [17] [18] [29] |
| 纤维追踪 | iFOD2 / ACT(默认) | 使用 DDSeg 组织约束的概率追踪。 | MRtrix3;需复核解剖先验。 | [14] [15] [29] |
| 纤维追踪 | DTI 确定性追踪 | 基于张量方向及终止条件的纤维追踪。 | SlicerDMRI 与 DIPY。 | [45] [28] [30] |
| 纤维追踪 | UKF 双张量 | 自动调用官方追踪命令行工具。 | UKFTractography 扩展及 SlicerDMRI。 | [19] [28] |
| 纤维追踪 | SAF | 表面约束的短联络纤维追踪与几何筛选。 | MRtrix3;后处理后的原生表面。 | [20] |
| 纤维束 | WMQL(默认) | 官方束查询;支持子集选择及可选小脑区域查询。 | 作者 tract_querier;DDParcel 标签。 | [21] |
| 纤维束 | WMA | ORG、East-West 或 NABA 图谱配准与聚类;自动衔接 UKF。 | WMA;所选图谱;UKF 参考路线 | [22] [23] [24] [26] [54] [55] |
| 纤维束 | TractCloud | 调用作者学习型纤维分区模型并导出纤维束。 | PyTorch 后端、模型及质心。 | [25] [22] |
| 连接组 | 流线计数 | 将流线端点分配到 DDParcel 节点。 | Python 或适用的 MRtrix3 后端。 | [50] [29] |
| 连接组 | SIFT2 加权计数 | 利用 FOD 计算权重,并使用匹配流线构建矩阵。 | MRtrix3;对应的流线文件及权重。 | [16] [29] [50] |
| 连接组 | 标量与长度统计 | FA、MD、ODI 等参数均值,以及流线平均长度和总长度。 | Python API;需匹配参数图、节点及流线。 | [50] [29] [30] |
| 区域分析 | 指定脑区分析 | 复用参数图进行 ROI 统计、筛选流线并提取节点子矩阵。 | Advanced settings;基于已完成输出的工作流工具。 | [3] [30] [50] |
默认使用 DTI、CSD/ACT 和 WMQL。详细参数位于 Advanced settings,所选依赖在 Environment and installation 中单独准备。外部工具和模型安装前会请求确认。
实现来源与验证记录 记录各后端版本及单项测试范围。