日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3DSlicer22:Module-ExtensionWizard Build Install

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3DSlicer22:Module-ExtensionWizard Build Install 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言

Slicer模塊典型包含幾種不同類型的模塊,如CMake文件、Source文件、資源文件。 在大多數情況下,為了方便編譯,文件名稱和文件中文本字符串的名稱需要保持一致。 ExtensionWizard是一個簡化創建流程的工具。

2.使用GUI進入Extension

開啟Slicer,選擇ExtensionWizard即可。
創建Extension: ExtensionWizard利用Template機制創建Module和Extension。GUI會自動創建相關文件并產生代碼。
  • 點擊“Create Extension”:

為我們的Extension/Module指定一個名字,和一個空的文件夾作為目標目錄。OK
  • 可選擇地指定Extension/Module的細節描述:

  • 點擊“Add module to extension

指定名字和模塊的類型。首次開發情況下都會選用“scripted”作為模塊類型,因為只有Python的scripted模塊可以不經過Slicer自定義地Build,就可以創建并使用。OK。
  • 勾選“Add selected module to search paths”

  • 從Module列表中打開我們創建的模塊

3.命令行中2的創建過程


從上面我們可以得出以下結論:
  • 從源碼中拷貝模板文件夾,并修改名稱為ScriptTest,創建相應的CMakeList.txt文件和ScriptTest.png圖標文件
  • 從源碼中拷貝Scripted類型的模板,并修改名字為ScriptTest,創建相應的CMakeList.txt文件、ScriptTest.py文件、Resource/Icon/ScriptTest.png文件、Testing/CMakeList.txt文件、Testing/Python/CMakeList.txt文件
再次區別三個模塊的定位:
  • cli:提供自定義命令行接口
  • loadable:在Slicer中提供一個新的功能/C++
  • scripted:在Slicer中提供一個新的功能/Python

4.Build Extension

如果我們的程序不是使用“Pure Python”編寫的,若想使用這個模塊,那么我們就必須要先學會編譯它。 Notice:若想Build Extension,我們必須已經在本機上編譯過源碼了。 我的Extension源代碼位于D:\Slicer4D\Slicer-build\ModuleTest\myLoadable 通用編譯步驟:
  • CMake:
    • 選擇源代碼文件和目標文件(例如:myLoadable-build)
    • 在CMake中設置Slicer_DIR(例如:D:/Slicer4D/Slicer-build)
    • configure & generate
  • VisualStudio
    • 打開myLoadable.sln,選擇Debug(Debug or Release要根據Slicer-build的版本選取)
    • Project->Build Solution

5.Install Extension

對于Slicer而言,并沒有“Install”的說法,因為Slicer采用的Plug-in機制,所以我們可以理解為注冊就好:

3DSlicer->Edit->Application Setting Dialog->Module->Add Additional Path:

  • ~/code/MyExtension/build/lib/Slicer-<version>/qt-loadable-modules
  • ~/code/MyExtension/build/lib/Slicer-<version>/qt-scripted-modules
  • ~/code/MyExtension/MyPythonModule (因為Pure Python 無需編譯可以直接使用)

6.參考文獻

1.ExtensionWizard:https://www.slicer.org/wiki/Documentation/Nightly/Developers/ExtensionWizard 2.BuildExtension:https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ#How_to_build_an_extension_.3F 3.InstallExtension:https://www.slicer.org/wiki/Documentation/Nightly/Developers/ExtensionWizard

總結

以上是生活随笔為你收集整理的3DSlicer22:Module-ExtensionWizard Build Install的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。