一文詳解cornerstone?Tools?基礎(chǔ)概念
cornerstone Tools 基礎(chǔ)概念
Cornerstone Tools 是一個 JavaScript 庫,用于幫助注釋、分割和測量醫(yī)學圖像。該庫還提供了一個框架,用于創(chuàng)建新工具,以一致、連貫的方式管理所有工具,以及導入/導出工具度量數(shù)據(jù)。
下面將介紹 Cornerstone Tools 中的基本概念,以便后續(xù)了解 Cornerstone Tools 的用法。
工具類型
目前,Cornerstone Tools 所有的工具均為 class 類,都是通過繼承 class 類的方式實現(xiàn)統(tǒng)一的集成。根據(jù)工具的使用方式主要分為三個父類:BaseTool、BaseAnnotationTool、BaseBrushTool。
Base Tool
BaseTool 是 Cornerstone Tools 中所有工具的頂級父級。它負責初始化工具的配置,應用 mixin,并為激活狀態(tài)工具的鼠標/觸摸交互提供 @virtual 函數(shù)。
繼承于 BaseTool 類的工具類:
工具類名 | 工具名稱 | 說明 |
---|---|---|
CrosshairsTool | 十字線 | 用于在與同步圖像序列中的圖像位置相對應的另一元素中查找切片的工具。 |
DragProbeTool | 探針 | 拖動時在輸入位置提供圖像數(shù)據(jù)探測的工具,主要用于測量 CT 值。 |
MagnifyTool | 放大鏡 | 用于放大檢查區(qū)域的工具。 |
OrientationMarkersTool | 方向標記 | 用于在圖像上顯示方向標記的工具,激活后無需操作自動顯示。 |
PanTool | 平移 | 用于平移圖像的工具。 |
RotateTool | 旋轉(zhuǎn) | 用于旋轉(zhuǎn)圖像的工具。 |
ScaleOverlayTool | 比例尺 | 用于在圖像上顯示比例覆蓋的工具,激活后無需操作自動顯示。 |
WWWCTool | 調(diào)窗 | 通過拖動設(shè)置窗寬窗位的工具。 |
ZoomTool | 縮放 | 用于調(diào)整縮放比例的工具。 |
StackScrollTool | 瀏覽序列 | 用于滾動系列的工具。 |
StackScrollMouseWheelTool | 鼠標滾輪瀏覽序列 | 使用鼠標滾輪滾動序列的工具。 |
OverlayTool | 覆蓋層 | 用于在圖像上顯示覆蓋信息或圖形的工具。 |
ReferenceLinesTool | 參考線 | 用于顯示其他已啟用元素的參考線的工具。 |
EraserTool | 橡皮擦 | 用于刪除其他注釋工具的數(shù)據(jù)的工具。 |
BaseAnnotationTool
BaseAnnotationTool 繼承于 BaseTool ,擴展了部分方法,主要用于創(chuàng)建和操作注釋數(shù)據(jù)。
繼承于 BaseAnnotationTool 類的工具類:
工具類名 | 工具名稱 | 說明 |
---|---|---|
AngleTool | 角度 | 通過放置三個連續(xù)點創(chuàng)建和定位角度。 |
ArrowAnnotateTool | 箭頭標注 | 創(chuàng)建并定位箭頭和標簽。 |
BidirectionalTool | 雙向 | 創(chuàng)建并定位測量區(qū)域長度和寬度的注釋。 |
CircleRoiTool | 圓形 | 用于繪制感興趣的圓形區(qū)域并測量封閉像素的統(tǒng)計信息的工具。 |
CobbAngleTool | cobb 角 | 用于測量兩條直線之間的角度的工具。 |
EllipticalRoiTool | 橢圓 | 用于繪制感興趣的橢圓區(qū)域并測量封閉像素的統(tǒng)計信息的工具。 |
FreehandRoiTool | 多邊形 | 用于繪制任意多邊形感興趣區(qū)域并測量封閉像素統(tǒng)計信息的工具。 |
LengthTool | 長度 | 測量距離的工具。 |
ProbeTool | 探針 | 在所需位置提供圖像數(shù)據(jù)探測的工具,與 DragProbeTool 使用方式一致,區(qū)別在于 ProbeTool 會保存測量數(shù)據(jù)。 |
RectangleRoiTool | 矩形 | 用于繪制感興趣的矩形區(qū)域并測量封閉像素的統(tǒng)計信息的工具。 |
TextMarkerTool | 文字標注 | 用于使用文本標記注釋圖像的工具。 |
工具模式
工具的模式?jīng)Q定了如何渲染工具,以及如何與其交互。包含四種標準模式,分別是:
工具類名 | 說明 |
---|---|
Active | 激活模式的工具將渲染并響應用戶輸入,并且能夠創(chuàng)建新的注釋或測量。 |
Passive | 被動模式的工具將渲染并被動響應用戶輸入,數(shù)據(jù)可以被 操縱,但不能被創(chuàng)建。 |
Enabled | 啟用模式的工具將渲染,但不會響應輸入,本質(zhì)上是只讀狀態(tài)。 |
Disabled | 工具的默認狀態(tài)。禁用模式的工具無法交互,也不會在啟用的元素上呈現(xiàn)。 |
事件
CornelstoneTools 事件將本地事件捕獲,并進行規(guī)范化,并使用 cornerstonetools 前綴重新觸發(fā),這樣在不同的瀏覽器中可以一致地處理事件。
事件分類 | 事件名稱 | 說明 |
---|---|---|
鼠標事件 | cornerstonetoolsmousedown | 鼠標按下時觸發(fā) |
cornerstonetoolsmouseup | 鼠標抬起時觸發(fā) | |
cornerstonetoolsmousedownactivate | 鼠標按下 ,并且 cornerstonetoolsmousedown 事件回調(diào)函數(shù)不使用 stopPropagation 時觸發(fā)。此時觸發(fā) createNewMeasurement 函數(shù)。 | |
cornerstonetoolsmousedrag | 鼠標拖拽時觸發(fā) | |
cornerstonetoolsmousemove | 鼠標移動時觸發(fā) | |
cornerstonetoolsmouseclick | 鼠標點擊時觸發(fā) | |
cornerstonetoolsmousedoubleclick | 鼠標雙擊時觸發(fā) | |
cornerstonetoolsmousewheel | 鼠標滾輪滾動時觸發(fā) | |
鍵盤事件 | cornerstonetoolskeydown | 鍵盤按下時觸發(fā) |
cornerstonetoolskeyup | 鍵盤抬起時觸發(fā) | |
cornerstonetoolskeypress | 鍵盤按下生字符值的鍵時觸發(fā) | |
自定義事件 | cornerstonetoolsmeasurementadded | 增加測量數(shù)據(jù)時觸發(fā) |
cornerstonetoolsmeasurementmodified | 修改測量數(shù)據(jù)時觸發(fā) | |
cornerstonetoolsmeasurementcompleted | 測量停止時觸發(fā) | |
cornerstonetoolsmeasurementremoved | 移除測量數(shù)據(jù)時觸發(fā) | |
cornerstonetoolstooldeactivated | 工具停用時觸發(fā),工具模式被修改為 passive | |
cornerstonetoolsclipstopped | 播放工具停止時觸發(fā) | |
cornerstonetoolsstackscroll | scroll stack 圖像時觸發(fā) | |
cornerstonetoolsstackprefetchimageloaded | stack預加載圖像完成時觸發(fā) | |
cornerstonetoolsstackprefetchdone | 全部完成 stack 預加載時觸發(fā) | |
cornersontetoolslabelmapmodified | labelmap 修改時觸發(fā) |
全局配置項
在初始化 Cornerstone Tools 時,可以通過應用合理的默認值,啟用/禁用不同的特性和功能。
cornerstoneTools.init({ // 當元素被啟用時,是否監(jiān)聽鼠標事件 mouseEnabled: true, // 當元素被啟用時,是否監(jiān)聽觸摸事件 touchEnabled: true, // 全局工具同步 globalToolSyncEnabled: true, // 顯示svg光標 showSVGCursors: true, // 自動調(diào)整視口大小 autoResizeViewports: true, // 虛線樣式 lineDash: [4, 4] });
以上就是一文詳解cornerstone Tools 基礎(chǔ)概念的詳細內(nèi)容,更多關(guān)于cornerstone Tools基礎(chǔ)概念的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序 轉(zhuǎn)發(fā)功能的實現(xiàn)
這篇文章主要介紹了微信小程序 轉(zhuǎn)發(fā)功能的實現(xiàn)的相關(guān)資料,這里提供實現(xiàn)方法及實例幫助大家學習理解,需要的朋友可以參考下2017-08-08JS前端使用canvas實現(xiàn)擴展物體類和事件派發(fā)
這篇文章主要為大家介紹了JS前端使用canvas實現(xiàn)擴展物體類和事件派發(fā)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08