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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

3DSlicer22:Module-ExtensionWizard Build Install

發(fā)布時(shí)間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3DSlicer22:Module-ExtensionWizard Build Install 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.前言

Slicer模塊典型包含幾種不同類(lèi)型的模塊,如CMake文件、Source文件、資源文件。 在大多數(shù)情況下,為了方便編譯,文件名稱(chēng)和文件中文本字符串的名稱(chēng)需要保持一致。 ExtensionWizard是一個(gè)簡(jiǎn)化創(chuàng)建流程的工具。

2.使用GUI進(jìn)入Extension

開(kāi)啟Slicer,選擇ExtensionWizard即可。
創(chuàng)建Extension: ExtensionWizard利用Template機(jī)制創(chuàng)建Module和Extension。GUI會(huì)自動(dòng)創(chuàng)建相關(guān)文件并產(chǎn)生代碼。
  • 點(diǎn)擊“Create Extension”:

為我們的Extension/Module指定一個(gè)名字,和一個(gè)空的文件夾作為目標(biāo)目錄。OK
  • 可選擇地指定Extension/Module的細(xì)節(jié)描述:

  • 點(diǎn)擊“Add module to extension

指定名字和模塊的類(lèi)型。首次開(kāi)發(fā)情況下都會(huì)選用“scripted”作為模塊類(lèi)型,因?yàn)橹挥蠵ython的scripted模塊可以不經(jīng)過(guò)Slicer自定義地Build,就可以創(chuàng)建并使用。OK。
  • 勾選“Add selected module to search paths”

  • 從Module列表中打開(kāi)我們創(chuàng)建的模塊

3.命令行中2的創(chuàng)建過(guò)程


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

4.Build Extension

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

5.Install Extension

對(duì)于Slicer而言,并沒(méi)有“Install”的說(shuō)法,因?yàn)镾licer采用的Plug-in機(jī)制,所以我們可以理解為注冊(cè)就好:

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 (因?yàn)镻ure Python 無(wú)需編譯可以直接使用)

6.參考文獻(xiàn)

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。