3D Slicer 教程二 ---- 数据集

news2024/11/26 2:55:17

上一章下载3d slicer的软件,这章从加载数据集来弄清楚3dslicer怎么使用.

一. 加载数据集

如果没有数据集,也可用用样本数据.

(1) "File" --> "add Data" 

可以添加图片文件夹,(试了MP4不行,内镜的视频估计不支持),添加单个图片的话,会出现一些选项,

labelMap 标签图 

标签图是一种用于表示图像中特定区域的二进制标签图。‌ 这种图通常用于医学图像处理中,表示解剖结构、病变和其他对象的空间位置。图像分割是制作标签图的过程,可以通过手动、半自动或全自动的方法进行‌1。

在3D Slicer中,标签图可以用于多种用途,包括可视化某些结构、进行定量分析(如测量体积、表面、形状属性)、3D打印和遮罩处理等。通过标签图,可以将处理或分析限制在特定的区域,从而更精确地分析和处理医学图像数据‌。

制作标签图的过程包括使用3D Slicer提供的多种工具和功能。例如,可以使用阈值、喷笔、画笔、橡皮擦等功能来绘制和修改标签。阈值工具可以根据像素强度范围选择区域,喷笔和画笔工具则可以用于绘制和修改标签图。此外,区域生长、裁剪等功能也可以用于标签图的制作和修改.

centered 居中

 原始的dicom信息头里会带着dicom信息,比如病人的位置,方向,间隔等.这个时候有可能展示的图像不一定居中. 选中就是忽视掉原始的信息,重置相机位置、调整视场或将对象移动到场景的中心等.

包括在视图中居中,在3D视图中居中,在切片中居中,在模块面板中居中.

Ignore oriention 忽视朝向 跟上面那个选项差不多

颜色模式 

(2) "File" --> ""add  Dicom Data"  添加dicom数据集

添加进去

然后加载.这个里面可以自己在slicer里面添加数据库配置

把dicom文件直接放到这个路径下就可以直接使用了

注意:

在医学影像和应用中,坐标系统的差异是一个常见问题。DICOM和大多数医学影像软件使用LPS(左、后、上)坐标系统来存储所有数据,而3D Slicer的内部表示则采用RAS(右、前、上)坐标系统。为了文件兼容性,Slicer假设文件中的数据是以LPS坐标系统存储的,在读写操作期间,可能需要翻转前两个坐标轴的符号以将数据转换为RAS坐标系统.

当从DICOM格式导入数据到Slicer时,Slicer会将LPS坐标转换为内部使用的RAS坐标。反之,当将数据从Slicer导出到DICOM格式时,也需要进行相应的坐标转换。

二.数据预览.

数据加载好之后,就会看到这个节点

右边视图也能看到咱们的图

这种是一个层级模式,病人,检查,图像依次向下.点击“眼睛”图标可以在所有视图中显示或隐藏一个项目。

可以试一下,看看右边图像的变换

三.数据处理

3D Slicer 建立在模块化架构上。选择一个模块来处理或分析你的数据。最重要的模块包括以下(完整列表可在模块部分找到):

欢迎(Welcome):当3D Slicer启动时的默认模块。面板提供加载数据和自定义3D Slicer的选项。在这些选项下方是包含使用3D Slicer的重要信息的下拉框。

数据(Data):充当中心数据组织枢纽。列出当前场景中的所有数据,并允许进行搜索、重命名、删除和移动等基本操作。

DICOM:导入和导出DICOM对象,如图像、分割、结构集、放射治疗对象等。

体数据(Volumes):用于改变各种体积类型的显示效果。

体积渲染(Volume Rendering):提供3D图像数据的交互式可视化。

分割(Segmentations):编辑显示属性和导入/导出分割。

分割编辑器(Segment Editor):使用各种手动、半自动和自动工具对3D体积进行分割。

标记(Markups):允许创建和编辑与场景相关的标记。

模型(Models):加载和调整模型的显示参数。允许用户改变3D表面模型的外观和组织方式。

