找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 3156|回复: 6

请教storescp命令问题。

[复制链接]
发表于 2009-1-12 21:01:14 | 显示全部楼层 |阅读模式
preferred network transfer syntaxes (not with --config-file):
+x=   --prefer-uncompr          prefer explicit VR local byte order (default)
+xe   --prefer-little          prefer explicit VR little endian TS
+xb   --prefer-big          prefer explicit VR big endian TS
+xs   --prefer-lossless          prefer default JPEG lossless TS
+xy   --prefer-jpeg8          prefer default JPEG lossy TS for 8 bit data
这是截取storescp的命令参数说明,preferred 要怎么理解啊?是优先接收还是收到好
转换成指定格式?
如果都不是要怎么理解呢?
发表于 2009-1-14 09:47:41 | 显示全部楼层

随便说说

建议如果有空看看标准的对应章节。
我说的也不一定对,仅参考。
你写的选项是传输语法,个人理解传输语法可以有多个,你可以跟一下程序dcmtk3.5.4,例如在控制台输入参数 +xe ,程序中有语句
“cmd.addOption("--prefer-little",          "+xe",       "prefer explicit VR little endian TS");”  即 +xe 对应 "--prefer-little"。
“if (cmd.findOption("--prefer-little"))       opt_networkTransferSyntax = EXS_LittleEndianExplicit;” “对网络传输语法赋值”
再看函数“static OFCondition acceptAssociation(T_ASC_Network *net, DcmAssociationConfiguration& asccfg)”“接收连接”中有这么一段:
......................................................
switch (opt_networkTransferSyntax)
  {
    case EXS_LittleEndianImplicit:
      /* we only support Little Endian Implicit */
      transferSyntaxes[0]  = UID_LittleEndianImplicitTransferSyntax;
      numTransferSyntaxes = 1;
      break;
    case EXS_LittleEndianExplicit:
      /* we prefer Little Endian Explicit */
      transferSyntaxes[0] = UID_LittleEndianExplicitTransferSyntax;
      transferSyntaxes[1] = UID_BigEndianExplicitTransferSyntax;
      transferSyntaxes[2]  = UID_LittleEndianImplicitTransferSyntax;
      numTransferSyntaxes = 3;
      break;
........................................................
}
所以我理解当你选择不同的参数,即选择了不同的优先使用的传输语法。
storescp参数对应perfer  storescu对应 proposed  我理解传输语法顾名思义就是scu、scp通过协商建立连接传输dcm格式文件使用的语法,因为可能可以使用多个传输语法,所以有优先之说。
如有理解不对的地方,大伙一起探讨。
发表于 2009-1-14 12:10:24 | 显示全部楼层
楼上说的基本正确,
Proposed, prefered顾名思义,就是首选,推荐,优先考虑,建议等等的意思,就是说有多种Transfer syntax,但是有个最优先的
发表于 2009-1-14 12:15:03 | 显示全部楼层
继续说,拿打电话举例,两个人通电话,A是SCP,会三国语言,分别是英,法,德,B是SCU会四种语言,分别是中,日,英,法
1: A Prefered = 德,但B不会,无法交流?当然不是,A,B会用英语说了
2: A Prefered=法, 则AB用法语交流(注:跳过二者都会用的英语了)

这么说你明白了吗?
昨天在群上有人直接说:用母语不就是了....呵呵,请注意不是所有人的母语都是中国话或者英语的,而医疗设备可是卖到全球的,DICOM标准也是全球范围兼顾的
 楼主| 发表于 2009-1-21 19:41:13 | 显示全部楼层
好像明白了。谢谢大家耐心解释
发表于 2009-2-2 11:06:15 | 显示全部楼层
在dicom传输建立的过程中,scu方会给出一个/多个presentation context供scp方选择,若当前scu方提供的presentation context列表中存在scp方能够接受的presentation context,则scp方按照自己的优先顺序返回一个作为本次连接的传输环境,否则拒绝本次链接.

也就是说,你当前的scp能够接收列表的5种传输环境中获取的dicom数据,而不支持其他的....而你可以在这5种种选择一种作为default,此时其优先级最高,如果scu提供的可使用Pres Context 不包含在其中,则无法接收
个人认为是这样的....错了别怪我哦~
参见dicom第八章Pres Context Item部分说明~

[ 本帖最后由 kulatasana 于 2009-2-2 11:14 编辑 ]
发表于 2009-2-2 11:07:45 | 显示全部楼层
错误理解,编辑掉.....

[ 本帖最后由 kulatasana 于 2009-2-2 11:12 编辑 ]
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表