3DSlicer10:体系结构1
生活随笔
收集整理的這篇文章主要介紹了
3DSlicer10:体系结构1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.系統架構
Slicer平臺是基于VTK、ITK、CTK、KWWidgets、CMake、Qt和Python等開源軟件開發的。主要采用的編程語言是C++、Python、JavaScript。 Slicer體系架可以分為3層:基礎層、算法層和應用層。- 基礎層
- 算法層
- 應用層
2.程序框架
Slicer模塊是一些基于ITK、VTK、VTK等算法庫實現其功能的獨立插件。包括三種類型:- Command Line Interface Modules ?命令行模塊
- Loaded modules ?可加載模塊
- Scripted modules 腳本模塊
2.1 Command Line Interface Module 命令行模塊
可以獨立執行的模塊,但輸入輸出參數是有限的,輸入/輸出的類型無法選擇 CLIM是Slicer所有模塊中數量最多的模塊,一般使用ITK實現其功能。這些ITK算法主要有圖像過濾模塊、擴散成像功能模塊、表面圖像模塊、配準和分割模塊。2.2 Loaded Modules ?可加載模塊
可加載模塊是一種使用C++開發的模塊,針對每個模塊的功能,開發了特定的圖形用戶界面,并添加了一些基本功能。如Color模塊提供了顏色表,用以區分人體組織結構;Data模塊分析當前顯示的數據。 主要的可加載模塊和功能如下: 絕大多數可加載模塊的功能都與算法無關,只是給Slicer提供了一種基本功能。Generally Speaking,Modules used to realize algrithm are earsier in CLI modues or Scripted modules.但是,最基礎的功能,如果也采用命令行或者腳本模塊的形式來實現反而不方便,這個時候就能體現C++的便利性。2.3 Scripted Modules 腳本模塊
采用Python腳本語言開發的,模塊通過調用Python封裝的VTK、ITK、Ot等庫的API實現模塊的功能。Slicer中包含的Python腳本模塊主要包括以下幾個:3.Slicer模塊的加載(插件技術)
Slicer的模塊很多,又不是必須需要,為了提高用戶體驗度,Slicer的模塊加載環節采用了“Plug-in”機制。 “Plug-in”機制指Slicer功能模塊設計時保持了很高的獨立性,使用時可以選擇性加載。 "Plug-in"(Plug-in,addin,add-in,addon或add-on)是一種計算機應用程序,它和主應用程序(host application)互相交互,以提供特定的功能。應用程序支持Plugin有許多原因,一些主要原因包括:使得第三方開發者有能力擴展應用程序,以提供無法先期預料的特色;減小應用程序的大小;由于軟件版權之間的不兼容性將源代碼和應用程序分享。關于插件更多的細節,參考百度百科: https://baike.baidu.com/item/plugin/5015240?fr=aladdin&fromid=6689350&fromtitle=plug-in
4.Slicer的擴展
Slicer Extension就是根據需要安裝的外部插件,通過一個或幾個模塊完成一項功能,具有很強的共享性。這種機制很像當下比較熱門的Android操作系統以及其應用程序APP。總結
以上是生活随笔為你收集整理的3DSlicer10:体系结构1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻松玩转CreateRemoteThre
- 下一篇: 3DSlicer11:体系结构2