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

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

生活随笔

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

编程问答

3DSlicer29:Debug or Dev-170918

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

1.the relationship between module & extension?

Slicer的plus-in機(jī)制不必多談。下面僅初步談?wù)揗odule和Extension的關(guān)系,并就創(chuàng)建和調(diào)試過(guò)程中的一些細(xì)節(jié)問(wèn)題進(jìn)行總結(jié)。
  • Extension是實(shí)現(xiàn)一個(gè)功能的實(shí)體,可以包括若干的module
  • 每一個(gè)module都是實(shí)現(xiàn)某種特定功能的單位
總而言之,一個(gè)Extension包括很多module,每個(gè)module只實(shí)現(xiàn)整體功能的某部分細(xì)節(jié)。這樣有一個(gè)好處,開(kāi)發(fā)人員可以一步一步添加自己的功能模塊,且各部分功能模塊互相獨(dú)立。這使得整個(gè)項(xiàng)目具備了獨(dú)立性、并發(fā)性。

2.如何創(chuàng)建Extension及module?

仍然遵循之前的規(guī)則:
  • 利用ExtensionWizard
  • 在Extension基礎(chǔ)之上添加module
  • 僅研究Loadable Module(可加載模塊)
2.1 利用Extension Tools創(chuàng)建Extension名和Extension目錄存放的位置 ? ? ? ?
2.2 利用Extension Edit向Extension中添加Module ? ? ? ? ??
2.3 可以通過(guò)select Extension查看其中的內(nèi)容
2.4 通過(guò)Extension頂層的CMakeLists.txt文件體會(huì)管理各個(gè)module cmake_minimum_required(VERSION 3.5) project(IGSdev) #----------------------------------------------------------------------------- # Extension meta-information set(EXTENSION_HOMEPAGE "http://slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/IGSdev ") set(EXTENSION_CATEGORY "IGSdevTest") set(EXTENSION_CONTRIBUTORS "John Doe (AnyWare Corp.)") set(EXTENSION_DESCRIPTION "This is an example of a simple extension") set(EXTENSION_ICONURL "http://www.example.com/Slicer/Extensions/IGSdev.png ") set(EXTENSION_SCREENSHOTURLS "http://www.example.com/Slicer/Extensions/IGSdev/Screenshots/1.png ") set(EXTENSION_DEPENDS "NA") # Specified as a space separated string, a list or 'NA' if any#----------------------------------------------------------------------------- # Extension dependencies find_package(Slicer REQUIRED) include(${Slicer_USE_FILE})#----------------------------------------------------------------------------- # Extension modules add_subdirectory(IGSReader) add_subdirectory(IGSWritter) ## NEXT_MODULE#----------------------------------------------------------------------------- include(${Slicer_EXTENSION_GENERATE_CONFIG}) include(${Slicer_EXTENSION_CPACK}) 我們可以知道兩個(gè)事: 1.Extension依賴項(xiàng)(slicer,將獨(dú)立拓展與主框架聯(lián)系在一起)。 2.Extension管理模塊就是通過(guò)簡(jiǎn)單的add_subdirectory實(shí)現(xiàn)的。

3.如何調(diào)試Extension及module?

生成*.sln仍然采用之前的方法:
  • CMake構(gòu)建項(xiàng)目,生成解決方案*.sln。(后面我也會(huì)介紹到,這里的解決方案是指Extension整個(gè)功能,其內(nèi)部包含獨(dú)立的項(xiàng)目module)
  • Slicer.exe --VisualStudio打開(kāi)*.sln文件,生成解決方案。(頂層Extension+bin+CMakefile+Modules...+lib+Test+x64文件夾。其中,各個(gè)module都有自己獨(dú)立的文件夾,lib是應(yīng)用Plus-in機(jī)制的指定文件夾)
其實(shí),這個(gè)環(huán)節(jié)還沒(méi)有完全想清楚,只能一點(diǎn)點(diǎn)摸索,一點(diǎn)點(diǎn)研究。 對(duì)于其中的一個(gè)模塊,其在文件目錄 以及 解決方案中的分布略不同: ? ??
在解決方案中,大概可以分為兩類qSlicer(name)Module(func)、vtkSlicer(name)Module(func): 3.1?qSlicer(name)Module(func) ? ??
初步看,qSlicer部分用于圖形框架搭建。 3.2?vtkSlicer(name)Module(func) ??
初步看,vtkSlicer部分用于實(shí)現(xiàn)功能算法。三個(gè)項(xiàng)目實(shí)際上說(shuō)的是一個(gè)事,就是Logic~~

總結(jié)

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

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