变换(Transforms):此模块用于创建和编辑变换矩阵。你可以通过将节点从“可变换”列表移动到“已变换”列表,或者通过拖动数据模块下“变换节点”下的节点来建立这些关系.

四.数据保存

'File' --> "save data" 

这个没什么好说的,自己试

五.拓展

扩展可以看作是将一个或多个 Slicer 模块捆绑在一起的交付包。安装扩展后,相关的模块将作为内置模块呈现给用户。

最后就是怎么去学这个东西,官方上推荐是这个

Documentation/Nightly/Training - Slicer Wiki

一起学习,以下是涉及到一些专业名词翻译(可以不用看)

附录:

  • Bounds(边界):描述一个空间对象沿三个轴的边界框。在VTK中由六个浮点值定义:X_min, X_max, Y_min, Y_max, Z_min, Z_max。

  • Brightness/contrast(亮度/对比度):指定体素值到显示像素亮度的线性映射。亮度是线性偏移,对比度是乘数。在医学影像中,这种线性映射通常由窗宽/窗位值指定。

  • Cell(单元):网格数据单元是网格的简单拓扑元素,如线、多边形、四面体等。

  • Color legend(颜色图例):覆盖在切片或3D视图上的小工具,显示颜色图例,指示颜色的含义。

  • Coordinate system(坐标系):由原点位置、轴方向和距离单位指定。3D Slicer中的所有坐标系都是右手系。

  • Extension(扩展):不是与核心应用程序捆绑在一起但可以使用扩展管理器下载和安装的一组模块的集合。

  • Extensions manager(扩展管理器):Slicer的软件组成部分,允许直接从应用程序在扩展目录(也称为Slicer应用商店)中浏览、安装、卸载扩展。

  • Extensions index(扩展索引):包含每个扩展描述的存储库,扩展目录是从中构建的。

  • Extent(范围):沿三个轴的整数坐标范围。在VTK中由六个值定义,对于IJK轴:I_min, I_max, J_min, J_max, K_min, K_max。

  • Fiducial(基准点):代表3D空间中的一个点。这个术语来源于图像引导手术,其中“基准标记”用于标记点位置。

  • Frame(帧):时间序列中的一个时间点。为避免歧义,这个术语不用于指体积的一个切片。

  • Geometry(几何):指定3D空间中对象的位置和形状。关于图像几何的定义,请参见“体积”术语。

  • Image intensity(图像强度):通常指体素的值。根据选择的窗宽/窗位和颜色查找表,从此值计算显示像素的亮度和颜色。

  • IJK:体素坐标系统轴。整数坐标值对应于体素中心位置。IJK值经常用作坐标值来指定3D数组中的元素。

  • ITK:Insight Toolkit。Slicer用于大多数图像处理操作的软件库。

  • Labelmap(标签图):具有离散(整数)体素值的体积节点。通常每个值对应于特定的结构或区域。

  • LPS:左-后-上解剖坐标系。医学图像计算中最常用的坐标系。

  • Markups(标记):用户可以在查看器中放置的简单几何对象和测量。可以使用标记模块创建此类对象。

  • MRML:Medical Reality Markup Language。存储、可视化和处理可能在医学应用中使用的信息对象的软件库。

  • Model(模型):存储表面网格(由三角形、多边形或其他2D单元组成)或体积网格(由四面体、楔形或其他3D单元组成)的MRML节点。

  • Module(模块):Slicer模块是由图形用户界面、逻辑组成的软件组件,并可能提供新的MRML节点类型、显示管理器、输入/输出插件以及各种其他插件。

  • Node(节点):场景中的一个数据对象。节点可以代表数据(如图像或网格),描述其显示方式(颜色、不透明度等)、磁盘上的存储方式、对它们应用的空间变换等。

  • Orientation marker(方向标记):在切片视图和3D视图中显示轴方向的箭头、盒子或人形标记。

  • RAS:右-前-上解剖坐标系。Slicer内部使用的坐标系。

  • Region of interest (ROI)(感兴趣区域):指定3D中的盒状区域。可用于裁剪体积、剪裁模型等。

  • Registration(配准):在空间中对齐对象的过程。配准的结果是一个变换,它将“移动”对象变换到“固定”对象。

  • Resolution(分辨率):体积的体素大小,通常以mm/像素指定。

  • Ruler(标尺):可能指视图标尺或标记线距离测量工具。

  • Scalar component(标量分量):向量的一个元素。标量分量的数量意味着向量的长度。

  • Scalar value(标量值):一个简单的数字,通常是浮点数。

  • Scene(场景):这是当前加载到应用程序中的所有数据以及有关如何显示或使用这些数据的附加信息所包含的数据结构。

  • Segment(段):对应于分割中的单个结构。

  • Segmentation(分割):在图像中描绘3D结构的过程。分割也可以指分割过程的结果MRML节点。

  • Slice(切片):3D对象与平面的交集。

  • Spacing(间距):体积的体素大小,通常以mm/像素指定。

  • Transform(变换):可以将任何3D对象从一个坐标系变换到另一个坐标系。

  • Volume(体积):存储3D体素数组的MRML节点。

  • Voxel(体素):3D体积的一个元素,它有一个长方体的形状。

  • VR:缩写,可以指体积渲染或虚拟现实。

  • VTK:Visualization Toolkit。Slicer用于数据表示和可视化的软件库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2219894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++贪心

