DIcom调试Planar configuration

最近和CBCT组同事调dicom图像

这边得图像模块老不兼容对方得dicom文件。

vtk兼容,自己写得原生解析不兼容。

给对方调好了格式,下次生成文件还会有错。

简单记录下,日后备查。

今天对方又加了 个字段:Planar configuration  

查了下,影响挺大得,这是彩色通道在pixeldata里得排列。

(0028,0006) Planar configuration 定义了各个彩色通道值在 Pixel Data 中排列的排列方式。值为 0 排列为 RGBRGB...。 值为 1 的排列 RRRRR…GGGGG…BBBBB。 
对于多帧图像,它是这样排列的:第一帧 RRR…GGG…BBB…,第二帧 RRR…GGG…BBB…

色彩模型:

  • RGB 这是最常用的彩色图像格式。

  • YBR_FULL 另外一种彩色图像格式,存储格式为 Y(Luminance 亮度) B(Blueness 蓝色), R(Redness, 红色)

  • YBR_FULL_422 一般用于 JPG 有损压缩格式的彩色图像,每两个像素共同使用32位,每一个像素都有自己的亮度 Y Luminance,但是共享相同的蓝色 B Blueness,红色 R Redness 两个分量。所以,它的像素值存储方式是:YYBR,YYBT,YYBR

  • YBR_RCT 用于JPEG 2000无损压缩彩色图像,Reversible Color Transformation, 可逆色彩变换。

      Y = (R+2G+B)/4,CB = B-G ,CR = R - GG = Y - (CR+CB)/4 ,R = CR + G, B = CB + G
    
  • YBR_ICT 用于 JPEG 2000有损压缩彩色图像 Irreversible Color Transformation, 不可逆色彩变换。

      Y = + .29900R + .58700G + .11400BCB = - .16875R - .33126G + .50000BCR = + .50000R - .41869G - .08131B
    

影像的 Transfer Syntax UID (0002,0010) 決定了影像的存储方式。 Pixel data 的存储方式,包括:

  • 未压缩:

    • Implicit VR Little Endian:
    • Default Transfer Syntax for DICOM 1.2.840.10008.1.2
    • Explicit VR Little Endian 1.2.840.10008.1.2.1
    • Explicit VR Big Endian 1.2.840.10008.1.2.2
  • 无损压缩:

    • JPEG Lossless :
    • Default Transfer Syntax for Lossless JPEG
    • ImageCompression 1.2.840.10008.1.2.4.70
    • JPEG 2000 Image Compression
    • (Lossless Only) 1.2.840.10008.1.2.4.90
    • RLE Lossless 1.2.840.10008.1.2.5
  • 有损压缩:

    • Default Transfer Syntax for Lossy
    • JPEG 12 Bit Image Compression



作者:坚果jimbowhy
链接:https://www.jianshu.com/p/12b9315dc30c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

Gradio学习(二)—————学习block布局

直接上代码 import gradio as gr with gr.Blocks() as demo: with gr.Tab(“Lion”) gr.Button(“new Lion”) with gr.Tab(“Tiger”): gr.Button(“new Tiger”) #因为在虚拟机中启动,而不是pycharm 所以指定主机ip (1.1.1.1)和端口号,如果是在pycharm 中&#…

【常识】大数据设计基础知识

底层存储:hadoop(hdfsmapreduce) Hadoop已经有十几年的历史,它是大数据领域的存储基石,HDFS目前仍然没有成熟替代品;MapR 文件系统在业内已经具有一定知名度了,不仅 MapR 宣布它自己的文件系统比 HDFS 快2-…

浙大版C语言题目集-函数题6

6-3 给定两个均不超过9的正整数a和n&#xff0c;要求编写函数求aaaaaa⋯aa⋯a&#xff08;n个a&#xff09;之和。 其中函数fn须返回的是n个a组成的数字&#xff1b;SumA返回要求的和。 #include <stdio.h>int fn( int a, int n ); int SumA( int a, int n );int main…

算法:两数之和

算法&#xff1a;两数之和 方法一&#xff1a;暴力法 function twoSum(nums, target) {for (let i 0; i < nums.length; i) {for (let j i 1; j < nums.length; j) {if (nums[i] nums[j] target) {return [i, j];}}}return null; }方法二&#xff1a;哈希表 func…

BLHeli_S 代码分析—文件 AIKON_Boltlite_30A.inc 分析

BLHeli_S 代码分析—文件 AIKON_Boltlite_30A.inc 分析 简介 根据源代码分析,改文件是配置的 c8051f390 的 MCU。根据该文件的代码配置可以了解到该型号电调的电路连接。包括引导加载程序端口、控制信号(PPM)获取端口、mos管控制端口、比较器反电势端口、调试端口配置。 引导…

【npm】常见错误

1.安装模块错误 错误内容 npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path E:\Program Files\nodejs\node_modules\live-server npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, mkdir E:\Program Files\nodejs\node_modules\live-server n…

道可云元宇宙每日资讯|上海市第二批元宇宙重大应用场景张榜

