amobbs 东莞阿莫电子网站/东莞南城健逸电子贸易商行网站

 找回密码
 注册
bottom↓
查看: 618|回复: 119

c# 写的医学图像阅读器完成,放出源码。

[复制链接]
发表于 2011-5-9 16:06:13 | 显示全部楼层 |阅读模式
断断续续写了好长时间,终于写好了。进行了一些算法优化,加入了
放大镜(DR的时候比较卡,CT和MRI图像绝对流畅)、
最大灰度测试(在读一些不标准的图像时建议使用,平时关闭)、
鼠标滚轮翻页(文件夹模式,读ct及磁共振图像比较快,读DR的要等待大概1秒左右,视文件大小而定)
三个功能。
其他功能暂时未实现(还没来得及。。。时间啊。。。)。

可以读绝大部分CT、MRI、DR、CR图像。算法优化后,窗宽、窗位调节基本达到C++类似软件的速度。


(原文件名:dicmreader2.jpg)
点击此处下载 ourdev_638516R6EGHZ.rar(文件大小:58K) (原文件名:dicmreader.rar)  
鄙人写这个软件比较辛苦,也是多次努力的结果,请勿用于商业。。。。


点击此处下载 ourdev_638518VOPFS6.rar(文件大小:9K) (原文件名:dicmreaderexe.rar) 只是exe文件,必须要有.net2.0才可以直接使用(和.net3.0不兼容)。
发表于 2011-5-9 17:10:56 | 显示全部楼层
好,真的不错
发表于 2011-5-9 17:17:34 | 显示全部楼层
很棒的东东,支持楼主
发表于 2011-5-9 17:21:59 | 显示全部楼层
牛X
发表于 2011-5-9 17:26:14 | 显示全部楼层
请问楼主是做PACS或RIS方面的吗?
发表于 2011-5-9 17:34:36 | 显示全部楼层
楼主是不是生物医学专业的?对DICOM已经有很深的了解了吧?
发表于 2011-5-9 18:28:19 | 显示全部楼层
等学了C#再看,
发表于 2011-5-9 20:26:22 | 显示全部楼层
很好很好
楼主你最好充分发挥C#的层次结构,把这个搞成类,就是多层架构,方便以后修改
 楼主| 发表于 2011-5-9 20:27:46 | 显示全部楼层
回复【4楼】llq71  
-----------------------------------------------------------------------

实习医生。还不是真正的医生呢。

回复【5楼】harrylee  
-----------------------------------------------------------------------
影像专业的,谁然主攻诊断。哈哈。。。
DICM只要按照DICM标准读下来就行了,就像用单片机读bmp图片一样。
 楼主| 发表于 2011-5-9 20:29:43 | 显示全部楼层
回复【7楼】skynet  青青草原
-----------------------------------------------------------------------

の。。。。。那个类。。。俺不会写。。。
现在还只是函数的形式,直接调用就行了,就像单片机的库一样,这样也可以了吧。。。哈哈
发表于 2011-5-9 20:34:48 | 显示全部楼层
高手,仰望。
发表于 2011-5-9 22:20:37 | 显示全部楼层
仰望高手
发表于 2011-5-10 09:39:21 | 显示全部楼层
高手都是写算法的,呵呵
发表于 2011-5-28 16:10:48 | 显示全部楼层
回复【楼主位】hzr0071
-----------------------------------------------------------------------
哇塞,楼主真牛啊!!这医学图像阅读器挺好的,就是功能简单了点,希望楼主完善它,把它强大起来就好咯
发表于 2011-8-10 15:19:27 | 显示全部楼层
“影像专业的,谁然主攻诊断。”

牛!
发表于 2011-9-30 22:43:12 | 显示全部楼层
牛!
发表于 2011-9-30 22:44:41 | 显示全部楼层
楼主牛人
发表于 2012-6-14 17:03:15 | 显示全部楼层
很想学习 就是不能下载
发表于 2012-8-1 15:08:34 | 显示全部楼层
mark!mark!mark!
发表于 2012-8-1 18:29:01 | 显示全部楼层
惊叹医疗电子
发表于 2012-8-4 23:28:27 | 显示全部楼层
无论是在DICOM文件还是DICOM通信中,其信息都是由许多data element(数据单元)的集合所表示,每个data element表示一个属性,如病人姓名、图像类型等等。这些data element按照Tag值从小到大依次连接,类似于数据结构的链表或者数组(SQ类型有另外的编码方式,以后会讲到),请看下图,一个data element包含四个字段Tag,VR,ValueLength,Value Field.





Tag,就是医疗图像信息的唯一性编码,它唯一的表示某种参数或者属性。Tag的值由一个16位的组号和一个16位的单元号组成,如(0008,0020) (注:16进制编码) 表示Study Date(检查日期),这些Tag的定义在第6章Data Dictionary中可以查到。

VR即Value Representation 翻译过来的意思就是值的表达方式,其实就类似于软件的数据类型,如int,string类型。它是由2个单字节

字符表示,如'AE'表示这是AE Title类型的数据。VR在实际存储编码中不一定会有,这取决于采用的transfer syntax(传输语法),采用implicit little endian的语法时,VR是没有的,这就需要软件系统自己有套字典可以根据Tag去查找VR 。

Value Length: 就是Value Field的长度,以字节为单位

Value Field: 值域,字节长度必须为偶数。



将data element的数据结构编码为字节流时受以下几个因素影响:

1.传输语法: Implicit/Explicit VR,      BIG/LITTLE Endian

2.VR





当采用implicit VR时,其编码如下,这个时候是没有VR字段的,它采用data dictionary默认的VR.











当采用Explicit VR时,如果VR = OB,OW,OF,SQ,UT,UN时,其编码如下,







如果VR为其他值是编码如下









BIG/LITTLE Endian

影响的是多字节类型数据的字节编码顺序
Little Endian: 最低字节先编码。
Big Endian: 最高字节先编码

对于单字节类型的数据,如字符串或者其他字节型数据没有影响,以下VR类型的受影响:
 2-byte US, SS, OW,AT
 4-byte OF, UL, SL, FL
 8 byte FD
例如: 8-byte FD的数据6789ABCD,  

在little endian编码下是CDAB8967, 在BIG endian编码下是6789ABCD.

这个区别非常重要,尤其在实现dicom数据编解码功能时,一定要注意判断,通过字节交换统一为一样的数据格式,否则同样的数据在不同的平台下会得出不同的结果。
发表于 2012-8-5 00:14:53 | 显示全部楼层
MARK               
发表于 2012-9-27 14:11:09 | 显示全部楼层
真心不错,太有用了
发表于 2012-11-5 14:24:54 | 显示全部楼层
very good
发表于 2012-11-5 15:33:52 | 显示全部楼层
留名. 楼主太强了!
发表于 2018-6-27 00:01:50 | 显示全部楼层
留名 大侠很久没上了
发表于 2018-7-7 16:29:03 | 显示全部楼层
不错,感觉C#很强大啊
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs 东莞阿莫电子网站/东莞南城健逸电子贸易商行网站 ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2020-4-1 00:42

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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