前言 C算法与数据结构 打开打包代码的方法兼述单元测试 简介 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。贪心算…

【设计模式系列】抽象工厂模式

一、什么是抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。这种模式允许客户端使用抽象的接口来创建一组…

AUTOSAR_EXP_ARAComAPI的5章笔记(17)

☞返回总目录 相关总结:AutoSar AP CM通信组总结 5.7 通信组 5.7.1 目标 通信组(Communication Group,CG)是由 AUTOSAR 定义的复合服务模板。它提供了一个通信框架,允许在 AUTOSAR 应用程序之间以对等方式和广播模…

第6章 元素应用CSS作业

1.使用CSS对页面网页元素加以修饰&#xff0c;制作“旅游攻略”网站。 浏览效果如下&#xff1a; HTML代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>旅游攻略</title><link type"t…

[JAVAEE] 线程安全问题

目录 一. 什么是线程安全 二. 线程安全问题产生的原因 三. 线程安全问题的解决 3.1 解决修改操作不是原子性的问题 > 加锁 a. 什么是锁 b. 没有加锁时 c. 加锁时 d. 死锁 e. 避免死锁 3.2 解决内存可见性的问题 > volatile关键字 (易变的, 善变的) a. 不加…

【Linux】多线程安全之道:互斥、加锁技术与底层原理

目录 1.线程的互斥 1.1.进程线程间的互斥相关背景概念 1.2.互斥量mutex的基本概念 所以多线程之间为什么要有互斥&#xff1f; 为什么抢票会抢到负数&#xff0c;无法获得正确结果&#xff1f; 为什么--操作不是原子性的呢&#xff1f; 解决方式&#xff1a; 2.三种加锁…

git add操作,文件数量太多卡咋办呢,

git add介绍 Git的add命令是用于将文件或目录添加到暂存区&#xff08;也就是索引库&#xff09;&#xff0c;以便在后续的提交&#xff08;commit&#xff09;操作中一并上传到版本库的。具体来说&#xff0c;git add命令有以下几种常见用法&#xff1a; 添加单个文件&#…

4、.Net 快速开发框架:DncZeus - 开源项目研究文章

DncZeus 是一个基于 ASP.NET Core 和 Vue.js 的前后端分离的通用后台管理系统框架&#xff0c;其愿景是成为一个易于使用且功能丰富的 .NET Core 通用后台权限管理模板系统基础框架。项目名称 "DncZeus" 由 "Dnc"(.NET Core 的缩写)和 "Zeus"(古…

CLion和Qt 联合开发环境配置教程(Windows和Linux版)

需要安装的工具CLion 和Qt CLion下载链接 :https://www.jetbrains.com.cn/clion/ 这个软件属于直接默认安装就行&#xff0c;很简单&#xff0c;不多做介绍了 Qt:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/ window 直接点exe Linux 先c…

el-table动态新增/删除表单行及校验规则

