首頁 > 軟體

一文詳解cornerstone Tools 基礎概念

2023-03-11 06:01:19

cornerstone Tools 基礎概念

Cornerstone Tools 是一個 JavaScript 庫,用於幫助註釋、分割和測量醫學影象。該庫還提供了一個框架,用於建立新工具,以一致、連貫的方式管理所有工具,以及匯入/匯出工具度量資料。

下面將介紹 Cornerstone Tools 中的基本概念,以便後續瞭解 Cornerstone Tools 的用法。

工具型別

目前,Cornerstone Tools 所有的工具均為 class 類,都是通過繼承 class 類的方式實現統一的整合。根據工具的使用方式主要分為三個父類別:BaseTool、BaseAnnotationTool、BaseBrushTool。

Base Tool

BaseTool 是 Cornerstone Tools 中所有工具的頂級父級。它負責初始化工具的設定,應用 mixin,併為啟用狀態工具的滑鼠/觸控互動提供 @virtual 函數。

繼承於 BaseTool 類的工具類:

工具類名工具名稱說明
CrosshairsTool十字線用於在與同步影象序列中的影象位置相對應的另一元素中查詢切片的工具。
DragProbeTool探針拖動時在輸入位置提供影象資料探測的工具,主要用於測量 CT 值。
MagnifyTool放大鏡用於放大檢查區域的工具。
OrientationMarkersTool方向標記用於在影象上顯示方向標記的工具,啟用後無需操作自動顯示。
PanTool平移用於平移影象的工具。
RotateTool旋轉用於旋轉影象的工具。
ScaleOverlayTool比例尺用於在影象上顯示比例覆蓋的工具,啟用後無需操作自動顯示。
WWWCTool調窗通過拖動設定窗寬窗位的工具。
ZoomTool縮放用於調整縮放比例的工具。
StackScrollTool瀏覽序列用於捲動系列的工具。
StackScrollMouseWheelTool滑鼠滾輪瀏覽序列使用滑鼠滾輪捲動序列的工具。
OverlayTool覆蓋層用於在影象上顯示覆蓋資訊或圖形的工具。
ReferenceLinesTool參考線用於顯示其他已啟用元素的參考線的工具。
EraserTool橡皮擦用於刪除其他註釋工具的資料的工具。

BaseAnnotationTool

BaseAnnotationTool 繼承於 BaseTool ,擴充套件了部分方法,主要用於建立和操作註釋資料。

繼承於 BaseAnnotationTool 類的工具類:

工具類名工具名稱說明
AngleTool角度通過放置三個連續點建立和定位角度。
ArrowAnnotateTool箭頭標註建立並定位箭頭和標籤。
BidirectionalTool雙向建立並定位測量區域長度和寬度的註釋。
CircleRoiTool圓形用於繪製感興趣的圓形區域並測量封閉畫素的統計資訊的工具。
CobbAngleToolcobb 角用於測量兩條直線之間的角度的工具。
EllipticalRoiTool橢圓用於繪製感興趣的橢圓區域並測量封閉畫素的統計資訊的工具。
FreehandRoiTool多邊形用於繪製任意多邊形感興趣區域並測量封閉畫素統計資訊的工具。
LengthTool長度測量距離的工具。
ProbeTool探針在所需位置提供影象資料探測的工具,與 DragProbeTool 使用方式一致,區別在於 ProbeTool 會儲存測量資料。
RectangleRoiTool矩形用於繪製感興趣的矩形區域並測量封閉畫素的統計資訊的工具。
TextMarkerTool文字標註用於使用文字標記註釋影象的工具。

工具模式

工具的模式決定了如何渲染工具,以及如何與其互動。包含四種標準模式,分別是:

工具類名說明
Active啟用模式的工具將渲染並響應使用者輸入,並且能夠建立新的註釋或測量。
Passive被動模式的工具將渲染並被動響應使用者輸入,資料可以被 操縱,但不能被建立。
Enabled啟用模式的工具將渲染,但不會響應輸入,本質上是唯讀狀態。
Disabled工具的預設狀態。禁用模式的工具無法互動,也不會在啟用的元素上呈現。

事件

CornelstoneTools 事件將本地事件捕獲,並進行規範化,並使用 cornerstonetools 字首重新觸發,這樣在不同的瀏覽器中可以一致地處理事件。

事件分類事件名稱說明
滑鼠事件cornerstonetoolsmousedown滑鼠按下時觸發
cornerstonetoolsmouseup滑鼠擡起時觸發
cornerstonetoolsmousedownactivate滑鼠按下 ,並且 cornerstonetoolsmousedown 事件回撥函數不使用 stopPropagation 時觸發。此時觸發 createNewMeasurement 函數。
cornerstonetoolsmousedrag滑鼠拖拽時觸發
cornerstonetoolsmousemove滑鼠移動時觸發
cornerstonetoolsmouseclick滑鼠點選時觸發
cornerstonetoolsmousedoubleclick滑鼠雙擊時觸發
cornerstonetoolsmousewheel滑鼠滾輪捲動時觸發
鍵盤事件cornerstonetoolskeydown鍵盤按下時觸發
cornerstonetoolskeyup鍵盤擡起時觸發
cornerstonetoolskeypress鍵盤按下生字元值的鍵時觸發
自定義事件cornerstonetoolsmeasurementadded增加測量資料時觸發
cornerstonetoolsmeasurementmodified修改測量資料時觸發
cornerstonetoolsmeasurementcompleted測量停止時觸發
cornerstonetoolsmeasurementremoved移除測量資料時觸發
cornerstonetoolstooldeactivated工具停用時觸發,工具模式被修改為 passive
cornerstonetoolsclipstopped播放工具停止時觸發
cornerstonetoolsstackscrollscroll stack 影象時觸發
cornerstonetoolsstackprefetchimageloadedstack預載入影象完成時觸發
cornerstonetoolsstackprefetchdone全部完成 stack 預載入時觸發
cornersontetoolslabelmapmodifiedlabelmap 修改時觸發

全域性設定項

在初始化 Cornerstone Tools 時,可以通過應用合理的預設值,啟用/禁用不同的特性和功能。

cornerstoneTools.init({
  // 當元素被啟用時,是否監聽滑鼠事件
  mouseEnabled: true,
  // 當元素被啟用時,是否監聽觸控事件
  touchEnabled: true,
  // 全域性工具同步
  globalToolSyncEnabled: true,
  // 顯示svg遊標
  showSVGCursors: true,
  // 自動調整視口大小
  autoResizeViewports: true,
  // 虛線樣式
  lineDash: [4, 4]
});

以上就是一文詳解cornerstone Tools 基礎概念的詳細內容,更多關於cornerstone Tools基礎概念的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com