当前位置: 首页 > news >正文

DICOM图像的常用一些参数解析

医学图像DICOM医学影像文件格式详解

Dicom文件基本操作

DICOM图像参数?
像素:构成图片的小色点。图像每个维度的像素个数——该维度一共有多少个均匀分布的像素点。
分辨率(单位DPI):每英寸(Inch)上像素的数量,即小色点的分布密度,当像素相同时,分辨率越高,即像素点密度越大,实际打印尺寸越小,图片越清晰。
实际尺寸:实际尺寸(英寸)=像素/分辨率; 1英寸=2.54厘米;
像素间隔(Space):图像中两个像素点之间距离代表的实际尺寸大小。

DICOM的宽高一般是按照毫米展示?
DICOM图像的宽高通常是按照毫米展示的。在DICOM文件中,图像的分辨率是以像素为单位的,而像素的大小通常是以毫米为单位的。
因此,DICOM图像的宽高也是以毫米为单位的。在显示DICOM图像时,可以将其转换为厘米或其他单位,但在进行图像处理或分析时,通常需要使用原始的毫米单位。

采集图像时的FOV一般大小是多少?像素间距通过FOV是怎么计算的?
在采集图像时,FOV(视场)的大小通常是根据具体的应用需求和设备参数来确定的。对于医学图像采集,FOV的大小通常是根据病灶的大小和位置,以及设备的成像能力来确定的。
一般来说,FOV的大小应该能够覆盖病灶的整个范围,同时也要考虑到图像的分辨率和信噪比。

像素间距是通过FOV和图像分辨率来计算的。图像分辨率是指每毫米内的像素数量,通常以像素/毫米为单位表示。像素间距是指相邻像素之间的距离,可以通过图像分辨率和FOV来计算:
像素间距 = FOV / 图像分辨率
例如,如果FOV为200毫米,图像分辨率为256像素/毫米,则像素间距为:
像素间距 = 200 / 256 = 0.8毫米
这意味着相邻的像素之间的距离为0.8毫米。
 

计算图像中两个坐标点的距离?

通过两个坐标点以及x、y的像素间距通过平方根的计算公式获得
直线长度距离 = Math.sqrt((X2 - X1) * (X2 - X1) *nPixelSpacingX*nPixelSpacingX + (Y2 - Y1) * (Y2 - Y1)*nPixelSpacingY*nPixelSpacingY)

其中nPixelSpacingX、nPixelSpacingY为像素间距值。

 

灰度级别一般有8级、16级、256级等分类。
8级灰度级别是最常见的,它的灰度值范围为0到255,其中0表示完全黑色,255表示完全白色。
16级灰度级别的灰度值范围为0到65535,其中0表示完全黑色,65535表示完全白色。
256级灰度级别的灰度值范围为0到255256,其中0表示完全黑色,255256表示完全白色。

 

位图对象的调色板(ColorPalette)是用于描述位图对象中每个像素的颜色的数据结构。
它包含了位图对象中所有颜色的RGB值,以及每个颜色在调色板中的索引。
调色板的作用是用于指定位图对象中每个像素的颜色,并且可以用于快速访问位图对象中的每个颜色。
在位图对象中,每个像素的颜色是由调色板中的颜色决定的。

 

位图对象的调色板与RGB或ARGB有着密切的关系。
在位图对象中,每个像素的颜色是由调色板中的颜色决定的,而调色板中的颜色的RGB值或ARGB值就是决定像素颜色的关键信息。因此,位图对象的调色板可以看作是RGB或ARGB值的集合,它们用于指定位图对象中每个像素的颜色。
 

特殊字段注释:
0028 0100 Bits Allocated 表示DICOM图像中用于表示像素值的位数,通常取值为8、12或16。这个字段定义了图像数据在DICOM文件中所占用的字节数。 

0028 0101 Bits Stored 表示DICOM图像中实际存储的位数,即像素值被压缩后所占用的位数。这个字段的值可能会小于Bits Allocated的值,因为压缩算法会将像素值进行压缩以节省存储空间。因此,Bits Allocated和Bits Stored这两个字段的区别在于,前者描述的是DICOM图像中用于表示像素值的位数,而后者描述的是实际存储的位数。

