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标准委员会制定标准的初衷,只规定与医疗服务相关的协议和标准,对于具体的实现路径不做强制约束。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值