- 博客(192)
- 资源 (45)
- 收藏
- 关注
原创 DICOM:DICOM3.0网络通信协议之“开源库实现剖析”
背景:日前,通过对比fo-dicom与dcm4che两种开源库(也是C#与Java两大语言体系)的不同实现来实战学习了DICOM的网络传输,博文中列举了两大开源库各自的实现特点,以及使用的语言特性。本篇继续对比两大开源库,从宏观整体来分析各自DICOM Protocol的实现,聚焦各自使用的线程池,以及管理方式……
2015-11-26 23:05:44 9599 1
原创 DICOM:DICOM3.0网络通信协议(三)
背景:专栏对于DICOM网络传输介绍过多次,例如DICOM:DICOM3.0网络通信协议(续)、DICOM医学图像处理:DICOM网络传输、DICOM医学图像处理:全面分析DICOM3.0标准中的通讯服务模块。此次通过对比fo-dicom与dcm4che两种开源库(也是C#与Java两大语言体系)的不同实现来实战学习一下DICOM网络传输的实现。
2015-11-23 22:07:08 14707
原创 【踩坑(Running)填坑(ZSSURE)】:WCF学习之InstanceContextMode与ConcurrencyMode
背景:WCF可以看作是微软对SOA架构的一种实现,或者说WCF的存在让开发者更容易创建面向服务的程序。面向服务本身不是一种技术,而是设计和实现软件的一种架构方式。从最早的面向过程(PO)、面向对象编程(OO),到后来的面向服务(SO)、面向资源(RO)编程,本身没有本质区别,反映出的是人们认识世界的方法论的迭代进化。 PO、OO、SO、RO,还有一个不沾边的O2O,各种概念层出不穷,在学习使用时要
2015-11-19 09:08:42 4397
原创 DICOM:C-GET与C-MOVE对比剖析(续)
背景:专栏之前剖析过DICOM协议的C-GET服务与C-MOVE服务,两者最大的区别在于C-GET是基于单个TCP连接的点对点的两方服务,而C-MOVE是基于两个TCP连接的三方服务,详情参见之前的专栏博文DICOM:C-GET与C-MOVE对比剖析。 近期在将相关DICOM服务,例如CStoreSCP、CMoveSCP,MppsSCP等,Docker化并Web发布时又遇到了一个问题,大致情形如下
2015-11-01 23:29:21 7275 4
原创 DICOM:试玩Docker发布C-STORE SCP服务
背景:还记得博客中很久之前写过一篇Windows环境下试玩Docker的水文,当时自然是出于好奇心态,对Docker略知一二。近两年随着dotCloud公司推出Docker并围绕之创建了生态体系,Docker容器虚拟化技术已经火遍了整个互联网。加之近期邮箱收到了多封诸如灵雀云、时速云的推广邮件,又重新燃起了试玩Docker的冲动。此次当然依然是不求甚解,仅仅把Docker当做虚拟机来使用……
2015-10-24 00:36:52 6410 3
原创 DICOM:DICOM3.0标准中文版开源书籍编辑之”github仓库合并“
背景:作为分布式版本控制系统的代表git和github已经成为大多数开发人员首选版本控制工具。由于其不同与SVN的集中式版本管理,因此在协同工作时的方式略有不同,下面让我们来对比分析一下(这里以本人的DICOM3.0标准中文版开源书籍为例)。
2015-10-10 23:23:47 4091
原创 日积(Running)月累(ZSSURE):EverNote标签管理
题记:从大数据到云计算、从O2O到可穿戴,身处移动互联网快速发展的时代,各种信息漫天飞,用信息大爆炸形容此情此景也早显苍白无力。 从宏观角度来看,全球化合作日渐频繁,一带一路、TPP;从微观分析,个体信息的获取、任务的实现也已从1-1单一直线关联转向了1-n多点网状关联。宏观与微观关联紧密,正如《三体》中通过人类世界各种不同文明的演化史来同宇宙大文明系统进行类比。背景:传统的程序员“大牛”是从基层
2015-10-10 22:40:03 2527
原创 日积(Running)月累(ZSSURE):SVN全新分支创建与VS窗体工程拷贝
背景:日积月累与踩坑填坑,是两个对应的系列。介绍主题、更新频率不如DICOM医学图像处理专栏般固定,主要用于记录日常工作中遇到的问题,可能很深奥、也可能很肤浅,其主要目的是备忘与交流。在互联网,尤其是移动互联网飞速发展的今天,信息爆炸已经不足以表达海量信息的量级,毕竟个人的记忆量有限,因此记录日常点滴就显得尤为重要。本篇记录两个简单的问题:SVN全新分支创建与VS窗体工程拷贝。
2015-09-20 22:27:57 2190
原创 DICOM:DICOM3.0标准中文版开源书籍协同编辑之“Github Pull Requests”
背景:博文专栏中介绍过DICOM标准中文版书籍的协作模式DICOM:开源书籍之『DICOM标准中文版』启动计划,之所以选择看云平台目的是希望更多的、各行各业的人员加入,例如英语专业、非医疗从业者都十分欢迎,对翻译中的语法、语言表述,甚至专业知识点进行评判修改。当然,如果您是一名IT从业者,已熟练使用SVN和GIT各种版本工具的人员,可以通过Github直接发起Pull requests请求,完成协同编辑。
2015-09-11 22:55:44 3772 7
原创 DICOM:DICOM三大开源库对比分析之“数据加载”
背景:上一篇博文“DICOM万能编辑工具之Sante DICOM Editor”介绍了DICOM万能编辑工具,在感叹Sante DICOM Editor神器牛掰的同时,想了解一下其底层是如何实现的。通过对比日常使用dcmtk、fo-dicom、dcm4che等开源库的兼容性推断Sante DICOM Editor很可能是基于dcmtk是实现的,本博文通过一个特殊数据来给大家对比一下三大开源库的兼容性。
2015-09-06 00:02:19 12336 14
原创 DICOM:DICOM万能编辑工具之Sante DICOM Editor
背景:在专栏博文中曾出现过多次Sante DICOM Editor,但大多时间是作为DICOM图像编辑工具使用,其实Sante DICOM Editor的DICOM服务功能也很强大,提供了常用的DICOM查询、上传、下载服务,完全可以充当mini PACS使用,或用于测试其他DICOM Server性能。本篇博文着重介绍Sante DICOM Editor中的DICOM Service。
2015-09-02 23:38:37 26039 11
原创 DICOM:DICOM3.0标准中文版开源书籍之“git版本库合并”
背景:之前翻译的DICOM3.0标准是在本地创建的git仓库,并非在github上创建,此时别人是无法访问的,当初的目的是想待标准翻译初步完成后再提交到github上,然而由于本地的翻译工作采用MarkDownPad进行编辑,文档中的图片需要有一个公网URL才能在文档中显示,因此就在Github上创建了DICOM-Chinese的仓库,在Figure子文件夹用于存放文档中出现的所有图片,现在需要将两者进行合并……
2015-08-29 20:34:14 2939
原创 DICOM:DICOM3.0标准中文版开源书籍之”本地版本管理方案“
背景:上个月DICOM:开源书籍之『DICOM标准中文版』启动计划项目已顺利启动,最终组内成员选用了看云作为开源书籍的提交、整合、发布的平台。主要的用意是操作简单,使用者不需要面对git、svn等工具繁琐的指令,像编辑传统文档一样对文档进行多人协作以及版本管理。这里再介绍几种文档版本管理的方案,供大家交流学习。
2015-08-23 00:51:49 5595
原创 踩坑(Running)填坑(ZSSURE):SQLite数据库操作效率分析
背景:之前对于数据库操作部分大多停留在会使用阶段,并未真正考虑过数据库SQL语句的执行效率问题。近期响应项目组其他成员需要,协助手动修改数据库。为了提高工作效率编写了C#测试工程进行相关操作。由于数据库记录量较大(超过10K条),在编写程序过程中发现不同的操作执行效率相差甚远,特做记录如下,待后续有时间再深入分析各种数据库的SQL语句的执行效率。此次数据库修改要求涉及到删除、修改、添加等各种操作,
2015-08-16 20:53:06 2747
原创 DICOM:Transfer Syntax传输语义之奇葩GE Private TS
背景:专栏之前对Transfer Syntax(暂定中文翻译为传输语义,8月初博客中提到的DICOM3.0标准中文版开源书籍计划顺利启动,后续会面临诸多专有名词的翻译工作,欢迎广大博友提意见)进行过多次的介绍,近期又在TransferSyntax章遇到了“坑”,因此本博文要介绍一下GE Private Transfer Syntax,CT Image Storage。
2015-08-03 00:30:20 9966 7
原创 DICOM:dcm4che工具包如何压缩dcm文件探讨(续篇)
背景前段时间博文 DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇)提到了一个问题:“利用dcm4che工具包中的dcm2dcm来进行dcm文件的压缩和加压缩,即改变dcm文件中的Transfer Syntax,例如由1.2.840.10008.1.2变成1.2.840.10008.1.2.4.70。在热心博友nanarongrong的帮助下,本博文中给出解决方案
2015-08-02 11:58:02 7983 10
原创 医疗时鲜资讯:互联网+医疗,技术 OR 需求
背景:许久没有写“医疗时鲜咨询”博文,究其原因是越来越觉得各种新闻满天乱飞,有些滥竽充数、有些毫无真实性可言、有些编辑拙劣。对从众多新闻消息中提取有用信息早已感到吃力,本篇起初打算写关于各种医疗工具(诸如杏仁医生、杏树林的病历夹、珍立拍、丁香园用药助手等等)的对比分析,以及背后的技术实力,近期偶然看到的两篇文章《22岁!天使轮估值超6亿 将颠覆整个视频和广告行业》和《22岁金证济苍和6亿云视链是假的
2015-07-31 00:30:57 3171 5
原创 DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇)
背景:DICOM专栏系列中曾介绍过大多数的DICOM标准开源实现库,例如dcmtk、fo-dicom、mDCM,以及dcm4che。之前的介绍大都局限在表层,并未深入对比分析彼此的不同,因此在具体使用过程中很容易踩坑——例如此次对于dcm文件的压缩。近期由于项目需要,外出给客户部署云平台,鉴于当地网络环境以及数据量的问题,急需对数据进行压缩处理,由于医学数据主要用于临床辅助诊断,因此不能采用有损压
2015-07-26 22:20:51 7196 6
原创 DICOM:C-GET与C-MOVE对比剖析
背景:之前专栏中介绍最多的两款PACS分别是基于dcmtk的dcmqrscp以及Orthanc,和基于fo-dicom的DicomService(自己开发的),该类应用场景都是针对于局域网,因此在使用DIMSE-C各项服务时并未遇到的复杂问题,学习和使用成本相对较低。通过近一年的时间也已经对C-ECHO、C-FIND、C-STORE、C-MOVE、N-PRINT等各项服务都进行了详细介绍,并且从DI
2015-07-13 22:24:31 14262 4
转载 转载:一个平庸程序员的自白(豆瓣深度好文)
题记:前一篇随笔:做一个平庸程序员,are you scared?博文中提到的豆瓣深度好文原文,想想还是转载过来吧,以免作者将原文给删掉。怎奈CSDN转载不是很方便,这里就直接截屏了,有兴趣的大家可以去源链接阅读,直接跟作者交流。 原文出处:一个平庸程序员的自白
2015-07-02 14:30:09 2759
原创 随笔:做一个平庸程序员,are you scared?
背景:一个平庸程序员的自白。近期看到的少有的好文,细细品味,感触良多,思来想去不知如何与作者交流。无论从工作经验,还是从境界,都与原作与译作有一段差距。但很多人都会有相似的经历,说出自己的故事,彼此交流或许是最好的途径。题记:编程在外人看来绝对属于脑力劳动,至少从大学教育来看软件工程、计算机专业都是需要很强的理科功底的。然而看看帝都上地、中关村深夜的壮观景象,你又会觉得编程是体力活,要不怎么会被戏称
2015-07-01 23:37:07 4106 18
原创 医疗时鲜资讯:谈谈“医学影像诊断&熟人医患关系”
背景:作为传统厂商,从入职到现在总算看到了公司试图转型的苗头,近期正在筹划一个在现有终端基础上的牙科影像分享和诊断平台,敬请期待。这半年来好久没有记录相关的医疗资讯了,2014互联网医疗元年刚过,无论是投资方还是创业者都冷静了许多,私底下开始加紧谋划新产品。在大众胃口被调起来后,真正能够笼络和留住用户的是产品的体验。所以上半年的资讯略显平淡。
2015-06-29 22:59:58 3160 1
原创 DICOM:dcm4chee奇葩逻辑浅析之UID修改
背景:近期由于项目需要,开始频繁接触基于Java的DICOM标准实现库,即dcm4che。与以往使用的dcmtk和fo-dicom不同的是,dcm4che工具包是整个dcm4che项目的一部分,只作为解析DICOM格式的工具包被dcm4chee使用,而dcm4chee是一种托管在JBoss AS中的WEB应用。其内部添加了诸多的业务层的逻辑,在实际应用中遇到了几个问题,记录下来,以备后续仔细分析。
2015-06-14 23:15:47 10224 12
原创 DICOM:Ubuntu14环境下安装dcm4chee+oviyam2.1
背景:之前博文DICOM:开源DICOM服务框架DCM4CHEE安装中曾介绍过在Windows7环境下安装部署dcm4chee。近期公司项目需要与部署到Linux系统的远端基于dcm4chee框架的DICOM服务器进行交互。由于网络问题,为了提高调试效率,就在本地Ubuntu14虚拟机中尝试安装部署了一套dcm4chee服务以及oviyam2客户端,详情如下。
2015-06-06 23:54:32 13051 36
原创 DICOM:再次剖析fo-dicom中DicomService的自定义事件绑定
背景:之前专栏中介绍过fo-dicom来实现DICOM标准中的DIMSE-C各项服务,此次现实中遇到了特殊需求,即“要根据不同的dicom文件存储到不同的位置,且该位置信息通过dicom文件内部自有信息无法构造”。在具体实现过程中由于WCF实例模型、C#闭包等原因,走了不少弯路,这里将整个分析过程记录下来,供以后学习参考。
2015-06-04 17:19:02 4361
原创 DICOM:参考dcm4che2扩展fo-dicom(mDCM)中的UserIdentity字段
背景:5月份的前半段好懒惰,手里积攒了好多篇文章,也有之前答应过博友要写的,迟迟未动笔。究其根源,有些许懒惰,但更多的是迷惑和一知半解,虽想写但却不知如何入手,零星的感悟要积累成文还是需要时间去沉淀的,以期尽量做到每篇博文有理有据。今天正好借着手头新任务介绍DICOM标准中的又一新内容,参照dcm4che2工具扩展fo-dicom(mDCM)向A-ASSOCIATE-RQ PDU中添加UserIdentity。
2015-05-27 20:20:07 4149
原创 DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(续篇)
背景:前一篇博文通过扩展JMeter的java请求,结合dcm4che2现有的工具包dcmsnd.bat实现了简单的测试DICOM服务器C-STORE SCP性能的尝试。由于借用了现有的dcmsnd.bat命令行工具,会有诸多的局限性,比如:1)必须构造命令行中的参数,才能调用dcmsnd.bat,操作多此一举2)无法准确跟踪一张图像上传完成后的准确时间3)需要准备海量测试图像。本文对DcmSnd修改……
2015-05-24 23:31:52 4967 1
原创 DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(前篇)
背景:目前对于传统WEB网站性能(压力/负载)的测试工具有很多,诸如loadrunner、iperf、siege等,操作都比较简单,这里就不介绍了。然而对于医疗领域内的服务器,通常指的是DICOM服务器,此刻使用传统的性能检测工具无法实施DIMSE服务测试,本文通过扩展JMeter的Java请求,结合dcm4che2工具包给出测试DICOM服务器性能的一种解决方案。
2015-05-24 17:06:00 5632 2
原创 利用Hexo搭建Github的个人主页
背景:近期在跟圈内朋友谈一件事情: **搭建一个关于DICOM协议的中文社区,以开源书籍的模式,自发翻译DICOM官方最新标准。以DICOM协议为切入点,通过阅读、研究、到最后翻译,更加全面掌握标准,尤其是加深对医疗行业的了解。 随着国内新医改的逐步深入,各行各业的创业者开始涉足医疗行业,无论出于颠覆旧有体制和现行标准,还是出于对DICOM标准了解不足的角度,未来新的医疗大环境下必然需要标准
2015-05-22 22:06:59 6976
原创 踩坑(Running)填坑(ZSSURE):DevExpress的XtraTabControl、Telerik的OpenAccessContext以及StarUML
背景:踩坑填坑系列博文坚持之前的约定,主要用于记录工作中遇到的各种问题,或简单,或繁琐。在还未详细剖析之前,先找到解决方案解决工作上的燃眉之急,待有时间后会整理成文,PUSH到日积月累系列中。此次“踩坑填坑”系列博文中介绍的内容略显分散,从DevExpress WinForm控件,到Telerik OpenAccess ORM,再到StarUML建模,详情见下文。
2015-04-29 00:19:22 3143
原创 DICOM:DICOM Print 服务详细介绍
背景:昨天专栏中发表了一篇关于DICOM Print中MetaSOPClass与SOPClass对比分析,文章从部署中遇到的实际情况出发,对DICOM Print中的连接协商(Association Negotiation)进行了剖析,本文可看做是上一篇博文的补充,重新浏览和整理了DICOM3.0标准中对DICOM Print 服务的介绍,加深对DICOM打印的理解。
2015-04-19 22:38:29 14452 14
原创 DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析
背景:最近项目中遇到的实际问题较多,且大多是较隐蔽的、不易被发现的错误。究其根源来看,还是对DICOM3.0协议中的细节掌握不够仔细。继前篇剖析DicomClient函数调用逻辑错误导致的System.ObjectDisposedException异常后,接下来讲解关于DICOM胶片打印服务PresentationContext协商中MetaSOPClass与SOPClass的对比。
2015-04-19 00:13:59 8358 5
原创 DICOM:fo-dicom之C-STORE再分析‘解决System.ObjectDisposedException异常’
背景:此次通过剖析DicomClient类中的AddRequest和Send源代码,以及DicomServiceUser服务的具体逻辑,结合C-STORE服务的具体应用场景对fo-dicom库中的C-STORE服务的实现进行了再分析,更加清晰的梳理了C-STORE服务的实现流程,找到了实际部署过程中常常会遇到的误区,解决了System.ObjectDisposedException异常问题。
2015-04-18 00:30:24 8629 5
原创 踩坑(Running)填坑(ZSSURE):WCF技术初步应用
背景:近期由于项目需要,开始学习和使用WCF技术。初次涉猎一种陌生技术领域,最常见的就是踩“坑”了。虽然之前浏览和阅读了很多WCF资料,但是在项目实际开发过程中,还是遇到了这样和那样的问题。因此决定在博客中开辟“踩坑填坑”系列博文,该类博文主要用于记录在运用新技术开发过程中遇到的各种奇葩错误,同时直接给出解决方案。然文中却不会对问题的根源和解决方案进行详细介绍,待日后有时间再发文到“日积月累”系列进行详细剖析。
2015-04-08 23:13:33 1667
原创 日积(Running)月累(ZSSURE):WCF学习之“通过事件绑定控制WinForm宿主程序主界面控件”
背景:WCF服务需要寄宿到相应的可运行进程中执行,常见的有四种寄宿,分别是控制台程序、WinForm程序、IIS和Windows服务。之前学习老A博客和《WCF全面解析》时最常用到的是控制台寄宿,近期由于项目需求,需要在WinForm程序中调用WCF服务,本博文通过一个简单的实例来演示WCF在WinForm中的寄宿。并着重介绍如何利用事件绑定控制宿主主UI界面控件。
2015-04-04 20:26:36 3176
转载 日积(Running)月累(ZSSURE):Learning How to Learn,学习习惯
背景:近期发现,床头和书柜的书已然许久没有翻过了,看来还是太懒惰了。也有很长一段时间没有在CSDN中转载过博文了,总结起来大致有两点原因吧,第一点,好博文有很多,但快速浏览并解决心中疑惑后似乎总缺少点什么——“味同爵蜡”。知识不是靠传授,靠的是领悟。因此不希望将博客写成简单的记录大牛神作的黄页,而是希望随着时间慢慢沉淀出自己的感悟后再写点什么出来;……
2015-03-29 17:46:57 1327
原创 DICOM:开源DICOM服务框架DCM4CHE 构建
背景:前一篇博文“DICOM:开源DICOM服务框架DCM4CHE 安装”中介绍了一款开源DICOM服务框架DCM4CHE,对于开源项目学习的流程是先下载二进制可执行包安装,然后使用测试。在熟悉了大致的功能服务后,从官网下载源代码进行本地构建(Build),进而从根本上了解开源项目的底层框架设计,为后续修复、扩展做准备。本博文是继“DCM4CHE安装”后的续篇,讲解如何在本地构建DCM4CHE开源项目,文中尽量做到全面,但是由于刚开始接触J2EE领域,且多半都是自学,因此博文中还留有部分未解问题,如有熟悉的
2015-03-28 22:49:28 9869 14
原创 DICOM:基于DCMTK实现C-FIND SCU
背景:专栏之前写过许多关于DICOM协议的相关文章,有关于概念解析的理论性文章,也有实例演示的应用性文章。目的只有一个,希望能引导大家快速掌握DICOM协议,并着手进行自定义化开发。DICOM协议实现有多种开源库,例如基于C++的DCMTK、基于C#的fo-dicom、基于Java的dcm4che。下面以DCMTK开源库为例,给出一个C-FIND SCU的实例工程,供大家交流学习。
2015-03-28 00:29:42 13585 18
原创 DICOM:开源DICOM服务框架DCM4CHE 安装
背景:dcm4chee是dcm4che开源项目中的一部分,是一款符合IHE规定的影像管理/归档应用。dcm4chee遵循DICOM、HL7标准,实现了图像存储、图像提取、及健康领域的工作流程管理。dcm4chee作为一款应用程序需要预打包,然后部署到JBoss应用服务器中。……
2015-03-22 08:50:31 33034 47
原创 DICOM:DICOM3.0网络通信协议(续)
背景:之前博文中专门梳理过DICOM标准中与网络传输相关的内容,近期在重新整理fo-dicom开发的PACS相关测试用例时,对fo-dicom和mDCM两个库进行了再一次比较,与此同时重新翻阅了DICOM3.0标准中的部分章节,发觉之前曾经忽略了其中的很多细节,特编写此文。一来对之前该系列博文的疏忽和BUG进行补充修复,二来加深一下DICOM网络传输的了解。
2015-03-15 17:32:41 12247 5
IEC 61217国标中文版.pdf
2019-05-29
ThreadPoolQueueTest in fo-dicom
2016-02-05
DICOM:DICOM开源库多线程分析之“LF_ThreadPool in DCM4CHEE”源码
2016-01-31
dcm4che-2.0.28的二进制jar包
2016-01-20
WCF学习之InstanceContextMode与ConcurrencyMode博文源码
2015-11-19
dcm4che3x实现jpg到dcm自动转换并上传
2015-09-15
changeUIDbyYourselfUsingDcm4che
2015-06-14
WinFormAndWCFCommunication 博文源代码
2015-04-04
利用dcmtk实现C-FIND SCU
2015-03-28
DICOM医学图像处理:fo-dicom网络传输之C-FIND and C-MOVE代码
2014-11-30
DICOM医学图像处理:fo-dicom网络传输之 C-Echo and C-Store数据包
2014-11-18
DICOM医学图像处理:fo-dicom网络传输之 C-Echo and C-Store
2014-11-18
博文:storescp.exe与storescu.exe源码剖析,学习C-STORE请求(续)
2014-09-12
自己利用DcmSCP类模拟storescp.exe工具包
2014-09-12
博文:全面分析DICOM3.0标准中的通讯服务模块
2014-09-06
SaveDcm2JpgOrBmp
2014-09-03
Windwos编程书籍集锦
2013-06-02
多个开源矩阵运算库
2012-10-21
Visual_C++_编译链接信息手册_chm
2012-06-17
很好地国外开源的算法库(矩阵特征值特征向量)
2012-06-06
flash8基础教程(清晰版)
2012-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人