WADO-URI,WADO-RS

可以关注技术大牛博客https://blog.csdn.net/zssureqh

WADO-URI

accept:请求中的accept表明客户端(通常是浏览器)自身能够支持的从服务器返回的数据类型,例如上图中支持image/webp,image/,/*;q=0.8表示图片的质量 
accept-encoding:表示客户端(通常是浏览器)支持的编码格式,通常用于压缩和解压缩 
accept-language:表示客户端(通常是浏览器)支持的字符集,通常跟乱码有关。 
因为DICOM文件有多种类型,主要有Single frame(简单的可以理解为一个DICOM文件内部只有一个图片)、Multi frame(一个DICOM文件有多个图片)。每种类型在WADO-URI的Response返回结果中有所体现,大致如下:

类型内容备注
single frameapplication/dicom
image/jpeg
还可以支持image/gif,image/png,image/jp2
multi frameapplication/dicom
video/mpeg
image/gif
 
text文本信息application/dicom
text/plain
text/html
还可以支持text/xml,application/pdf,text/rtf

请求中唯一与DICOM有关的是GET请求的参数 

WADO-URI的query参数主要有以下几类: 

参数含义示例
Request type请求的类型,即WADOrequestType=WADO
Unique identifier of the Study检查的UIDstudyUID=xxxx
Unique identifier of the Series序列的UIDseriesUID=xxx
Unique identifier of the Object对象(文件)UID,可以叫做SOP、instance等objectUID=xxx
MIME type of response返回数据的类型该参数可选,contentType=application/dicom
Charset of the response字符集类型该参数可选,charset=xxx
Anonymize object数据匿名化该参数可选anonymize=yes

 针对于DICOM Image图像有如下可选参数

 

参数含义示例
Annotation on the object注释标记annotation=
Number of pixel rows图像的行数rows=64,当contentType=application/dicom时不存在
Number of pixel columns图像的列数columns=64,当contentType=application/dicom时不存在
Region of the image图像区域,期左上角像素点的x/y坐标和右下角像素点的x/y坐标,范围是0.0-1.0region=0.0,0.0,1.0,1.0,当contentType=application/dicom时不存在
Window center of the image窗位,类型是Decimal String,即DSwindowCenter=xxx,,当contentType=application/dicom时不存在
Window width of the image窗宽,类型是Decimal String,即DSwindowWidth=xxx,,当contentType=application/dicom时不存在
Frame number图像帧位置frameNumber=1,当对应的对象时Multi-frame时有效,另外当contentType=application/dicom时不需要存在
Image Quality图像质量imageQuality=xxx,档contentType=application/dicom时不需要存在,但是如果同时给出了一个压缩语义transferSyntax参数时需要设定ImageQuality。例如如果返回值为image/jpeg类型,那么imageQuality可以设置1-100来表示图像质量
Transfer Syntax UID传输语义,用于表示返回的DIOCM数据的字节顺序和编码方式transferSyntax=1.2.840.10008.1.2.1,默认是Explicit VR Little Endian(即1.2.840.10008.1.2.1)。

下面直接给出几个具体示例:

功能链接备注
请求一个DICOM图像,并进行匿名化处理http://www.linkingmed.com?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&contentType=application%2Fdicom
&anonymize=yes
&transferSyntax=1.2.840.10008.1.2.4.50
 
请求一个简单的DICOM图像,并要求转换成JPEG格式http://www.linkingmed.com?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
 
请求一个DICOM SR报告,要求以HTML格式返回http://www.linkingmed.com?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&charset=UTF-8
 
 https://www.linkingmed.com?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&contentType=image%2Fjp2;level=1,image%2Fjpeg;q=0.5
&annotation=patient,technique
&columns=400
&rows=300
&region=0.3,0.4,0.5,0.5
&windowCenter=-1000
&windowWidth=2500
这个请求链接几乎包含了上述提到的所有关于DICOM Image的操作参数

 WADO-RS

WADO-RS支持的操作有: 
- RetrieveStudy 
- RetrieveSeries 
- RetrieveInstance 
- RetrieveFrames 
- RetrieveBulkdata 
- RetrieveMetadata

上述操作的实现的功能可以直接从名称中看出来这里就不详细介绍了。由于WADO-RS是基于HTTP的GET来实现DICOM的交互的,因此需要将上述操作的结果封装到HTTP的Response中返回。对应的关系图如下所示: 
这里写图片描述

WADO-RS各个操作的格式

WADO-RS Action参数示例
RetrieveStudy RequestResource: {SERIVE}/studies/{StudyInstanceUID}
Method:GET
Headers:Accept:multipart/related;type=”application/dicom”或者type=”application/octet-stream”或者type=”{media-type}”
Accept: multipart/related; type=”image/jpx”; transfer-syntax=1.2.840.10008.1.2.4.92,, multipart/related; type=”image/jpx”; transfer-syntax=1.2.840.10008.1.2.4.93, multipart/related; type=”image/jpeg”
RetrieveStudy ResponseContent-type:multipart/related;type=application/dicom;boundary={MessageBodunary} 
RestireveSeries RequestResource:{SERVICE}/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}
Method:GET
Headers:Accept:multipart/related;type=”application/dicom”;或者type=”application/octet-stream”或者type=”{media-type}”
 
RetrieveSeries ResponseContent-type:multipart/related;type=”application/octet-stream”;boundary={MessageBodunary} 
RetrieveInstance RequestResource:{SERVICE}/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/instances/{SOPInstanceUID}
Method:GET
Headers:Accept:multipart/related;type=”application/dicom”或者type=”application/octet-stream”或者type=”media-type”
 
RetrieveInstance ResponseContent-Type:multipart/related; type=”application/dicom”; boundary={MessageBoundary} 
RetrieveFrames RequestResource:{SERVICE}/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/instances/{SOPInstanceUID}/frames/{FrameList}
Method:GET
Headers:Accept:multipart/related; type=”application/octet-stream”或者type=”{media-type}”
{FrameList}需要用逗号或者%2C隔离开,例如/frames/1,2,4,3
RetrieveFrames ResponseContent-Type:multipart/related; type=”application/octet-stream”; boundary={MessageBoundary} [dcm-parameters] 
RetrieveBulkdata RequestResource:{BulkDataURI}
Method:GET
Headers:Accept:multipart/related; type=”application/octet-stream” [dcm-parameters]或者multipart/related; type=”{media-type}” [dcm-parameters]
 
RetrieveBulkdata ResponseContent-Type:multipart/related; type=”application/octet-stream”; boundary={MessageBoundary} [dcm-parameters] 
RetrieveMetadataResources:{SERVICE}/studies/{StudyInstanceUID}/metadata或者
{SERVICE}/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/metadata或者{SERVICE}/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/instances/{SOPInstanceUID}/metadata
Method:GET
Headers:Accept:multipart/related; type=”application/dicom+xml”或者application/dicom+json
 
RetrieveMetadataContent-Type:multipart/related; type=”application/dicom+xml” [dcm-parameters]或者application/dicom+json [dcm-parameters]

 

最后看一下WADO-RS Retrieve Rendered Transaction,用于实现DICOM数据到图像格式的转换。请求的格式如下: 
这里写图片描述
针对各个级别的请求如下: 
这里写图片描述
对于DICOM图像格式转换,最重要的是请求中的{?parameter*}参数,参数详细配置如下: 
这里写图片描述
上述参数主要用于配置图像的区域和截取的窗宽窗位,与WADO-URI中的URL中的参数发挥的作用一致。具体的转换格式在“1#rendered-media-type”中给出,这个参数类似于WADO-URI中的&contentType=image%2Fjp2。 
由此可以看出WADO-RS与WADO-URI的实现方式是类似的,除了在获取基础对象(Study、Series、Instance)时刻的方式不同(WADO-URI时基于&拼接完成的URL字符串,而WADO-RS是利用的REST实现框架),参数的传递方式是一样的。通过在资源定位URI后的{?parameter*}参数来实现转换操作。或者说WADO-RS仅仅是将WADO-URI放在基础URI后面{?parameter*}参数中的三级UID(studyUID、seriesUID、objectUID)挪到了URI中,仅仅在{?parameter*}中传递转换操作的相关参数。

3.总结

由最初的WADO-URI,到WADO-WS,再到WADO-RS,实现框架越来越简捷清晰,开发工作越来越方便。虽然上文介绍了诸多繁琐的标准和条款,但是其本质是一样的,最终都需要落实到DICOM的解析、DICOM的格式转换、DICOM的存储上来。这也是DICOM标准委员会制定标准的初衷,只规定与医疗服务相关的协议和标准,对于具体的实现路径不做强制约束。

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

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

相关文章

OWA TOP10

1.SQL注入 1.1.解释 将一些包含指令的数据传入给解释器,如SQL注入 1.2.防范措施 对特殊字符进行转义 1.3.演示 package mainimport ("github.com/gin-gonic/gin""net/http" ) import "database/sql" import _ "github.com…

weakauras教程_简单的WeakAuras2教程 基础功能设置指南(2)

WeakAuras2教程之冷却设置 这样,不灭决心的冷却图标我们也就做出来了! 然后我们要做的事是让他们重合在一个位置(鼠标不准的话可以在图示里面的XY偏移调,两个数字都一样就行。 重合后我们关掉插件,使用技能不灭决心,&a…

weka介绍与安装

一、weka介绍 WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数…

海睿思分享 | 摆脱数据质量低下困扰,这个方法简单有效!

2019年五月,某企业数据服务平台推送了运营花呗的蚂蚁小微小额贷款有限公司进入清算程序。 究其原因,该数据服务平台抓取了不真实且不完整的数据,导致生成的数据质量低,信息不真实、存在法律合规风险等情况。 由于支付宝和花呗的…

从0到1实现IOC

一、什么是 IOC 我们先来看看spring官网对IOC的定义: IoC is also known as dependency injection (DI). It is a process whereby objects define their dependencies, that is, the other objects they work with, only through constructor arguments, argumen…

23 种设计模式的通俗解释

咱也来一篇java相关的哦 01 工厂方法 追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅…

23 种设计模式的通俗解释,秒懂

01 工厂方法 追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式&…

一篇读懂设计模式

概述 软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多 数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不 断重复发生的问题,以及该问题的解决方案。也就…

【计算机专业漫谈】【计算机系统基础学习笔记】W1-计算机系统概述

利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了。参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课自查资料整理后的笔记,…

开源预告:NAS邂逅WiFi6+

开源预告:NAS邂逅WiFi6 1 似曾相识的场景2 迷你PT仓库原型机3 开源内容 开源地址:https://github.com/sazczmh/pi-wifi6-nas 1 似曾相识的场景 不知道关注我的小伙伴们有没有如下体验。 学习工作: 为了便于PDF文档资料移动查阅&#xff0c…

电脑数据隐藏原因有哪些?电脑里隐藏的数据怎么恢复

电脑里隐藏的数据怎么恢复?电脑中的数据很容易被隐藏,这时候很多人可能会感到焦急和无助。不过不用担心,本文将为大家介绍三种方法,让你轻松找回被隐藏的数据! ※电脑数据隐藏原因有哪些 电脑数据可能会隐藏&#xf…

GOF23

 * GOFgang of four,指《设计模式》一书的四位作者; 创建型模式 1、ABSTRACT FACTORY 抽象工厂模式: √ 客户类和工厂类分开。消费者任何时候需要某套产品集合时,只需向抽象工厂请求即可。抽…

qq2012beta2java_QQ2012Beta2正式版官方发布下载 QQ群支持全群语音

期待已久的QQ2012 Beta2携带重磅功能今日倾情推出,引爆初夏热情!巧遇卡汇聚缘分引爆惊喜,视频秀随时直播精彩生活,QQ群可全群语音快乐畅谈! 群成员群消息提醒更贴心!更多惊喜撬动你的娱乐神经,这…

23 种设计模式的有趣见解

创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂…

海睿思分享 | 低代码开发直面行业变革:革新,创新?

软件体系结构从单体集群服务时期,历经领域驱动设计、微服务架构等阶段,软件产品的开发过程的变革正在潜移默化地进行。 在软件逻辑架构设计、物理架构设计、构建与部署这一系列化的过程中,存在可缩减的设计与开发成本,曾经看似不可…

stable diffusion中的u net

Stable Diffusion 包含几个核心的组件: 一个文本编码器(在 Stable Diffusion 中使用 CLIP 的 ViT-L/14 的文本编码器),用于将用户输入的 Prompt 文本转化成 text embedding;一个 Image Auto Encoder-Decoder&#xff…

Selenium自动化之弹窗处理

1.前言 我们在使用Selenium做Web自动化测试时,页面经常出现弹窗,如果不处理后续的测试脚本就无法正常运行,今天我们就带大家一起来学习如何处理Web页面上的弹窗。 2.Web页面弹窗的分类 弹窗通常有3种:Alert类型弹框、Confirm类…

leetcode98. 验证二叉搜索树(java)

验证二叉搜索树 leetcode98. 验证二叉搜索树题目描述 递归法解题思路代码演示 中序遍历解法解题思路代码演示 二叉树专题 leetcode98. 验证二叉搜索树 leetcode 98.验证二叉搜索树 来源:力扣(LeetCode) 链接:https://leetcode.cn/…

excel手机版_excel仓库管理手机版导出软件

在生产企业管理经营中、时常需要采用excel表格来制作仓库管理,然而excel制作的仓库只能在电脑端操作、非常的不方便。是不是可以由手机来替代同时也可以实现多人协同的管理方式。 事实现移动端的功能非常的强大、利用云服务计算就可以达到excel仓库管理的效果&#…

初识EasyUI

2.1何为EasyUI. EasyUI的全称是“JQuery EasyUI”,是一种基于jQuery、Angular、Vue和React的用户界面的插件的集合,EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样…