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

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

生活随笔

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

编程问答

3DSlicer17:Logics

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

1.Logics綜述

Logic是算法的集合,主要處理場(chǎng)景中的MRML節(jié)點(diǎn)。 Logic可以是:
  • Active(主動(dòng)):觀測(cè)場(chǎng)景和節(jié)點(diǎn),當(dāng)接收事件改變時(shí)進(jìn)行響應(yīng)
  • Passive(被動(dòng)):實(shí)用函數(shù)的集合用來(lái)簡(jiǎn)化節(jié)點(diǎn)的處理
  • a mix of both:不理想...

2.Logic的類(lèi)型

在Slicer中存在5種Logics。他們功能通常由他們的依賴(lài)庫(kù)決定。不同Logic類(lèi)型之間的繼承關(guān)系可以方便我們?nèi)ダ斫馑麄冎g的關(guān)系。


2.1 MRML Logics

  • 位置:Slicer/Libs/MRML/Logics
  • 依賴(lài)項(xiàng):MRML core、no graphical dependency、no Slicer dependency
  • 功能:包含了邏輯基本類(lèi),如vtkMRMLAbstractLogic、vtkMRMLApplicationLogic,以及助手類(lèi);MRML Logics無(wú)法訪問(wèn)應(yīng)用程序,所以不需要包含任何特定的Slicer代碼
  • 示例:
    • factories:對(duì)于MRML節(jié)點(diǎn),VTKMRMLColorLogic創(chuàng)建默認(rèn)的vtkMRMLColor* Node
    • helpers:vtkMRMLModelHierarchyLogic

2.2 Slicer Logic

  • 位置:Slicer/Base/Logics
  • 依賴(lài)項(xiàng):MRML Logic
  • 功能:用于Slicer應(yīng)用程序的特殊化的MRML Logic
  • 示例:vtkSlicerColorLogic了解應(yīng)用程序默認(rèn)的LUT IDs 和 自定義應(yīng)用程序的LUT文件

2.3 Application logic

  • 位置:Slicer/Libs/MRML/Logics/vtkMRMLApplicationLogic.[h|cxx] 和 Slicer/Base/Logics/vtkSlicerApplicationLogic.[h|cxx]
  • 依賴(lài)項(xiàng):vtkMRMLApplicationLogic不依賴(lài)Slicer,但是vtkSlicerApplicationLogic依賴(lài)
  • 功能:包含了應(yīng)用程序的特定信息。vtkMRMLApplicationLogic是一個(gè)使用MRML為應(yīng)用程序?qū)iT(mén)設(shè)計(jì)的抽象類(lèi)。vtkSlicerApplicationLogic是為Slicer專(zhuān)門(mén)設(shè)計(jì)的。
vtk[MRML/Slicer]ApplicationLogic 并不是獨(dú)立存在的,他們可以訪問(wèn)任何的Logic。? vtk[MRML/Slicer]ApplicationLogic 包含一個(gè)node/logic列表,這個(gè)在應(yīng)用程序里是唯一的。

2.4 Module Logic

  • 位置:Slicer/Modules/Loadable/XYZ/Logic/vtkSlicerXXXLogic
  • 依賴(lài)項(xiàng):Slicer logics, XYZ nodes 和 可供選擇的其他模塊邏輯
  • 功能:模塊邏輯就是模塊的公共程序接口API。模塊可以訪問(wèn)其他模塊的Logic,例如?qSlicerCoreApplication::moduleManager()->module("Volumes")->logic())。每個(gè)模塊中至多存在一個(gè)模塊邏輯。然而,這并不影響模塊邏輯使用幫助邏輯,例如:vtkSlicerModelsLogic可以初始化/使用 vtkMRMLModelHierarchyLogic

2.5 Displayable Manager

  • 位置:Slicer/Libs/MRML/DisplayableManager
  • 依賴(lài)項(xiàng):MRML Logic 和 vtkRendering
  • 功能:在VTK渲染器中呈現(xiàn)節(jié)點(diǎn),并處理與視口的用戶(hù)交互

3.總結(jié)

一個(gè)類(lèi),如Logic、Widget,應(yīng)該在他的API中顯示說(shuō)明所需要的邏輯。

例如:qMRMLColorPickerwidget::setColorLogic(vtkMRMLColorLogic*)

而不是通過(guò)直接使用應(yīng)用程序邏輯隱藏這個(gè)需求:

例如:this->GetApplicationLogic()->GetModelHierarchyLogic()? 類(lèi)實(shí)例器的作用是將需要的邏輯傳遞給創(chuàng)建的類(lèi),例如模塊插件將模塊邏輯傳遞給模塊部件。對(duì)于依賴(lài)其他模塊邏輯而言的模塊邏輯,通過(guò)函數(shù)qSlicer*Module::setup()可以解決。qSlicer*Modules可以訪問(wèn)所有的模塊和他們的邏輯,例如qSlicerCoreApplication::moduleManager()->module("Volumes")->logic()。在API中顯示所需要的邏輯可以使得代碼更具有模塊化,也更容易測(cè)試。

總結(jié)

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

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