0028 0002 Samples Per Pixel 表示DICOM图像中每个像素所包含的样本数。样本数通常为1、2或4。当样本数为1时,表示该图像是单通道图像;当样本数为2或4时,表示该图像是多通道图像。 
如果在DICOM图像中,Samples Per Pixel字段的值为3,那么可能是因为该图像采用了一种特殊的颜色表示方式。例如,在一些医学图像应用中,可能会使用三通道的YCbCr颜色空间来表示图像,其中每个像素包含亮度(Y)、色度(Cb)和色度(Cr)三个样本值。在这种情况下,Samples Per Pixel字段的值就会为3。
需要注意的是,当Samples Per Pixel字段的值为3时,并不一定代表该图像是彩色图像,因为三通道的YCbCr颜色空间也可以用于灰度图像的表示。因此,要确定一张DICOM图像是彩色图像还是灰度图像,需要查看其Photometric Interpretation字段的值。

0028 0004 Photometric Interpretation 表示DICOM图像中像素值的表示方式。常见的值有“MONOCHROME1”、“MONOCHROME2”、“RGB”、“YBR_FULL”、“YBR_PARTIAL”等。
其中,“MONOCHROME1”表示图像是单通道灰度图像;“MONOCHROME2”表示图像是双通道灰度图像;“RGB”表示图像是彩色图像,像素值包含红、绿、蓝三种颜色的样本值;
“YBR_FULL”和“YBR_PARTIAL”表示图像是YCbCr颜色空间的图像,
其中“YBR_FULL”表示完整的YCbCr图像,包含亮度(Y)、色度(Cb)和色度(Cr)三个通道的样本值;“YBR_PARTIAL”表示不完整的YCbCr图像,只包含亮度(Y)和色度(Cb)两个通道的样本值。
因此,Samples Per Pixel和Photometric Interpretation这两个字段的区别在于,前者描述的是DICOM图像中每个像素所包含的样本数,而后者描述的是像素值的表示方式。
 

 

相关文章:

DICOM图像的常用一些参数解析

