-
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然后將成為您需要重新創建的組件的指南。
