目录
简介
用户界面
数据探针
应用程序菜单
工具栏
状态栏
查看加载的数据
选择显示的数据
与视图交互
查看交叉引用
鼠标模式
3D 视图
切片视图
数据格式
DICOM 格式
NIFTI 格式
DICOM 和 NIFTI 的区别
Nrrd 格式
.mhd+raw
mhd格式数据
3DSlicer数据格式
数据保存
数据格式之间的关系
1.mrml与nrrd格式之间的关系
2.nii与nii.gz格式之间的关系
3.如何保存为img文件格式
nrrd批量转换nii
参考链接
相关链接
3DSlicer用于医学图像分析(包括配准和交互式分割)和可视化(包括3D渲染)以及用于图像引导治疗研究的软件平台。
支持的操作系统:Linux,Mac OSX和Windows
Data Probe 位于模块面板的底部。它在鼠标指针的位置显示有关视图内容的信息:
切片视图信息(鼠标悬停在切片视图上时显示):
切片视图名称:Red
、Green
、Yellow
等。
解剖位置:三个坐标值,前缀为R
/ L
(右/左)、A
/ P
(前/后)、S
/ I
(上/下)。原点 - (0,0,0) 位置 - 由成像技术人员在创建图像时选择。例如对于临床图像意味着当前位置从原点向右 17.6mm,向后 35.3mm,从原点向上 12.1mm。(R 17.6, P 35.3, S 12.1)
查看方向:Axial
, Sagittal
,Coronal
用于标准解剖方向,以及Reformat
任何其他方向。
切片间距:此方向上切片之间的距离。对于临床图像,意味着切片之间的距离为 2.5 毫米。Sp: 2.5
卷层信息:三行,每个卷层一个
图层类型:L
(标签)、F
(前景)、B
(背景)。
卷名称,或者None
如果没有为该层选择卷。
体积体素 (IJK) 坐标。
体素值。对于标签卷,还显示与体素值对应的标签名称。
分割信息:对于在该位置可见的每个分割
图层类型:(S
分段)
分段名称。
段名称。如果在该位置显示多个段(段重叠),则会列出多个段名称。
文件:用于加载先前保存的场景或各种类型的单个数据集以及从 Internet 下载示例数据集的功能。此处还提供了保存场景和数据的选项。添加数据允许从文件中加载数据。建议使用DICOM模块从 DICOM 文件中导入数据并加载导入的 DICOM 数据。保存打开“保存数据”窗口,该窗口提供了用于保存所有数据或选定数据集的各种选项。
编辑:包含显示应用程序设置的选项,允许用户自定义切片器的外观和行为,例如工具栏中显示的模块、应用程序字体大小、临时目录位置、要包含的其他切片器模块的位置。
查看:显示/隐藏附加窗口和小部件的功能,例如用于从 Slicer 应用商店安装扩展的Extensions Manager 、用于检查应用程序是否遇到任何潜在错误的错误日志、用于获取 Python 控制台以与加载的数据交互的 Python 交互器或模块、显示/隐藏工具栏或切换视图布局。
工具栏提供对常用功能的快速访问。可以使用菜单显示/隐藏单个工具栏面板:查看/工具栏部分。
模块选择工具栏用于选择当前活动的“模块”。工具栏提供用于搜索模块名称(Ctrl
+f
或单击放大镜图标)或从菜单中选择的选项。模块历史下拉按钮显示最近使用的模块列表。箭头按钮可用于返回/返回以前使用的模块。
收藏模块工具栏包含最常用模块的列表。可以使用菜单自定义列表:编辑/应用程序设置/模块/收藏模块。将模块从模块列表拖放到收藏模块列表以添加模块。
此面板可显示应用程序状态,例如正在进行的当前操作。单击小X图标将显示错误日志窗口。
Slicer 中可用的数据可以在数据模块中查看,该模块可以在工具栏或模块列表中找到。可以在Slicer wiki上找到有关该模块的更多详细信息。
数据模块的默认主题层次结构选项卡可以在树层次结构中显示数据集,按照 DICOM 中的典型患者/研究/系列或任何其他文件夹结构排列:
主题层次结构视图包含许多适用于所有类型数据的内置函数。可以通过右键单击树中的节点来访问这些功能。每种数据类型的操作列表都不同,因此探索选项很有用。
医学影像数据有多种形式和表示形式,这可能会使刚进入该领域的人们感到困惑。下图简要概述了使用 Slicer 时遇到的最典型数据类型,尤其是在涉及分段的工作流中。
数据模块的主题层次选项卡显示场景中的所有数据集。单击“眼睛”图标可在所有视图中显示/隐藏项目。将项目拖放到视图中以在该视图中显示它。
可以使用 Ctrl-Left-Click 或 Shift-Left-Click 在主题层次结构树中选择多个项目,然后一次将其拖动到所选视图中。如果同时将两个卷拖到视图中,则它们将同时显示并混合在一起。
如果某个视图只显示在选定视图中,您可以右键单击该项目并选择“在所有视图中显示”以快速显示在所有视图中。
如果为切片视图启用视图链接,则将卷拖动到任何视图将显示该组中所有视图中的卷。
可以通过右键单击树的显示列中的眼睛图标来调整显示选项。请注意,这些选项与右键单击树中的“节点”或“转换”列时提供的选项不同。
对于卷,显示选项包括:
显示时重置视野:如果启用,则显示体积会调整视图以在中心显示体积,填充视野。
显示时重置视图方向:如果启用,则显示体积会使切片视图与体积轴对齐。
在任何切片或 3D 视图中移动鼠标时按住该Shift
键将导致十字准线移动到所有视图中的选定位置。默认情况下,当十字准线在任何视图中移动时,所有切片视图都会滚动到鼠标索引的相同 RAS 位置。此功能在检查时很有用。
要显示/隐藏十字准线位置,请单击十字准线图标
。
要自定义十字准线的行为和外观,请单击十字准线图标右侧的“向下箭头”按钮。
Slicer 有多种鼠标模式:Transform(允许交互式旋转、平移和缩放操作)、Window/Level以调整图像体积的亮度/对比度,以及Place(允许对象交互式地放置在切片和 3D 视图中)。
在这些鼠标模式之间切换的工具栏图标分别从左到右显示。Place Point List 是默认的地点选项,如上图所示;放置其他节点(例如标尺和感兴趣区域小部件)的选项也可从下拉放置模式菜单中获得。
注意:变换模式是默认的交互模式。默认情况下,在选择“放置模式”图标后,放置模式会持续进行一次“放置”操作,然后模式切换回变换。通过选中鼠标模式工具栏中最右侧显示的持久复选框,可以使放置模式保持持久(用于放置多个控制点)。
显示场景的渲染 3D 视图以及用于指定方向和比例的视觉参考。
默认方向轴:A = 前,P = 后,R = 右,L = 左,S = 上,I = 下。
3D 视图控件:任何 3D 视图中的蓝色条在其左侧显示一个图钉图标。当鼠标悬停在该图标上时,将显示一个用于配置 3D 视图的面板。当鼠标移开时面板被隐藏。要永久显示此面板,只需单击图钉图标。
居中 3D 视图(小方块)将切片以当前可见的 3D 视图内容和所有加载的卷(即使卷不可见)居中。视野(缩放系数)未调整,因此可能需要放大/缩小才能看到所有对象。要同时重置中心和视野,请在 3D 视图中单击并按下r键。
最大化视图/恢复视图布局临时最大化选定视图/恢复完整视图布局。
视点方向在标准方向之间切换视图方向。单击左、右、前、后、上、下按钮将使3D 内容从该方向观看。
视图链接按钮在 3D 视图中同步属性(视点位置、方向、标尺、方向标记等设置)。
正交/透视渲染模式切换。正交模式(平行投影)对于评估大小很有用,因为显示的对象大小不取决于与视点的距离。透视模式提供更好的深度感知,因为更近的物体看起来更大。
标尺控制标尺的显示。仅在正交渲染模式下可用。
立体观看使立体显示成为可能。红/蓝和立体模式只需要便宜的红/蓝有色眼镜。其他模式需要特殊的 3D 显示硬件。请注意,SlicerVirtualReality 扩展提供卓越的立体观看和交互体验,只需单击一个按钮即可实现完全沉浸式的 3D 可视化,并使用 3D 控制器与场景中的对象进行丰富的交互。
更多选择 (…)
必须启用使用深度剥离才能正确渲染半透明表面(在模型、标记等中)。在视图中使用体积渲染时,它可能会使渲染更新稍微变慢并出现伪影。
每秒显示/隐藏帧数 (FPS)在视图的角落显示渲染速度。
方向标记控制右下角人物、立方体等的显示。
可见性选项控制视图背景颜色和显示组件的可见性。
旋转不断旋转视图。
岩石不断地从左到右摇动视图。
放大/缩小略微放大/缩小视图。方便的触摸屏按钮。
可以使用Ctrl
+b
键盘快捷键切换倾斜锁定。在倾斜锁定模式下,通过禁用围绕仰角轴(上下方向)的旋转,将 3D 视图旋转限制在方位轴(左右方向)。
提供了三个默认切片视图(带有红色、黄色和绿色条),其中可以显示体积图像的轴向、矢状、冠状或倾斜 2D 切片。其他通用切片视图在其左上角有一个灰色条和一个标识号。
切片视图控件:任何切片视图的彩色条在其左侧显示一个图钉图标(显示视图控件)。当鼠标悬停在该图标上时,会显示一个用于配置切片视图的面板。当鼠标移开时面板被隐藏。要永久显示此面板,只需单击图钉图标。如需更多选项,请单击双箭头图标(显示所有选项)。
View Controllers 模块提供了在模块面板中显示这些控制器的另一种方式。
重置视野(小方块)以当前背景体积为中心
显示在 3D顶部的“眼睛”按钮可以在 3D 视图中显示当前切片。按钮的下拉菜单包含高级选项,用于自定义如何渲染此切片:“...match volume”表示属性取自整个体积,而“...match 2D”表示属性从当前切片中复制视图(例如,复制缩放和平移位置)。通常,这些差异是细微的,可以将设置保留为默认值。
切片方向显示允许您选择此切片视图的方向。
灯箱选择一个马赛克(又名联系表)视图。并非所有操作都在此模式下工作,将来可能会被删除。
重新格式化允许对切片方向进行交互式操作。
切片偏移滑块允许对体积进行切片。默认情况下,步长设置为背景体积的间距,但可以通过单击“间距和视野”按钮进行修改。
混合模式指定前景层和背景层的混合方式。
间距和视野间距定义切片偏移滑块的增量。视野设置切片的缩放级别。
旋转到体积平面更改切片的方向以匹配显示体积的最近采集方向。
方向标记控制右下角人物、立方体等的显示。
标尺控制切片视图中标尺的显示。
视图链接按钮同步同一视图组中视图的属性,例如前景/背景/标签体积选择、前景/标签体积不透明度、缩放系数。
对于平行视图(即,设置为相同的方向,OD,例如axial
),视图中心位置也是同步的。
长按按钮会显示热链接选项,该选项控制属性何时同步(立即或释放鼠标按钮时)。
一个视图组通常由 3 个正交视图组成(例如,在Four-Up
视图中、、、、R
三比三R G Y R+ G+ Y+`)。G
Y, views are in the same group). In layouts that contain multiple triplets of slice views, each triplet forms a separate group (e.g., in
layout there are two view groups, one group is
,
,
, the other groups is
,
,
图层可见性“眼睛”按钮和图层不透明度旋转框控制切片视图中分段和体积的可见性。
前景体积不透明度滑块允许在前景和背景体积之间淡入淡出。
插值允许在没有插值的情况下显示体素值。建议保持插值启用,并且仅在测试和故障排除时禁用它。
节点选择器用于选择要在此切片视图中显示的背景、前景和标签图卷和分段。注意:在一个切片视图中可以显示多个分段,但切片视图控件只允许调整当前选定分段节点的可见性。
放射生物图像中主要有六种格式
DICOM(医疗中的数字图像和通信Digital Imaging and Communications in Medicine),
NIFTI(神经影像学信息技术计划Neuroimaging Informatics Technology Initiative)(nii),
PAR/REC(飞利浦 MRI 扫描格式),
ANALYZE(Mayo 医疗成像)
NRRD(近乎原始光栅数据nearly raw raster data)
MNIC 格式
建议使用 NRRD 格式,因为它是一种简单的通用文件格式。
对于神经影像学,NIFTI文件格式可能是更好的选择,因为它是该领域最常用的研究文件格式。
DICOM格式包含患者姓名、医院、检查日期、扫描方式、层厚等参数,通常CT和MRI扫描都会生成DICOM格式。
我们要取得这些数据最简洁的方式是通过PACS系统,或者到影像科刻录光盘。
Dicom
属于最常见的格式之一,一个Dicom
文件包含了基本的病人信息以及图像信息。
病人信息
图像数据
大部分医学领域导出dicom格式,但是太复杂了。很多时候,将dicom转换为nifti格式也就是nii格式
一个NIFTI格式主要包含三部分:hdr, ext, img
hdr/header
这部分数据长度是固定的,当然不同版本可能规定的长度不同,但是同一版本的多个nii文件是相同的。
header里包含的信息有:
--维度,x,y,z,单位是毫米。还有第四个维度,就是时间。这部分储存的主要是四个数字。
--voxel size(体素大小):毫米单位的x,y,z大小。
--数据类型,一般是int16,这个精度不够,最好使用double类型。
--Form和转换矩阵,每一个Form都对应一个转换矩阵。暂时不知道Form是什么。
Extension
是自己可以随意定义数据的部分,可以自己用。但是通用的软件公司都无法使用这部分。
Image
储存3D或者4D的图像数据
这种格式的主要特点就是它包含两个能够将每个体素的索引(i,j,k)和它的空间位置(x,y,z)关联起来的仿射坐标。
转换矩阵可以轻松分清图像的左右。转换矩阵是一个4X4的矩阵,作用是将体素索引(i,j,k)转换为空间位置(x,y,z)。具体使用方法是转换矩阵乘以一个包含(i,j,k)的矩阵,就可以得到一个包含(x,y,z)的矩阵。
转换矩阵用到了一些概念,在dicom格式上也是一样的
DICOM 和 NIfTI 这两种格式的主要区别是:NIfTI 中的图像原始数据被存储成了 3 维图像,而 dicom 一些 2 维的图层。这就使得 NIFTI 更加适合那些应用在 DICOM 上的机器学习的方法,因为它是以 3D 图像建模的。处理一个单独的 NIFTI 文件要比处理成百上千个 dicom 文件更加容易一些。与 DICOM 格式下的好多个文件相比,NIFTI 格式下,每个 3d 图像只有两个文件
灵活的 Nrrd 格式包含一个单独的头文件和若干个可以被结合在一起或者分开的图像文件。Nrrd 头文件为科学可视化和图像处理准确地表征了 N 维光栅信息。
NRRD格式表征扩散加权图像(DWI)体积和扩散张量图像(DTI)。
为了目视确认张量的方向和期望的神经解剖学的结构一致,NRRD DWI 和 NRRD DTI 数据能够被读取为 3D 切片。
通用的 NRRD 文件格式(包括数据和文件头):
参考: http://teem.sourceforge.net/nrrd/format.html#general.1
mhd+raw格式是常见的一种医学图像格式,每一个病人的数据包含一个mhd文件和一个同名的raw文件(一一一对应),使用Python的SimpleITK库即可读取。
1)mhd(数据头部信息):存放数据的非图像信息,如图像大小、切片大小、像素大小等。
2) raw(未加工的数据):存储病人的图像信息,往往是三维体数据。(可以理解为将该病人不同的dicom切片图像都叠到一起,形成了一个三维图像,也就是我们通常处理的数据)。
每个病例数据存储都是由一个.mhd和一个.raw格式文件组成,且需要同名且放在同一目录下
2.1 .mhd说明图像数据的信息
将mhd文件用记事本打开即可,mhd中的各项参数十分重要。
参数解释
NDims :图片的维度
BinaryData:是否用二值存储
TransformMatrix:x, y,z方向(结合向量理解,如 1 0 0表示的就是 x 轴方向向量)
Offset:原点坐标
ElementSpacing:一个体素(图像像素)在xyz(真实世界CT采样)方向上的大小(也是像素间隔大小),其中一般xy对应的spacing是相同的
DimSize:每张slice的二维大小与张数(可理解为图像分辨率,并不是真实大小)
ElementType:MET_SHORT类型,数值有正负
ElementDataFile:头文件对应的原始数据
比如下面的一个.mhd格式文件信息:
ObjectType = Image
NDims = 3 #三维数据
BinaryData = True #二进制数据
BinaryDataByteOrderMSB = False
CompressedData = False
TransformMatrix = 1 0 0 0 1 0 0 0 1 #100,010,001 分别代表x,y,z
Offset = -224.84 -224.84 -99.5 #原点坐标
CenterOfRotation = 0 0 0
AnatomicalOrientation = RAI #RAI为出发方向,LPS为正
ElementSpacing = 0.5 0.5 1 #像素间隔 x,y,z
DimSize = 512 512 200 #数据的大小 x,y,z
ElementType = MET_FLOAT
ElementDataFile = CBCT.raw #数据存储的文件名
3DSlicer能够应用的最基本格式是DICOM,
其次3DSlicer也可以处理nii、nii.gz、nrrd、img等格式。
3DSlicer也可以处理一系列的jpg、tiff或者png格式数据,但需要知道图像的比例尺和层厚数据,处理的效果远远不如DICOM。
转换矩阵可以轻松分清图像的左右。转换矩阵是一个4X4的矩阵,作用是将体素索引(i,j,k)转换为空间位置(x,y,z)。具体使用方法是转换矩阵乘以一个包含(i,j,k)的矩阵,就可以得到一个包含(x,y,z)的矩阵。
转换矩阵用到了一些概念,在dicom格式上也是一样的
1.保存MRML文件(场景文件):MRML Scene(.mrml)
2.保存MRB文件(医疗现实束):Medical Reality Bundle(.mrb)
3.保存Volume(体数据):格式可为nrrd、nii、nii.gz、img等
mrml为场景数据类型,为3DSlicer特有的一种文件类型,保存时需要与其他数据一同保存,下次直接导入mrml数据即可进入到上次退出时的视图界面,因mrml数据包含有应用程序的状态和可视化参数。
nrrd为体数据文件,其他数据是在体数据的基础上生成的,单纯保留的nrrd格式文件可以应用,而单纯保存的mrml文件是不能应用的。
nii是NIfTI格式文件的扩展名,是未压缩格式,nii.gz为压缩之后的数据,两种数据都是体数据。
Analyze格式储存的每组数据组包含2个文件,一个为数据文件,其扩展名为.img,包含二进制的图像资料;另外一个为头文件,扩展名为.hdr,包含图像的元数据。
3D Slicer除了对DICOM数据支持外,还对Analyze和NIfTI数据提供支持。
Analyze格式储存的每组数据组包含2个文件,一个为数据文件,其扩展名为.img,包含二进制的图像资料;另外一个为头文件,扩展名为.hdr,包含图像的元数据。
Analyze格式是fMRI早期最常用的格式,现在逐渐被NIfTI格式所取代。Analyze格式的缺点是头文件不能真正反映元数据。
NIfTI格式最重要的特征是能反应MRI的像素指数与空间位置。标准NIfTI图像的扩展名是.nii,包含了头文件及图像资料。
单独的.nii格式文件的优势就是可以用标准的压缩软件(如gzip),而且一些分析软件包(如FSL)可以直接读取和写入压缩的.nii文件(扩展名为.nii.gz)。
nrrd文件格式转NIFTI_落花逐流水的博客-CSDN博客_nrrd转nii
医疗AI图像数据格式那点儿东西 - 知乎
医学影像中用 python 读取 nrrd 文件、nrrd转nii、nrrd转h5_紫芝的博客-CSDN博客_nrrd文件
超级简单的3D slicer使用教程(一)_爱不持久的博客-CSDN博客_3d creator slicer
3D slicer简易版中文教程 - 掘金 (juejin.cn)
3DSlicer教程(1)简介_求则得之,舍则失之的博客-CSDN博客_3d slicer
User Interface — 3D Slicer documentation
英文文档
英文社区论坛
中文社区论坛
3D Slicer——配准篇(基于Elastix形变配准)详细教程_Joker 007的博客-CSDN博客_elastix配准.mhd+raw格式图像读取和显示
3Dslicer医学图像三维坐标系(xyz,RAS,IJK)差异,转换,旋转,平面角_luemeon的博客-CSDN博客