方式一&#xff1a; <template><el-form ref"ruleFormRef" :model"ruleForm" :rules"rules" label-width"120px" class"model-ruleForm":size"formSize" status-icon label-position"top">…

堆的使用实例

小伙伴们大家好&#xff0c;今天为大家带来一道算法题&#xff1a; 分析题意我们可知&#xff1a;数组最小元素一定位于0~k位置&#xff0c;如果我们首先将0~k位置构成最小堆&#xff0c;那么堆顶一定就是数组最小值。将堆顶拿出&#xff0c;将数组k1位置放入&#xff0c;那么数…

无人机+视频推流直播EasyCVR视频汇聚/EasyDSS平台在森林防护巡检中的解决方案

随着科技的飞速发展&#xff0c;无人机技术在各个领域的应用日益广泛&#xff0c;特别是在森林防护与巡检方面&#xff0c;无人机以其独特的优势&#xff0c;为传统林业管理带来了革命性的变化。本文将探讨无人机在森林防护巡检中的解决方案&#xff0c;分析其工作原理、优势及…

MYSQL 拼接函数

目录 1、CONCAT 2、CONCAT_WS 1、CONCAT 解释&#xff1a;用于拼接两个或多个字符串成一个字符串。如果任何一个参数为 NULL&#xff0c;则 CONCAT 函数的结果也会是 NULL。 语法格式&#xff1a;SELECT concat(column_name1,column_name2,...) FROM table_name 中文注释&…

【verilog刷题】时钟切换电路

时钟切换电路 1.基本概念-相关时钟源和无关时钟源2.基本的时钟切换电路&#xff08;组合逻辑&#xff09;2.相关时钟源无毛刺时钟切换电路3.非相关时钟源无毛刺时钟切换电路 1.基本概念-相关时钟源和无关时钟源 相关时钟源&#xff1a;时钟信号源之间存在某种同步或关联的关系…

[含文档+PPT+源码等]精品基于Nodejs实现的医院问诊系统的设计与实现

基于Node.js实现的医院问诊系统的设计与实现背景主要源于以下几个方面&#xff1a; 一、医疗行业变革的需求 随着互联网的飞速发展&#xff0c;特别是移动互联网技术的广泛应用&#xff0c;传统医疗行业正经历着前所未有的变革。医疗资源分布不均、患者就医难等问题日益凸显&…

数据结构单向链表的插入和删除(一)

链表 一、链表结构&#xff1a; &#xff08;物理存储结构上不连续&#xff0c;逻辑上连续&#xff1b;大小不固定&#xff09;二、单链表&#xff1a;三、单项链表的代码实现&#xff1a;四、开发可用的链表&#xff1a;四、单链表的效率分析&#xff1a; 一、链表结构&#x…

爬虫结合项目实战

由于本人是大数据专业&#xff0c;所以准备的是使用pycharm工具进行爬虫爬取数据&#xff0c;然后实现一个可视化大屏 参考项目&#xff1a; 1.医院大数据可视化最后展示 2. 大数据分析可视化系统展示 代码包&#xff1a;

如何防止SpringBoot中的jar反编译?解决相关报错及踩到的坑

目录 1. 面对的场景 2. 方案 2.1 使用代码混淆 2.2 JAR包加密 3. 项目操作 4. 启动方式 5. 踩到的各种坑 5.1 java -jar xxx-0.0.1-SNAPSHOT.jar 没有主清单属性 5.2 Caused by: java.lang.IllegalArgumentException: Unrecognized option: -pwdfxw-jar 1. 面对的场景…

sql-labs靶场第十七关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①寻找注入方法 ②爆库&#xff0c;查看数据库名称 ③爆表&#xff0c;查看security库的所有表 ④爆列&#xff0c;查看users表的所有列 ⑤成功获取用户名…

STM32CubeMX【串口收发USART】

第一步&#xff0c;配置cubemx 配置好点右上角生成 第二步&#xff0c;串口方式 阻塞式发送 英文、中文正常、浮点有口 /* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();//配置完自动生成的 发送到串口助手上 while (1){/* USER CODE…