医学影像预处理

发布时间:2026/7/26 7:05:58
医学影像预处理 本操作都是在ubuntu20.04上进行的Linux系统一、转换格式核磁影像一般拍出来都是一系列的.dcm格式需要先把其压缩成NIfTI格式.nii.gz我们使用dcm2niix这款工具它可以从不同序列的DICOM文件中准确地重建出3D体积图像。可以使用dcm2niix的GUI版本或命令行工具。dcm2niix安装方法:sudo apt update sudo apt-get install dcm2niix基础命令与参数‌最小化命令‌默认压缩dcm2niix DICOM 文件夹路径输出文件位于当前目录自动压缩为.nii.gz。‌指定输出与压缩‌dcm2niix -z y -o /path/to/output /path/to/dicom_input。‌关键参数说明‌-z y启用 GZIP 压缩生成.nii.gz-z n为不压缩-z i可选 Zstandard 压缩需编译支持。-o 路径指定输出目录。-f 格式自定义文件名如%p_%s代表协议名_序列号。-b y同时生成 BIDS 兼容的.json元数据文件二、提取脑组织掩膜Mask2.1 安装工具FSL使用的工具是FSL根据FSL官网的步骤指令curl -Ls https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/releases/getfsl.sh | sh -s这一步要等很久~很久~很久~要有耐心安装好后修改环境变量打开~/.bashrc添加下面几句指令export FSLDIRpath/to/fsl export PATH${FSLDIR}/bin:${PATH} source ${FSLDIR}/etc/fslconf/fsl.sh保存好后运行source ~/.bashrc2.2 安装工具3D Slicer下载3D Slicer Linux版, 以5.10.0版本为例tar xzvf Slicer-5.10.0-linux-amd64.tar.gz #解压缩到当前文件夹 cd Slicer-5.10.0-linux-amd64 #cd到解压缩好的文件夹 ./Slicer # 运行3D Slicer2.3 去颅骨操作针对DWI弥散加权成像的.nii.gz格式影像要进行去除颅骨和软组织的“颅骨剥离”Skull Stripping最专业且主流的工具是FSL的BET (Brain Extraction Tool)。由于DWI图像对比度与结构像T1不同直接处理时需要一些技巧。我们不直接对信噪比较低、有扭曲的DWI原始图像进行剥离而是先计算一张对比度更好的平均b0图像无弥散加权图像在其上生成mask再将mask应用到整个4D DWI数据上。PS理论上用对应的T2 flair生成mask效果最好因为对比度极佳T2 flair 抑制了脑脊液信号同时脑组织灰质/白质与颅骨、软组织之间有非常清晰的边界这让bet算法能非常准确地勾勒出脑轮廓图像质量高T2 flair 是结构像信噪比高、没有 DWI 那样的扭曲和信号衰减生成的mask边缘平滑、精确。但由于T2 flair很难和dwi完美对齐而配准时会有误差配准指令如下# 1. 对T2 flair做颅骨剥离生成蒙版 bet T2_flair.nii.gz T2_brain.nii.gz -m # 第 2 步在 T2 flair 上生成脑蒙版 bet T2_flair.nii.gz T2_brain -m # 第 3 步将 T2 flair 线性配准到 DWI 空间以 DWI 的第一个 volume 为参考 flirt -in T2_flair.nii.gz -ref DWI.nii.gz -out T2_flair_reg.nii.gz -omat T2_to_DWI.mat # 第 4 步将蒙版用同样的变换矩阵映射到 DWI 空间 # 注意这里一定要用 nearestneighbour 插值保证蒙版是二值的0和1 flirt -in T2_flair_mask.nii.gz -ref DWI.nii.gz -out mask_reg.nii.gz -init T2_to_DWI.mat -applyxfm -interp nearestneighbour # 第 5 步将配准后的蒙版应用到原始 DWI 数据 fslmaths DWI.nii.gz -mul mask_reg.nii.gz DWI_brain.nii.gz原始dwi影像如下包含颅骨及头皮组织等经T2 flair获取mask去颅骨结果如下仍有少许头皮组织未去除干净博主猜测是因为配准有误差有大神知道原因麻烦评论区告知感谢感谢博主研究了下采集到的DWI影像中有40张影像其中包含1个b值因此使用b0值计算掩膜来提取干净的脑组织。查看了下DWI的nii.gz图像维度提取b0值和三维DWI值fslroi DWI.nii.gz DWI_0.nii.gz 0 1 #从第一个volume开始提取一个 fslroi DWI.nii.gz DWI_1.nii.gz 1 1 #从第二个volume开始提取一个b0是最后一个volume,对提取的b0做颅骨剥离bet DWI_1.nii.gz b0_brain.nii.gz -m -f 0.5将蒙版应用到DWI文件fslmaths DWI_1.nii.gz -mul b0_brain_mask.nii.gz b0_dwi_brain.nii.gz结果如下干净多了但影像还是很模糊后续再研究下如何提高清晰度