还有像这样的igudim么,为啥老是不显示wwWigudimcom内榕

DICOM:DICOM Print 服务详细介绍
昨天专栏中发表了一篇关于DICOM Print的博文 DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析,文章从部署中遇到的实际情况出发,对DICOM Print中的连接协商(
昨天专栏中发表了一篇关于DICOM Print的博文 DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析,文章从部署中遇到的实际情况出发,对DICOM Print中的连接协商(Association Negotiation)进行了剖析,本文可看做是上一篇博文的补充,重新浏览和整理了DICOM3.0标准中对DICOM Print 服务的介绍,加深对DICOM打印的理解。
DICOM Print服务数据流:
DICOM标准中关于PRINT的详细描述在第4部分附录H中。其中主要有以下几个概念:
Film:,在DICOM协议中使用Film来统称不同的Hard Copy,例如photographic film和paper。
DICOM Print的数据流由Print Session、Print Job、Print(hard copy)组成,具体示意图如下:
DICOM Print服务各部分关系
DICOM Print中各对象(这里的对象代表的是DICOM打印操作过程中的某个具体事务,要与面向对象中的对象区别开来)之间的包含关系图如下所示,
将上述关系图中的各部分进行打印称之为Print Job。但是在将各部分传送到DICOM Printer打印机之前需要对数据进行变换,主要流程如下:
在Modality and User Sepecific Transformations中包括三种变换:
**1. Modality LUT transfZ喎"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcm1hdGlvbjxiciAvPg0KCTIuIE1hc2sgU3VidHJhY3Rpb248YnIgLz4NCgkzLiBWT0kgTFVUIHRyYW5zZm9ybWF0aW9uKio8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD48c3Ryb25nPk1vZGFsaXQgTFVUPC9zdHJvbmc+seS7u8rHvavJ6LG4z+C52LXEz/HL2Mr9vt3Xqru7s8nJ6LG4zt652Mr9vt2juzxiciAvPg0KPHN0cm9uZz5WT0kgTFVUPC9zdHJvbmc+seS7u8rH1+6zo9PDtcSjrNKyysfX7rOksbvK7NaqtcSjrNTayrW8ytOm08O5/bPM1tDX7rOjsbvTw7W9oaPA4MvG09pESUNPTc28z/G0psDt1tC1xLSwv+20sM67tfe92qOsxuTX99PDyse08tOhuNDQy8ikx/jT8rW9RmlsbdbQo6zA/cjnQ1TW0Mno1sPI7dfp1q+78rnH98C1xLSwwLS9+NDQt9ax8LTy06GjrNLUt72x49K9yfq527Ls1ri2qNfp1q+hozxiciAvPg0KPHN0cm9uZz5Qb2xhcml0eTwvc3Ryb25nPrHku7ujrNPD09rJ6NbD1+7Qoc/xy9jWtbbU06bT2rrau/Kw16OovLQwo6y78jI1NaOpoaO4w9fWts4oMjAyMCwwMDIwKdPrUGhvdG9tZXRyaWMgSW50ZXJwcmV0YXRpb27F5LrPyrnTw6GjPGJyIC8+DQo8c3Ryb25nPlByZXNlbnRhdGlvbiBMVVQ8L3N0cm9uZz6jrNXivs3Kx9aux7DM4bW9tcTU2s28z/HP1Mq+1tCzo9PDtb21xLSwv+20sM67tfe92qGj1NrNvM/xz9TKvtbQo6xQcmVzZW50YXRpb24gTFVUvavP8cvYyv2+3dequ7uzycnosbjM2LaotcShosjL0du/ycq2sfC1xM/Uyr7K/b7do6hQcmVzZW50YXRpb24gVmFsdWWjrLy0UC1WYWx1ZaOpJm1kYXNoOyZtZGFzaDtzb2Z0IGNvcHmju9TaRElDT0208tOh1tDE6qOsUHJlc2VudGF0aW9uIExVVL2rueLD3LbIo6hvcHRpY2FsIGRlbnNpdHmjqdPD09q08tOhu/q08tOhJm1kYXNoOyZtZGFzaDtoYXJkIGNvcHmhozwvcD4NCjxoMiBpZD0="dicom-print服务具体实现">DICOM Print服务具体实现
通过构造上述各部分以及各种变换,可以实现DICOM打印,其整体流程大致如下,
此外关于具体的实现流程在DICOM3.0第17部分中也已经给出,但是由于17部分中对于Association Negotiation部分介绍不够详细才导致遇到了上一篇博文中的问题。因此下面我会按照DICOM3.0第4部分中对DICOM Print各部分的详细介绍来描述DICOM打印流程,示意图如下:
该图与之前的“DICOM Print中各种对象之间的包含关系图”一一对应,一个是抽象概念之间的关系,一个是DICOM打印具体应用中各部分的关系。这里需要注意的有以下几点:
**1)**Basic Film Session SOP Instance实例对象是SCU端通过发送N-CREATE指令,由SCP服务端创建的;
**2)**Basic Film Box SOP Instance实例对象是SCU端在成功创建了Basic Film Session SOP Instance后,再次发送N-CREATE指令,由SCP服务端创建的;
**3)**SCP端在创建完成Basic Film Box SOP Instance后,会将Basic Film Box SOP Instance关联到其父类Basic Film Session SOP Instance实例对象上,于此同时根据2)中的N-CREATE请求中的Image Display Format参数为每一幅图像创建对应的Image Box SOP Instance。因此上图中Image Box SOP Instance中并未出现N-CREATE操作,因为在创建Basic Film Box SOP Instance时一同创建了。【具体参见DICOM3.0第4部分H4.2.2.1.3】
**4)**SCU客户端可以通过N-SET指令来设置3)中创建的各个Image Box SOP Instance对象。
5)当1)-4)操作基本完成后,Basic Film Session SOP Instance实例对象通过N-ACTION操作创建出Print Job SOP Instance实例对象,触发具体打印操作,待打印操作完成(或失败)后删除。打印过程中通过N-EVENT-REPORT操作向SCU端反馈具体打印状态。
**6)**Print Job SOP Class可以看做是一次打印操作,而PRINTER SOP Instance就是该次打印的具体的hard copy。
红黑联盟&版权所有
Copyright&& 2017
All rights reserved.本页链接:
网友们正在为您出谋划策,请耐心等待!
猜你感兴趣目前主要研究方向
Medical images
邮箱: 若进一步交流请发邮件^-^...
动脑筋 + 动脑筋 + 动脑筋 + …… + 动脑筋 = 科学画报
是一道动脑筋题,来源于科学画报的:
动脑筋 + 动脑筋 + …… + 动脑筋 = 科学画报
上述等式中,如果不同汉字表示不同的一位数的自然数(0~9),请问在等式成立的前提下,最多可以有多少个“动脑筋”?
这是有奖竞猜
所以就奔着这个奖做了一下(贪心是我的天性么?咩哈哈)!动手一做,冥思苦想一番 怎么都想不到合适的一组 沃趣,瞬间觉得自己的智商low爆了!唉,只能交给计算机了(人工智能都可以实现,憋说这个小问题了)。吭哧吭哧编了个matlab小程序实现了结果,并在下面附上小程序 代码1 和代码2(对代码1的改进)
运行结果:
最多可以有95个动脑筋
哈哈 最后希望我能中奖!!! 感谢计算机 感谢图灵 ~~啦啦啦啦
感谢党 让我变成码农~
low low 的代码 1
&span style="font-size:18"&%%%%%%%%%%%%%%%%%%%
% 动脑筋 + 动脑筋 + 动脑筋 + …… + 动脑筋 = 科学画报
%上述等式中,如果不同汉字表示不同的一位数的自然数(0~9),
%请问在等式成立的前提下,最多可以有多少个“动脑筋”?
%author by 【dcx】
%Copyright
%%%%%%%%%%%%%%%%%%
%动脑筋=abc 科学画报=defg 这7个数分别来自 0~9中的任意1个自然数
%但是 这个七个数各不相同 同时 a c d 不能为0 故 编程如下
l=604800; %循环次数 排列组合 A10(7)=10*9*8*7*6*5*4=604800
mx=[]; %存放倍数
C=[];%存放 defg,abc
while i&=l
ss=[1:9];% 为了a c d从中随机取
n=length(s);%数组长度
%% a 不能为 0
na=length(ss);
ia=ceil(rand(1,1)*na) ;%随机获取
s(ia+1)=[]; %释放掉
ss(ia)=[];
nb=length(s);
ib=ceil(rand(1,1)*nb) ;
ss(ib-1)=[];
flag=1; %0被取走了
%% c 不能为 0
nc=length(ss);
ic=ceil(rand(1,1)*nc) ;%随机获取缩放系数
if flag==1
ss(ic)=[];
ss(ic)=[];
s(ic+1)=[];
%% d 不能为0
nd=length(ss);
id=ceil(rand(1,1)*nd) ;%随机获取缩放系数
if flag==1
ss(id)=[];
ss(id)=[];
s(id+1)=[];
ne=length(s);
ie=ceil(rand(1,1)*ne) ;
nf=length(s);
iF=ceil(rand(1,1)*nf) ;
ng=length(s);
ig=ceil(rand(1,1)*ng) ;
获取满足条件的
A=a*100+b*10+c; %abc
B=d*1000+e*100+f*10+g;%defg
if mod(B,A)==0 % defg是abc的整数倍,则取余为0
C=[C;B,A]; %存下满足条件的 科学画报和动脑筋
mx=[mx,(B/A)];
disp('最多可以有的动脑筋数:')
max(mx)&/span&&span style="font-size:18"&disp('对应的科学画报和动脑筋是:')
C(find(mx==max(mx)),:)
&strong&&span style="color:#ff0000;"&改进的代码2&/span&&/strong&
&/span&&/p&&p&&span style="font-size:18px"&&/span&&pre name="code" class="plain"&
l=604800; %循环次数 排列组合 A10(7)=10*9*8*7*6*5*4=604800
mx=[]; %存放倍数
C=[];%存放 defg,abc
while i&=l
s=[0:9];% b e f g 可以随意在这里取
ss=[1:9];% a c d 不能为0 在这里取
%先取 a c d
[a,s,ss]=num(s,ss);
[c,s,ss]=num(s,ss);
[d,s,ss]=num(s,ss);
%再去 b e f g
[b,s]=num1(s);
[e,s]=num1(s);
[f,s]=num1(s);
[g,s]=num1(s);
A=a*100+b*10+c; %abc
B=d*1000+e*100+f*10+g;%defg
if mod(B,A)==0 % defg是abc的整数倍,则取余为0
C=[C;B,A]; %存下满足条件的 科学画报和动脑筋
mx=[mx,(B/A)];
disp('最多可以有的动脑筋数:')
disp('对应的科学画报和动脑筋是:')
x=find(mx==max(mx));
C(x(1),:)函数 numfunction [y,s,ss]=num(s,ss)
n=length(ss);
i=ceil(rand(1,1)*n) ;%随机获取
s(i+1)=[]; %释放掉
y=a;函数 num1
function [y,s]=num1(s)
n=length(s);
i=ceil(rand(1,1)*n) ;
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!DICOMDIR Reader
version 1.2 (10.6 KB) by
116 downloads
Select dicom series under a directory or CD using the DICOMDIR file.
10 Downloads
Copyright (c) 2009, Laszlo Balkay
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS&
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
dcmSeries = loaddcmdir(directoryname)
LOADDICOMDIR reads metadata from DICOMDIR file and shows a list of the different DICOM SERIES in a Pop-up menus. After selecting a dicom
series the program creates the dcmSeries structure containig the related file names and path.
The zip file also contains the loaddcm.m program which enable to generate the relating 3D image array using the names of dicom slices.
Reading DICOMDIR folder using the directory browser GUI:
dcmSeries =
Generating 3D array by selecting a dicom series:
[imaVOL, scaninfo, dcminfo] = loaddcm(loaddcmdir);
To preview the 3D array you can use the orthogonalslicer tool: ()
orthogonalslicer(imaVOL,scaninfo.pixsize,'gray');
To check the dicom header:
openvar('dcminfo');
Comments and Ratings (32)
2 downloads
9 Jul 2012
You should write in the description that the function saves a &dicomdir.mat& file!
I also got the following error:
----------
Undefined function or variable &StudyDescription&.
Error in loaddcmdir (line 229)
----------
I just changed line 229 to the following and it works now:
SeriesList{SeriesListNum} = [Pname,',
',Modality,',
SeriesDesc: ', SeriesDescription, ',
Number of Images: ',NumOfImages];
0 downloads
21 Mar 2011
You have done a very great piece of work.Still I have an error it is giving me
?? function [dcmSeries] = loaddcmdir(directoryname)
Error: Function definitions are not permitted at the prompt or in scripts.
Some how I will work on this but my problem lies when I need to calculate the Hounfied density for each pixel Please let me know how am i suppose to get the hounsfield density for each and every pixel value.
0 downloads
27 May 2009
0 downloads
27 May 2009
Laszlo Balkay
11 Sep 2008
Cristina Suárez-Varela
11 Sep 2008
Laszlo Balkay
7 Aug 2008
Pratik Chhatbar
4 Aug 2008
anyone had this error?
Undefined function or method dicominfo' for input arguments of type 'char'
31 Jul 2008
sujeet poudyal
20 Jul 2008
Laszlo Balkay
22 Apr 2008
Daniel Polders
18 Apr 2008
Good initiative!
I'm trying to read a dicomdir generated by a Philips Achieva MR system, but I get the following error:
??? Operands to the || and && operators must be convertible to logical scalar values.
Error in ==& loaddcmdir at 64 (dcmhdr = dicominfo(dcmdir_path);)
Any suggestions?
Laszlo Balkay
29 Mar 2008
Kalyani Mallela
27 Mar 2008
pedro aguiar
11 Feb 2008
Balaji Pillai
3 Feb 2008
mohamed KHAFAGY
21 Oct 2007
mohammed ashour
27 Sep 2007
nice program
osae qafeas
4 Apr 2007
Laszlo Balkay
6 Dec 2006
4 Dec 2006
Does this only work for specific type of dicomdir?
I tried read that from a Philips generate dicomdir, and it reports error:
&& dcmseries=loaddcmdir(fn);
ErrorOnDicomOpening =
Error using ==& struct
Field name must be a string vector.
hamdi issa
29 Nov 2006
Orkopoulos Anestis
11 Oct 2006
George Enrique Figueras Benítez
5 Oct 2006
how can i modifier a especific field in a dicomdir header
6 Aug 2006
4 Aug 2006
Could not open DICOMDIR from Phillips MRI scanner (tho readable on another program).
Error msg below...
ErrorOnDicomOpening =
Error using ==& medformats\private\dicom_read_attr&read_elt
Error using ==& medformats\private\dicom_read_attr&find_attr_details
Attribute () was not found in the data dictionary.
gabriel berindei
4 Jul 2006
nicu gavanescu
19 Jun 2006
Bob Alvarez
14 Jun 2006
Ravi Seethamraju
12 Dec 2005
There is a bug in the script. The field PatientName should be replaced with PatientsName in order for the script to work
Vihang Patil
17 Nov 2005
YAVUZ BAYRAM
7 Oct 2005
MATLAB Release
MATLAB 7 (R14)
Acknowledgements
MATLAB Online Live Editor Challenge
Win cash prizes and have your live script featured on our website
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.
Select Your Location
Choose your location to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a location from the following list:
(Fran?ais)
(Italiano)
Switzerland
Asia Pacific本页链接:
网友们正在为您出谋划策,请耐心等待!
猜你感兴趣}

我要回帖

更多关于 hexiaoshangudi 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信