道可云元宇宙每日简报&#xff08;2024年2月18日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 上海市第二批元宇宙重大应用场景张榜 根据《上海市培育“元宇宙”新赛道行动方案》&#xff0c;市经济信息化委、市文化旅游局、市卫生健康委、市教委联合启动了上海…

【Unity】【VRTK】【VR开发】同时保持高效打包和调试的VRTK项目设置方式

【背景】 开发功能时希望能够快速调试&#xff0c;在Preview和开发编辑器间流畅切换。后期又希望快速打包到目标安卓平台&#xff0c;感受头盔内部的画面和操作效果。麻烦在于&#xff0c;这两者往往不是明确区分的&#xff0c;很可能一会儿只是想快速验证一下某些功能动作&am…

二进制搭建 Kubernetes

实验流程 k8s集群master01&#xff1a;192.168.75.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.80.20 k8s集群node01&#xff1a;192.168.75.20 kubelet kube-proxy docker k8s集群node02&#xff1a;192.168.…

Out of memory,realloc failed

git config --global http.postBuffer 1048576000

【软考】软件维护

目录 一、说明二、正确性维护三、适应性维护四、完善性维护五、预防性维护 一、说明 1.软件维护主要是根据需求变化或硬件环境的变化对应用程序进行部分或全部修改 2.修改时应充分利用源程序&#xff0c;修改后要填写程序修改登记表&#xff0c;并在程度变更通知书上写明新旧程…

【Elasticsearch专栏 03】深入探索:Elasticsearch的倒排索引是如何提高搜索效率的?

文章目录 倒排索引是如何提高搜索效率的&#xff1f;01 倒排索引的工作原理02 倒排索引如何提高搜索效率03 小结 倒排索引是如何提高搜索效率的&#xff1f; 倒排索引之所以能够提高搜索效率&#xff0c;关键在于其独特的构建方式和数据结构设计。下面&#xff0c;我将对倒排索…

多线程相关(2)

线程池 构造函数处理过程拒绝策略JDK 内置的拒绝策略 Executors类实现线程池线程池大小设置 通过复用已创建的线程&#xff0c;降低资源损耗、线程可以直接处理队列中的任务加快响应速度、同时便于统一监控和管理。 构造函数 /*** 线程池构造函数7大参数*/ public ThreadPoolE…

三角形个数

萌萌已经有2根长度为a和b的棍子&#xff0c;她想再找一根棍子组成一个三角形。在杂物间里&#xff0c;发现了 n 根棍子&#xff0c;长短不一&#xff0c;她想知道有几根棍子是可以取来和原来的2根组成三角形。 输入格式 第一行3个整数a、b和n&#xff0c;a和b的范围在[1,100]&…

前端 Vue启动本地(.exe)文件

首先&#xff0c;启动本地的.exe文件的方式有以下两种: 方式1:通过使用JS打开本地exe文件。但是一般的浏览器&#xff0c;由于安全问题&#xff0c;都会禁止掉这个JS对象&#xff0c;这就导致部分浏览器不支持该种方式。 方式2:利用浏览器外部协议&#xff08;URL Procotol&a…

opencv鼠标操作与响应

//鼠标事件 Point sp(-1, -1); Point ep(-1, -1); Mat temp; static void on_draw(int event, int x, int y, int flags, void *userdata) {Mat image *((Mat*)userdata);if (event EVENT_LBUTTONDOWN) {sp.x x;sp.y y;std::cout << "start point:"<<…

动态住宅IP代理是什么意思,与静态住宅IP代理的区别和比较

动态住宅IP代理是一种不断变化的IP地址解决方案&#xff0c;用于提高在线安全性、绕过地理限制并进行高级数据挖掘。与静态住宅IP代理相比&#xff0c;动态IP提供更高的匿名性和灵活性&#xff0c;但也有其独特的局限性和成本。我们旨在为您提供一个全面的视角&#xff0c;让您…

LocalSend跨设备传输文件传输协议 v2

LocalSend仓库地址&#xff1a;GitHub - localsend/localsend: An open-source cross-platform alternative to AirDrop LocalSend 协议 v2 English | 简体中文 主要为了实现一个不依赖于任何外部服务器的简单 REST 协议。 因为计算机网络比较复杂&#xff0c;因此我们不能假…

开源Excel 处理工具库MyExcel介绍以及简单例子

MyExcel是一个开源的Java库&#xff0c;用于简化Excel文件的处理。它提供了一种简单、高效的方式来读写Excel文件&#xff0c;支持多种格式&#xff0c;包括XLS、XLSX和CSV。MyExcel的设计目标是易于使用&#xff0c;同时提供足够的灵活性来处理复杂的Excel操作。 主要…

【ModelScope】Linux安装

CentOS下g的安装 Centos下的g安装包的名字叫做gcc-c&#xff0c;这是与Centos与Ubuntu不同的地方。安装命令如下&#xff1a; yum install gcc gcc-c pip安装 ModelScope Libarary由核心框架&#xff0c;以及不同领域模型的对接组件组成。如果只需要ModelScope模型和数据集访…