3D Slicer:从入门到精通(五)——数据的加载和保存
文章目录
数据加载和保存
在Slicer中,有两种主要类型的数据可以加载:DICOM和非DICOM。
DICOM数据
DICOM是一套广泛使用且复杂的数字放射学标准。
从DICOM文件加载数据到场景中需要两步:
- 导入:通过切换到DICOM模块并将文件拖放到应用窗口中,将文件添加到应用的DICOM数据库中。
- 加载:通过双击DICOM浏览器中的项目将数据对象获取到场景中。可以通过使用工具栏上的DICOM按钮访问DICOM浏览器。
场景中的数据可以通过两步保存到DICOM文件中:
- 导出到数据库:将场景中的数据保存到应用的DICOM数据库中。
- 导出到文件系统:将数据库中的DICOM文件复制到文件系统中的选定文件夹中。
非DICOM数据
非DICOM数据,涵盖所有类型的数据,从图像(nrrd, nii.gz, …)和模型(stl, ply, obj, …)到表格(csv, txt)、点列表(json)等。
加载数据
加载数据的方法:
- 将文件拖放到应用窗口,或者
- 在应用菜单中选择
文件
->添加数据
(或添加数据
工具栏按钮)
保存数据
要保存整个场景(所有数据、可视化和处理设置等):
- 在应用菜单
文件
->保存数据
保存数据
工具栏按钮
整个工作空间,包括所有数据和设置,可以通过点击左上角的小包装图标保存到一个单独的、独立的、自包含的
.mrb
文件中。所有文件的新副本将被写入并压缩到一个文件中,因此保存时间比仅修改文件的增量保存要长。
导出数据
要导出选定的数据集 - 用于与他人共享或加载到其他应用程序中:转到数据
模块,右键点击一个项目,并选择导出到文件...
。用于导出的设置(文件格式、文件名、选项)不会修改用于保存的设置。
可以通过将多个节点放入一个文件夹,然后导出该文件夹,一次导出多个节点。当导出整个文件夹层次结构时,可以启用
导出文件夹结构
选项,以使输出目录中的目录结构与主题层次结构文件夹结构相匹配。
支持的数据格式
关于使用LPS/RAS坐标系统
DICOM和医学成像软件使用LPS(左侧、后侧、上侧)坐标系统,而Slicer的内部表示使用RAS(右侧、前侧、上侧)。为了文件兼容性,Slicer假设文件中的数据是LPS坐标,并可能在读取或写入操作期间翻转前两个轴。
要了解更多,请参见坐标系统文档,以及Slicer中的坐标系统约定。
图像
读取器可能支持各种类型的2D、3D和4D图像,如标量、向量、DWI或DTI,包含图像、剂量图、位移场等。
- DICOM (.dcm或其他): Slicer核心支持读写某些数据类型,而扩展支持额外的数据类型。坐标系统:LPS(按照DICOM标准定义)。
- 支持的DICOM信息对象:
- Slicer核心:CT、MRI、PET、X光、某些超声图像;带有Slicer场景(MRB)的二次捕获在私有标签中
- 量化报告扩展:DICOM分割对象(SEG模态)、参数图、封装的STL(M3D模态)、遵循TID 1500测量报告模板的某些结构化报告
- SlicerRT扩展:DICOM RT结构集、RT剂量、RT计划、RT图像
- SlicerHeart扩展:2D/3D/4D超声(GE、飞利浦、Eigen Artemis等)
- SlicerDMRI束迹存储
- SlicerDcm2nii扩散加权MR
- 注意:
- 对于多种dMRI格式,我们推荐在将数据加载到Slicer之前使用DICOM到NRRD转换器。
- 可以使用DICOM模块的导出功能导出图像卷、RT结构集、剂量卷等。
- 通过创建DICOM系列模块提供了有限的写入图像卷到DICOM格式的支持。
- 通过报告扩展提供写入DICOM分割对象的支持。
- 支持的DICOM信息对象:
- NRRD (.nrrd, .nhdr):通用2D/3D/4D文件格式。坐标系统:文件头中定义的坐标系统(通常为LPS)。
- NRRD序列 (.seq.nrrd):4D体积
- 要将图像文件作为分割(也称为标签图像、掩码、感兴趣区域)加载,请参见分割模块文档。
- MetaImage (.mha, .mhd):坐标系统:LPS(文件头中的AnatomicalOrientation被忽略)。
- VTK (.vtk):坐标系统:LPS。重要限制:此文件格式不能存储图像轴方向。
- Analyze (.hdr, .img, .img.gz):此格式中图像方向的指定含糊不清,因此强烈不推荐使用。对于脑成像,请改用Nifti格式。
- Nifti (.nii, .nii.gz):用于脑MRI的文件格式。作为通用3D图像文件格式并不适合(改用NRRD格式)。
- 要将图像文件作为分割(也称为标签图像、掩码、感兴趣区域)加载,请参见分割模块文档。
- 标签图像文件格式 (.tif, .tiff):可以读写单个/一系列帧
- PNG (.png):可以读取单个/一系列帧,可以写入单个帧
- JPEG (.jpg, .jpeg):可以读取单个/一系列帧,可以写入单个帧
- Windows位图 (.bmp):可以读取单个/一系列
帧
- BioRad (.pic)
- Brains2 (.mask)
- GIPL (.gipl, .gipl.gz)
- LSM (.lsm)
- Scanco (.isq)
- Stimulate (.spr)
- MGH-NMR (.mgz)
- MRC电子密度 (.mrc)
- SlicerRT扩展
- Vista锥束光学扫描仪体积 (.vff)
- DOSXYZnrc 3D剂量 (.3ddose)
- SlicerHeart扩展:2D/3D/4D超声(仅限读取GE、飞利浦、Eigen Artemis等)
- 飞利浦4D超声:从QLab导出的笛卡尔DICOM
- GE Kretz 3D超声 (.vol, .v01)
- Eigen Artemis 3D超声
- 任何3D/4D超声图像和ECG信号:如果用户从供应商(GE Voluson、飞利浦、西门子等)获取Image3dAPI插件
- RawImageGuess扩展
- RAW体积 (.raw):需要手动设置头部参数
- 三星3D超声 (.mvl):需要手动设置头部参数
- SlicerIGSIO扩展:
- 压缩视频 (.mkv, .webm)
- IGSIO序列元文件 (.igs.mha, .igs.mhd, .igs.nrrd, .seq.mha, .seq.mhd, .mha, .mhd, .mkv, .webm):带有元数据的图像序列,例如用于存储手术导航和位置跟踪的超声数据
- OpenIGTLink扩展:
- PLUS工具包配置文件 (.plus.xml):用于实时从成像和跟踪设备以及各种传感器获取数据的配置文件
- Sandbox扩展:
- Topcon OCT图像文件 (.fda, 仅限读取)
模型
表面或体积网格。
- VTK多边形数据 (.vtk, .vtp):默认坐标系统:LPS。可以在头部指定坐标系统(LPS/RAS)。可以读写全彩(RGB或RGBA)网格(颜色必须作为
unsigned char
类型的点标量数据分配,并且具有3或4个组件)。使用"SlicerIGT扩展"中的"Texture model"模块可以应用纹理图像。 - VTK非结构化网格数据 (.vtk, .vtu):体积网格。默认坐标系统:LPS。可以在头部指定坐标系统(LPS/RAS)。
- STereoLithography (.stl):最常用于3D打印的格式。默认坐标系统:LPS。可以在头部指定坐标系统(LPS/RAS)。
- Wavefront OBJ (.obj):默认坐标系统:LPS。可以在头部指定坐标系统(LPS/RAS)。使用"SlicerIGT扩展"中的"Texture model"模块可以应用纹理图像。不支持将顶点颜色作为坐标后的额外值保存的非标准技术 - 如果需要顶点着色,则使用另一软件转换为PLY、VTK或VTP格式。
- Stanford三角格式 (.ply):默认坐标系统:LPS。可以在头部指定坐标系统(LPS/RAS)。
可以读写全彩(RGB或RGBA)网格(颜色必须分配给以uchar
类型属性命名的顶点数据的red
、green
、blue
和可选的alpha
)。使用"SlicerIGT扩展"中的"Texture model"模块可以应用纹理图像。
- BYU (.byu, .g; 仅限读取):坐标系统:LPS。
- UCD (.ucd; 仅限读取):坐标系统:LPS。
- ITK meta (.meta; 仅限读取):坐标系统:LPS。
- FreeSurfer扩展:
- Freesurfer表面 (.orig, .inflated, .sphere, .white, .smoothwm, .pial; 仅限读取)
- SlicerHeart扩展:
- CARTO表面模型 (.vtk; 仅限写入):特殊.vtk polydata文件格式变体,包含患者姓名和ID以允许导入到CARTO心脏电生理映射系统
分割
- 分割标签图表示 (.seg.nrrd, .nrrd, .seg.nhdr, .nhdr, .nii, .nii.gz, .hdr):3D体积(如果有重叠的分段,则为4D体积),带有自定义字段指定分段名称、术语、颜色等。
- 分割闭合表面表示 (.vtm):保存为VTK多块数据集,包含自定义字段指定分段名称、术语、颜色等。
- 标签图体积 (.nrrd, .nhdr, .nii, .nii.gz, .hdr):可以通过使用颜色表定义分段名称。要以NIFTI格式写入分割,请使用
Export to file
功能或将分割节点导出到标签图体积。 - 闭合表面 (.stl, .obj):每个文件可以读取单个分段。可以使用分割模块的
Export to files
功能直接导出到这些格式。 - SlicerOpenAnatomy扩展:
- GL Transmission Format (.glTF, 仅限写入)
- Sandbox扩展:
- Osirix ROI文件 (.json, 仅限读取)
- sliceOmatic标签文件 (.tag, 仅限读取)
变换
- ITK HDF变换 (.h5):用于线性、B样条、网格(位移场)、薄板样条和复合变换。坐标系统:LPS。
- ITK TXT变换 (.tfm, .txt):用于线性、B样条、薄板样条和复合变换。坐标系统:LPS。
- Matlab MAT文件 (.mat):用于线性和B样条变换。坐标系统:LPS。
- 位移场 (.nrrd, .nhdr, .mha, .mhd, .nii, .nii.gz):用于存储网格变换为矢量图像,每个体素包含位移向量。坐标系统:LPS。
- SlicerRT扩展
- Pinnacle DVF (.dvf)
标记
- 标记JSON (.mkp.json):点列表、线、曲线、闭合曲线、平面等。默认坐标系统:LPS。可以在图像头部指定坐标系统(LPS/RAS)。JSON模式可在此处获取。
- 标记CSV (.fcsv)
:用于存储点列表的旧文件格式。默认坐标系统:LPS。可以在图像头部指定坐标系统(LPS/RAS)。
- 注释CSV (.acsv):用于存储标记线、ROI的旧文件格式。
场景
- MRML(Medical Reality Markup Language File) (.mrml):MRML文件是一个xml格式的文本文件,包含场景元数据和指向外部存储数据文件的指针。参见MRML概览。坐标系统:RAS。
- MRB(Medical Reality Bundle) (.mrb, .zip):MRB是一种二进制格式,封装了所有场景数据(大数据和元数据)。内部使用zip格式。任何包含自给自足的数据树(包括.mrml文件)的.zip文件都可以打开。坐标系统:RAS。注意:只能选择.mrb文件扩展名进行写入,但之后如果需要访问内部数据,可以手动将文件重命名为.zip。
- 在XNAT目录格式中的数据集合 (.xcat; 仅限读取)
- 在XNAT归档格式中的数据集合 (.xar; 仅限读取)
其他
- 文本 (.txt, .xml., json)
- 表格 (.csv, .tsv)
- 颜色表:
- Slicer颜色表 (.ctbl, .txt)
- ITK-Snap标签描述文件 (.txt, .label)(仅限读取)这可用于加载在ITK-Snap中创建的分割。必须首先在场景中加载颜色表。然后,当加载标签图像文件时,在
Add Data
窗口中选择Segmentation
作为Description
列,并在Color node
列中选择加载的颜色表。
- 体积渲染属性 (.vp)
- 体积渲染着色器属性 (.sp)
- 术语 (.term.json, .json):标准DICOM或其他术语的字典
- 节点序列 (.seq.mrb):任何MRML节点的序列(用于存储4D数据)