3D Slicer 教程二 ---- 数据集
上一章下载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用于数据表示和可视化的软件库。
相关文章:
3D Slicer 教程二 ---- 数据集
上一章下载3d slicer的软件,这章从加载数据集来弄清楚3dslicer怎么使用. 一. 加载数据集 如果没有数据集,也可用用样本数据. (1) "File" --> "add Data" 可以添加图片文件夹,(试了MP4不行,内镜的视频估计不支持),添加单个图片的话,会出现一些选项, …...
【建议收藏】30个Java异常的知识点,你能撑到第几个?
文章目录 问题1:Error 和 Exception 区别是什么?问题2:运行时异常和一般异常(受检异常)区别是什么?问题3:JVM 是如何处理异常的?问题4:throw 和 throws 的区别是什么?问题5ÿ…...
【Linux系统编程】环境基础开发工具使用
目录 1、Linux软件包管理器yum 1.1 什么是软件包 1.2 安装软件 1.3 查看软件包 1.4 卸载软件 2、Linux编辑器-vim 2.1 vim的概念 2.2 vim的基本操作 2.3 vim的配置 3、Linux编译器-gcc/g 3.1 gcc编译的过程编辑编辑编辑 3.2 详解链接 动态链接 静态链接 4…...
滚雪球学Redis[6.2讲]:Redis脚本与Lua:深入掌握Redis中的高效编程技巧
全文目录: 📝前言🚦正文🌟6.2.1 Lua脚本的优势🖋️6.2.2 EVAL命令与Lua脚本编写🐵编写Lua脚本的基本步骤🐶示例:简单的GET和SET操作🐱示例:Lua实现自增和过期…...
上市不到一月,极氪7X交付破万台!论纯电,极氪真“遥遥领先”
承认吧,在纯电这条赛道上,极氪真就“遥遥领先”~ 推出的第一款原生纯电猎装极氪001,就常年霸榜25万级豪华纯电销冠 主打豪华大车的极氪009,成为40万以上高端“保姆车”的不二之选 第一次面向主流纯电市场推出的豪华大五座——极…...
【Linux】理解文件系统与软硬链接,观察inode号理解<“软链接是包含路径的新文件“,“硬链接是关于文件名的机制“>,最终明白<什么是真正删除一个文件>
前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…...
Java高并发控制之按业务对象加同步锁
一、需求 最常见的一个场景,账户余额更新! 业务场景稍复杂点,一个客户有多个虚拟余额账户,产生交易时,需要同时更新客户的多个余额账户,现在需要为余额更新做并发控制。 二、解决方案 1、依赖数据的乐观锁&…...
Python魔法函数__iter__的用法
下面是找到的一个比较好的科学解释: Python中可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。 1.__iter__方法的作用是让对象可以用for…...
Redis-缓存一致性
缓存双写一致性 更新策略探讨 面试题 缓存设计要求 缓存分类: 只读缓存:(脚本批量写入,canal 等)读写缓存 同步直写:vip数据等即时数据异步缓写:允许延时(仓库,物流&a…...
SAP学习笔记 - 豆知识13 - Msg 番号 NR751 - Object RF_BELEG R100、番号範囲間隔 49 不存在 FBN1
其实这种就是自动採番的番号没弄。 比如跨年了,那该新年度的番号范围没弄啊,就会出这种错误。 把番号范围给加一下就可以了。 1,现象 比如点 VL02N 出荷传票变更 画面,点 出库确认 就会出如下错误: Object RF_BEL…...
美摄科技云服务解决方案,方案成熟,接入简单
美摄科技作为视频处理领域的先锋,凭借其强大的技术实力和深厚的行业经验,推出了成熟的云服务解决方案,为轻量化视频制作开辟了全新的道路。 一、成熟方案,接入无忧 美摄科技云服务解决方案的最大亮点在于其成熟度和易用性。我们…...
【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type
【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type 环境 python 3.10.15pillow 10.4.0 paddleocr 2.8.1错误详情 错误文本 Traceback (most recent call last):....draw_left.polygon(box, fillcolor)ValueError: inco…...
python的多线程和多进程
首先需要明确的是,多进程和其他语言的一样,能够利用多核cpu,但是python由于GIL的存在,多线程在执行的时候,实际上,每一时刻只有一个线程在执行。相当于是单线程。然而多线程在某些情况下,还是能…...
基于SpringBoot+Vue+uniapp的时间管理小程序的详细设计和实现(源码+lw+部署文档+讲解等)
详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…...
HMAC-MD5参数签名算法
更多中电联在线工具 HMAC-MD5 是一种基于 MD5 哈希函数的消息认证码(MAC)算法。它用于确保消息的完整性和认证,通常用于数据传输和 API 请求。其基本步骤如下: 密钥准备:选择一个密钥(K)&#…...
【word】文章里的表格边框是双杠
日常小伙伴们遇到word里插入的表格,边框是双杠的,直接在边框和底纹里修改边框的样式就可以,但我今天遇到的这个有点特殊,先看看表格在word里的样式是怎么样,然后我们聊聊如何解决。 这个双杠不是边框和底纹的设置原因…...
我常用的两个单例模式写法 (继承Mono和不继承Mono的)
不继承Mono 不继承Mono代表不用挂载到场景物体上面,因此直接饿汉式 加 合并空运算符判空创建实例 >(lambda表达式)的意思是get,就是将instance赋给Instance属性 //单例private static JsonDataManager instance new JsonDataManager();public stati…...
Android 自定义Toast显示View
1、创建一个tosat显示的布局文件:toast_custom.xml <?xml version"1.0" encoding"utf-8"?> <com.hjq.shape.layout.ShapeLinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width&…...
SCRM呼叫中心高保真Axure原型 源文件分享
在数字化时代,客户关系管理(CRM)对于企业的成功至关重要。SCRM呼叫中心后台作为一款专为CRM设计的软件原型,致力于为企业提供高效、智能的客户沟通解决方案。本文将详细介绍该产品的核心功能及其对企业提升客户满意度和销售业绩的…...
Ubuntu(Linux)tcpdump使用方法详解
tcpdump命令 1.从所有网卡获取数据包 tcpdump -i any2.从指定网卡获取数据包 tcpdump -i eth03.指定网卡,IP,写文件 tcpdump -i eth0 host 192.168.16.101 -w ./tcp.dat //host 后面是发送方的地址4.指定网卡,源IP且目的IP,写入…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
