[医疗信息化][DICOM教程]DICOM Tutorials 教程目录
DICOM Tutorials
CONTENTS
- Background
- Overview Tutorials on DICOM (and related topics)
- DICOM Programming Tutorials using Java
- DICOM Programming Tutorials using .NET
- Other Topics on DICOM
- Additonal Considerations
- Links to Resources
- Disclaimer
Background
This is a series of articles on the topic of DICOM® that I have been working on slowly. DICOM is vast and complex healthcare standard which relates to many diagnostic medicine-related workflows such as modality imaging, image transfer, image storage, procedures, printing, and interpretation. The more I read and understand the history and evolution of this standard, I am blown away by wisdom and the foresight of the committee that designed the original standard and continues to improve it to this day. The standard provides a specification to enable information connectivity among a variety of vendors' products from the past, present and the future.
I hope this series of articles is useful to programmers and other information technology personnel who are new to this field by providing a quick and yet broad understanding necessary of the fundamentals before they attempt to build DICOM applications or participate in any DICOM-related initiatives. I have taken some liberties at simplifying some technical details for the newcomer. This is especially the case when I explain DICOM encoding as this is a difficult area to explain. Several DICOM files that I use throughout my examples may be more than eight characters long. The standard stipulates the file identifiers (names) to be at most 8 characters long (either uppercase alphabetic characters and numbers only) However, I deviate from this at the beginning of my tutorials intentionally to keep these details from distracting the learner. I hope you will forgive me for these small liberties in light of my main intention here which is to explain details regarding the standard by relating it to things that the readers are already comfortable with. Also, a quick disclaimer that I do not serve on the DICOM standards committee. So, you should to refer to the standard itself and its latest recommendations before starting any project involving this standard.
“Whatever you do will be insignificant, but it is very important that you do it.” ~ Mahatma Gandhi
Overview Tutorials on DICOM (and related topics)
-
Overview of IHE (Integrating the Healthcare Enteprise)
-
Basics of FHIR (Fast Healthcare Interoperability Resources)
-
Use of Coded Vocabularies and Nomenclatures in DICOM and HL7
DICOM Programming Tutorials using Java
-
DICOM Basics using Java - Understanding DICOM Verification (C-ECHO)
-
DICOM Basics using Java - Understanding Association/Negotiations
-
DICOM Basics using Java - Handling Transient Errors during Communications
-
DICOM Basics using Java - Query and Retrieve Operations (C-FIND)
-
DICOM Basics using Java - Query and Retrieve Operations (C-MOVE)
-
DICOM Basics using Java - Query and Retrieve Operations (C-GET)
-
DICOM Basics using Java - Storage Commitment Service (using N-ACTION and N-EVENT-REPORT)
-
DICOM Basics using Java - Understanding Worklists and MPPS
-
DICOM Basics using Java - Understanding DICOM Structured Reports
-
DICOM Basics using Java - Understanding Print Operations
-
DICOM Basics using Java - Understanding DICOM for the Web (QIDO-RS,WADO-RS,WADO-URI,STOW-RS and UPS-RS)
DICOM Programming Tutorials using .NET
-
DICOM Basics using .NET and C# - Making Sense of the DICOM File
-
DICOM Basics using .NET and C# - Creating a DICOM File
-
DICOM Basics using .NET and C# - Extracting Image Data
-
DICOM Basics using .NET and C# - Viewing DICOM Images
-
DICOM Basics using .NET and C# - Understanding DICOM Verification (C-ECHO)
-
DICOM Basics using .NET and C# - Understanding Association/Negotiations
-
DICOM Basics using .NET and C# - Handling Transient Errors during Communications
-
DICOM Basics using .NET and C# - Query and Retrieve Operations (C-FIND)
-
DICOM Basics using .NET and C# - Query and Retrieve Operations (C-MOVE)
-
DICOM Basics using .NET and C# - Query and Retrieve Operations (C-GET)
-
DICOM Basics using .NET and C# - Storage Commitment Service (using N-ACTION and N-EVENT-REPORT)
-
DICOM Basics using .NET and C# - Understanding Worklists and MPPS
-
DICOM Basics using .NET and C# - Understanding DICOM Structured Reports
-
DICOM Basics using .NET and C# - Understanding Print Operations
-
DICOM Basics using .NET and C# - Understanding DICOM for the Web (QIDO-RS,WADO-RS,WADO-URI,STOW-RS and UPS-RS)
Other Topics on DICOM
-
DICOM Basics - How do HL7, DICOM and IHE come together
-
DICOM Basics - FHIR and DICOM
-
DICOM Basics - Understanding DICOM Conformance Statements
-
DICOM Basics - General Troubleshooting Tips and Techniques
Additonal Considerations
For the Java tutorials in the DICOM programming series, I use the freely available and easy to use PixelMed Java DICOM Library. For the .NET tutorials in the DICOM programming series, I use another freely available and open source toolkit called Fellow Oak (fo-dicom) DICOM Library. Although I like these implementations, you should be aware that there are a number of other toolkits (such as dcm4che, DicomObjects and DCMTK which are as good if not better in some respects) on the market. You should be able to follow along easily with any other toolkit (open source or otherwise) if you wish to do so as many of the DICOM-related concepts I explain in my tutorials are implemented by all these toolkits in some form or the other.
Links to Resources
I want to mention that that my use of these toolkits in this tutorial series does not in anyway imply my official endorsement of them for implementing DICOM-related functionality in your production applications. Every situation is unique, and only you are in the best position to decide what is best for you and your end users. Another thing to keep in mind is that my series of articles on DICOM programming is also not meant to be a tutorial on the PixelMed toolkit or the Fellow Oak (fo-dicom) DICOM toolkit. My sole focus is simply to build a basic understanding of DICOM concepts for programmers using small and focused code examples. So, if your goal is to learn how to use these particular toolkits in depth, then I would recommend that you contact the authors of these toolkits or any online help pages of these toolkits for more information. Here are some useful sites (no means exhaustive):
DICOM TOOLKITS
- PixelMed Open Source DICOM Toolkit
- Fellow Oak (fo-dicom) Open Source DICOM Toolkit
- Dcm4che Open Source DICOM Toolkit
- Dcmtk Open Source DICOM Toolkit
- Cornerstore.js Web-based Image Viewer SDK (includes DICOM Support)
DICOM VIEWERS AND PACS APPLICATIONS
- Orthanc Open Source PACS Viewer and Server
- ClearCanvas Open Source PACS Viewer and Server
- Free Imaging Research tools from RSNA
OTHER DICOM AND RELATED LINKS
- DICOM Home Page
- HL7 Main Site
- IHE Home Page
- List of DICOM Tags
- List of DICOM Transfer Syntaxes
- List of DICOM SOP classes
Disclaimer
I want to make a disclaimer about these articles. I do not serve on the DICOM standards committee. Therefore, I must caution you to take the information provided here with a grain of salt, and ultimately refer to the standard itself and its latest recommendations before starting any project involving the standard. For more information about the standard, you can visit its main site here.
If you have any questions or comments regarding these articles/tutorials, please feel free to send me an email. Please note that I may not get back to you right away due to work and other commitments.
DICOM® is the registered trademark of the National Electrical Manufacturers Association for its standards publications relating to digital communications of medical information. HL7, Health Level Seven, and FHIR are registered trademarks of Health Level Seven International.
+++++++翻译++++++
DICOM教程
内容
背景
这是我一直在慢慢研究的有关DICOM®的系列文章。DICOM是广泛而复杂的医疗保健标准,涉及许多与诊断医学相关的工作流程,例如模态成像,图像传输,图像存储,程序,打印和解释。我越是阅读并理解了该标准的历史和演变,就被设计原始标准并一直持续改进到今天的委员会的智慧和远见震惊。该标准提供了一个规范,以实现过去,现在和将来的各种供应商产品之间的信息连接。
我希望本系列文章对本领域的新手程序员和其他信息技术人员有所帮助,可以在他们尝试构建DICOM应用程序或参与任何与DICOM相关的计划之前,对基础知识提供快速而广泛的理解。在简化新手的一些技术细节方面,我有一些自由。当我解释DICOM编码时尤其如此,因为这是一个难以解释的领域。我在整个示例中使用的几个DICOM文件的长度可能超过八个字符。该标准规定文件标识符(名称)的长度最多为8个字符(仅限大写字母字符和数字)。但是,我在教程开始时有意偏离此名称,以防止这些细节分散学习者的注意力。希望您会因为我在这里的主要意图而原谅我的这些小自由,我的主要目的是通过将标准与读者已经熟悉的东西联系起来来解释有关标准的细节。另外,我没有在DICOM标准委员会中任职。所以,你应该参考该标准本身及其最新建议,然后再开始涉及该标准的任何项目。
“无论您做什么都无关紧要,但做到这一点非常重要。” 〜圣雄甘地
DICOM概述教程(及相关主题)
-
IHE概述(整合医疗保健企业)
-
FHIR(快速医疗保健互操作性资源)的基础
-
在DICOM和HL7中使用编码的词汇和术语
使用Java的DICOM编程教程
-
使用Java的DICOM基础-存储承诺服务(使用N-ACTION和N-EVENT-REPORT)
-
使用Java的DICOM基础-了解工作清单和MPPS
-
使用Java的DICOM基础-了解DICOM结构化报告
-
使用Java的DICOM基础-了解打印操作
-
使用Java的DICOM基础-理解Web的DICOM(QIDO-RS,WADO-RS,WADO-URI,STOW-RS和UPS-RS)
使用.NET的DICOM编程教程
-
使用.NET和C#的DICOM基础知识-创建DICOM文件
-
使用.NET和C#的DICOM基础-提取图像数据
-
使用.NET和C#的DICOM基础知识-查看DICOM图像
-
使用.NET和C#的DICOM基础-查询和检索操作(C-MOVE)
-
使用.NET和C#的DICOM基础-查询和检索操作(C-GET)
-
使用.NET和C#的DICOM基础-存储承诺服务(使用N-ACTION和N-EVENT-REPORT)
-
使用.NET和C#的DICOM基础-了解工作清单和MPPS
-
使用.NET和C#的DICOM基础知识-了解DICOM结构化报告
-
使用.NET和C#的DICOM基础-了解打印操作
-
使用.NET和C#的DICOM基础知识-了解Web的DICOM(QIDO-RS,WADO-RS,WADO-URI,STOW-RS和UPS-RS)
DICOM上的其他主题
-
DICOM基础知识-HL7,DICOM和IHE如何结合在一起
-
DICOM基础知识-FHIR和DICOM
-
DICOM基础知识-了解DICOM符合性声明
-
DICOM基础知识-常规故障排除技巧和技巧
其他注意事项
对于DICOM编程系列中的Java教程,我使用了免费提供且易于使用的PixelMed Java DICOM库。对于DICOM编程系列中的.NET教程,我使用了另一个免费的开源工具包,称为Fellow Oak(fo-dicom)DICOM库。尽管我喜欢这些实现,但您应该意识到,还有许多其他工具箱(例如dcm4che,DicomObjects和DCMTK在某些方面还算不错甚至更好)。如果您愿意,那么您应该能够轻松地与任何其他工具箱(开源或其他工具)一起使用,因为我在教程中解释的许多与DICOM相关的概念都是由所有这些工具箱以某种形式实现的。
资源链接
我想提及的是,我在本教程系列中使用这些工具包绝不表示我对它们在生产应用程序中实现DICOM相关功能的正式认可。每种情况都是独特的,只有您才能确定最适合您和您的最终用户的最佳位置。要记住的另一件事是,我有关DICOM编程的系列文章也并不意味着是PixelMed工具包或Fellow Oak(fo-dicom)DICOM工具包的教程。我唯一的重点只是使用小而集中的代码示例为程序员建立对DICOM概念的基本理解。因此,如果您的目标是学习如何深入使用这些特定的工具箱,那么我建议您与这些工具箱的作者或这些工具箱的任何联机帮助页面联系,以获取更多信息。
DICOM工具包
- PixelMed开源DICOM工具包
- Fellow Oak(fo-dicom)开源DICOM工具包
- Dcm4che开源DICOM工具包
- Dcmtk开源DICOM工具包
- 基于Web的Cornerstore.js基于Web的Image Viewer SDK(包括DICOM支持)
DICOM查看器和PACS应用程序
其他DICOM和相关链接
免责声明
我想对这些文章发表免责声明。我不在DICOM标准委员会中任职。因此,我必须提醒您注意此处提供的信息,并在开始任何涉及该标准的项目之前最终参考该标准本身及其最新建议。有关该标准的更多信息,您可以在此处访问其主要站点。
如果您对这些文章/教程有任何疑问或意见,请随时给我发送电子邮件。请注意,由于工作和其他承诺,我可能不会立即与您联系。
DICOM®是美国国家电气制造商协会的注册商标,其标准出版物涉及医学信息的数字通信。HL7,七级健康和FHIR是七级国际的注册商标。