医学图像DICOM医学影像文件格式详解 Dicom文件基本操作 DICOM图像参数? 像素:构成图片的小色点。图像每个维度的像素个数——该维度一共有多少个均匀分布的像素点。 分辨率(单位DPI):每英寸(Inch&#xf…...

Java虚拟机(JVM):虚拟机栈溢出

一、概念 Java虚拟机栈溢出(Java Virtual Machine Stack Overflow)是指在Java程序中,当线程调用的方法层级过深,导致栈空间溢出的情况。 Java虚拟机栈是每个线程私有的,用于存储方法的调用和局部变量的内存空间。每当…...

MySQL流程控制

流程控制 顺序结构: 程序从上往下依次执行分支结构: 程序按条件进行选择执行,从两条或多条路径中选择一条执行。循环结构: 程序满足一定条件下,重复执行一组语句 针对于MySQL的流程控制语句主要有3类。注意&#xff…...

智安网络|深入比较:Sass系统与源码系统的差异及选择指南

随着前端开发的快速发展,开发人员需要使用更高效和灵活的工具来处理样式表。在这个领域,Sass系统和源码系统是两个备受关注的选项。 Sass系统 Sass(Syntactically Awesome Style Sheets)是一种CSS预处理器,它扩展了CS…...

Day14 01-Shell脚本编程详解

文章目录 第一章 Shell编程【重点】1.1. Shell的概念介绍1.1.1. 命令解释器4.1.1.2. Shell脚本 1.2. Shell编程规范1.2.1. 脚本文件的结构1.2.2. 脚本文件的执行 1.3. Shell的变量1.3.1. 变量的用法1.3.2. 变量的分类1.3.3. 局部变量1.3.4. 环境变量1.3.5. 位置参数变量1.3.6. …...

NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南

挑选指定系统和对应的GPU型号下载驱动和CUDA工具包: Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包_centos安装显卡驱动和cuda_Entropy-Go的博客-CSDN博客 相比之下,本文是在线安装NVIDIA GPU驱动和CUDA工具包方式,省去挑选对应正确安装包的烦…...

Php“牵手”拼多多商品详情页数据采集方法,拼多多API接口申请指南

拼多多详情接口 API 是开放平台提供的一种 API 接口,它可以帮助开发者获取商品的详细信息,包括商品的标题、描述、图片等信息。在电商平台的开发中,详情接口API是非常常用的 API,因此本文将详细介绍详情接口 API 的使用。 一、拼…...

未来公文的智能化进程

随着技术的飞速发展,公文——这个有着悠久历史的官方沟通方式,也正逐步走向智能化的未来。自动化、人工智能、区块链...这些现代科技正重塑我们的公文制度,让其变得更加高效、安全和智慧。 1.语义理解与自动生成 通过深度学习和NLP&#xff…...

C语言:深度学习知识储备

目录 数据类型 每种类型的大小是多少呢? 变量 变量的命名: 变量的分类: 变量的作用域和生命周期 作用域: 生命周期: 常量 字符串转义字符注释 字符串: 转义字符 操作符: 算术操作符…...

探索大模型时代下的算法工程师前景与发展路径

文章目录 大模型时代的挑战与机遇从算法到工程:技能升级的必要性发展路径与职业规划路径一:深耕研究领域路径二:工程实践与部署路径三:跨界合作与解决复杂问题路径四:教育培训和技术普及 不断学习与更新知识结论 &…...

【福建事业单位-综合基础知识】03行政法

【福建事业单位-综合基础知识】03行政法 1.行政法概述(原则重点)行政主体范围 行政行为总结 二.行政处罚2.1行政处罚的种类总结 行政法框架 1.行政法概述(原则重点) 行政法的首要原则是合法;自由裁量——合理行政&…...

CSS 背景属性

前言 背景属性 属性说明background-color背景颜色background-image背景图background-repeat背景图平铺方式background-position背景图位置background-size背景图缩放background-attachment背景图固定background背景复合属性 背景颜色 可以使用background-color属性来设置背景…...

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…...

Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist

一开始肯定要排个序,b相同时t大的在前边,不同时b大的在前面。 然后想最多只能选k个的限制,可以这样想,每次用到的b只能用已选到的最小的值,那可以把每个b都枚举一遍,然后每一次选时长最长的,且…...

postgresql中基础sql查询

postgresql中基础sql查询 创建表插入数据创建索引删除表postgresql命令速查简单查询计算查询结果 利用查询条件过滤数据模糊查询 创建表 -- 部门信息表 CREATE TABLE departments( department_id INTEGER NOT NULL -- 部门编号,主键, department_name CHARACTE…...

如何做好科技文献资料的翻译!

我们知道,科技文献是工程技术人员的重要参考文献,翻译科技文献资料有助于促进国内外科技知识和技术的传播。那么,如何做好科技文献资料的翻译,专业科技文献翻译哪家好? 据了解,科技文献翻译是一种以应用为主…...

处理Selenium3+python3定位鼠标悬停才显示的元素

这篇文章主要介绍了Selenium3python3--如何定位鼠标悬停才显示的元素 ,文中通过简单代码给大家介绍的非常详细,需要的朋友可以参考下 先给大家介绍下Selenium3python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素,要引入新模块 # coding…...

python通过S7协议读取西门子200smart数据

发现网上很多关于python通过s7协议控制200smart的代码都失败,我猜应该是版本的问题。自己捣鼓了半天,终于测试成功 from snap7 import util,clientmy_plc client.Client() #建立一个客户端对象 my_plc.set_connection_type(3) #如果是200smart,必须有此…...

深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)

深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)。 一、简介 单点登录(Single Sign On),简称为 SSO。 它的解释是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 ❝ 所谓一次登录,处处登录。同样一处退出,处处退出。 ❞ 二…...

【云原生】K8S控制详解

目录 一、Pod控制器1.1 Pod控制器及其功用1.2 pod控制器有多种类型1.3Pod与控制器之间的关系二、Deployment 三、SatefulSet3.1从上面的应用场景可以发现,StatefulSet由以下几个部分组成:3.2为什么要有headless?3.3为什么要有volumeClaimTemp…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则&#xf…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...