-
Overview
该OHIF Medical Image Viewing Platform保持为 monorepo
。这意味着此存储库包含多个项目,而不是包含一个项目。如果您探索我们的项目结构,您将看到以下内容:
. ├── extensions │ ├── _example # Skeleton of example extension │ ├── cornerstone # 2D images w/ Cornerstone.js │ ├── dicom-html # Structured Reports as HTML in viewport │ ├── dicom-microscopy # Whole slide microscopy viewing │ ├── dicom-pdf # View DICOM wrapped PDFs in viewport │ └── vtk # MPR and Volume support w/ VTK.js │ ├── platform │ ├── core # Business Logic │ ├── i18n # Internationalization Support │ ├── ui # React component library │ └── viewer # Connects platform and extension projects │ ├── ... # misc. shared configuration ├── lerna.json # MonoRepo (Lerna) settings ├── package.json # Shared devDependencies and commands └── README.md
该platform
目录包含业务逻辑库,组件库和将它们组合在一起以创建功能强大的医学影像查看器的应用程序库。
该extensions
目录包含了许多扩展应用程序支持的特性和功能。
此图是查看器的结构示意图。
1 (optional) extensions can be registered with @ohif/core's ExtensionManager 2 @ohif/core provides bussiness logic and a way for @ohif/viewer to access registered extensions 3 The @ohif/viewer composes and provides data to components from our component library (@ohif/ui) 4 The @ohif/viewer can be built and served as a stand-alone PWA, or as an embeddable package (@ohif/viewer)
-
Business Logic
该@ohif/core
项目为基于Web的医学影像查看器共有的功能提供了预打包的解决方案。例如:
1 Hotkeys 2 DICOM Web requests 3 Hanging Protocols 4 Managing a study's measurements 5 Managing a study's DICOM metadata 6 A flexible pattern for extensions 7 And many others
它在保持与任何特定视图库或渲染逻辑脱钩的同时执行此操作。当我们使用它为React Viewer提供动力时,它可以与Vue,React,Vanilla JS或任何其他框架一起使用。
-
React Component Library
@ohif/ui
是一个React Component库,其中包含为OHIF Viewer提供动力的可重用组件。它使我们能够独立地构建,组成和测试组件。通过减少用测试用例数据建立本地PACS的需求,简化了开发过程。
扩展作者在构建扩展的UI时也可以使用这些相同的组件。允许与其他应用程序保持一致的外观。
-
Extensions & Configuration
虽然OHIF在自己的扩展程序中保留了一些高价值和通常要求的功能,但在许多情况下,人们可能希望进一步扩展查看器。一些常见的用例包括:
1 添加AI / ML工具和见解 2 自定义工作流程,用于指导诊断 3 收集培训数据或报告的特定注释 4 身份验证和精细权限 5 远程咨询工作流程,图像注释和跟踪 6 添加手术模板工具和报告 7 ......
我们通过扩展公开了常见的集成点,以使其成为可能。查看器和许多我们自己的扩展程序也提供 配置。有关OHIF维护的扩展的列表, 请查看此帮助。
如果您发现自己想“I wish the Viewer could do X”,而今天无法通过扩展来完成它,请创建GitHub问题!我们正在积极寻找改善可扩展性的方法。单击此处以了解有关扩展的更多信息!
-
Common Questions
我应该何时使用打包的源
@ohif/viewer
而不是从源构建PWA?
我可以使用Vue.js或Angular.js创建自己的查看器吗?
您可以,但是您将无法利用尽可能多的现有代码和组件。@ohif/core
仍可用于业务逻辑,并提供扩展模型。@ohif/ui
然后将成为您需要重新创建的组件的指南。