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

