基于cornerstone3D的dicom影像瀏覽器 第二十八章 LabelTool文字標記,L標記,R標記及標記樣式設置

文章目錄

  • 前言
  • 一、L標記、R標記
  • 二、修改工具樣式
    • 1. 樣式的四種級別
    • 2. 導入annotation
    • 3. 示例1 - 修改toolGroup中的樣式
    • 4. 示例2 - 修改viewport中的樣式
  • 三、可配置樣式


前言

cornerstone3D 中的文字標記工具LabelTool,在添加文字標記時會彈出對話框讓用戶輸入文字,所以可以添加任意文字。
本章通過設置LabelTool的getTextCallback函數,使用戶可以直接添加指定的文字,不再彈出輸入文字的對話框,從而實現L標記,R標記。
另外介紹標記工具的樣式設置方法,以改變工具的顏色、文字等。
效果如下:
在這里插入圖片描述


一、L標記、R標記

toolGroup調用setToolConfiguration函數,設置LabelTool工具的getTextCallback為自定義函數。

activeLabelTool(type) {toolGroup.setToolActive(type, {[{ mouseButton: MouseBindings.Primary }]});if (type==="Label-L" || type==="Label-R") {const text = type.split("-")[1];toolGroup.setToolConfiguration(LabelTool.toolName,{getTextCallback: fn => {return fn(text);},});} else if (type==="Label") {// 恢復LabelTool默認回調函數toolGroup.setToolConfiguration(LabelTool.toolName,{getTextCallback: fn => {return fn(prompt("Enter your annotation:"));}});}
}

二、修改工具樣式

1. 樣式的四種級別

cornerstone3D 中提供四種級別的標注樣式修改方法:

  1. 單個標注樣式(需提供annotationUID),優先級最高:set/getAnnotationToolStyle
  2. viewport中所有標注樣式,優先級次之:set/getViewportToolStyle
  3. toolGroup中所有標注樣式,優先級又次之:set/getToolGroupToolStyle
  4. 默認所有標注樣式,優先級最低:set/getDefaultToolStyle

每種級別中又可指定設置單個Tool的樣式或所有Tool的樣式,如:

annotation.config.style.setToolGroupToolStyles(toolGroupId, { // 修改LabelTool字體[LabelTool.toolName]: { textBoxFontSize: "28px" } // 修改LengthTool字體[Length.toolName]: { textBoxFontSize: "20px" }// 修改toolGroup中所有Tool字體global: { textBoxFontSize: "12px" }}
);

2. 導入annotation

import * as cornerstoneTools from "@cornerstonejs/tools";const {annotation
} = cornerstoneTools;

3. 示例1 - 修改toolGroup中的樣式

function initTools() {...// 操作cornerstoneTools.addTool(WindowLevelTool);cornerstoneTools.addTool(PanTool);cornerstoneTools.addTool(ZoomTool);cornerstoneTools.addTool(StackScrollTool);...// 修改toolGroup中的樣式annotation.config.style.setToolGroupToolStyles(toolGroupId, { // 修改LabelTool字體[LabelTool.toolName]: { textBoxFontSize: "28px" },// 修改LengthTool字體[LengthTool.toolName]: { textBoxFontSize: "20px" },// 修改toolGroup中所有Tool字體global: { textBoxFontSize: "12px" }});
}

效果:
在這里插入圖片描述

4. 示例2 - 修改viewport中的樣式


function setVieportToolStyles(viewportId) {annotation.config.style.setViewportToolStyles(viewportId, {// 修改LabelTool字體[LabelTool.toolName]: { textBoxFontSize: "60px" },// 修改viewport中所有Tool字體global: { textBoxFontSize: "8px" }});
}

效果:
在這里插入圖片描述

三、可配置樣式

color;  
colorActive;  
colorHighlighted;  
colorHighlightedActive;  
colorHighlightedPassive;  
colorLocked;  
colorLockedActive;  
colorLockedPassive;  
colorPassive;  
colorSelected;  
colorSelectedActive;  
colorSelectedPassive;  
lineDash;  
lineDashActive;  
lineDashHighlighted;  
lineDashHighlightedActive;  
lineDashHighlightedPassive;  
lineDashLocked;  
lineDashLockedActive;  
lineDashLockedPassive;  
lineDashPassive;  
lineDashSelected;  
lineDashSelectedActive;  
lineDashSelectedPassive;  
lineWidth;  
lineWidthActive;  
lineWidthHighlighted;  
lineWidthHighlightedActive;  
lineWidthHighlightedPassive;  
lineWidthLocked;  
lineWidthLockedActive;  
lineWidthLockedPassive;  
lineWidthPassive;  
lineWidthSelected;  
lineWidthSelectedActive;  
lineWidthSelectedPassive;  
textBoxBackground;  
textBoxBackgroundActive;  
textBoxBackgroundHighlighted;  
textBoxBackgroundHighlightedActive;  
textBoxBackgroundHighlightedPassive;  
textBoxBackgroundLocked;  
textBoxBackgroundLockedActive;  
textBoxBackgroundLockedPassive;  
textBoxBackgroundPassive;  
textBoxBackgroundSelected;  
textBoxBackgroundSelectedActive;  
textBoxBackgroundSelectedPassive;  
textBoxColor;  
textBoxColorActive;  
textBoxColorHighlighted;  
textBoxColorHighlightedActive;  
textBoxColorHighlightedPassive;  
textBoxColorLocked;  
textBoxColorLockedActive;  
textBoxColorLockedPassive;  
textBoxColorPassive;  
textBoxColorSelected;  
textBoxColorSelectedActive;  
textBoxColorSelectedPassive;  
textBoxFontFamily;  
textBoxFontFamilyActive;  
textBoxFontFamilyHighlighted;  
textBoxFontFamilyHighlightedActive;  
textBoxFontFamilyHighlightedPassive;  
textBoxFontFamilyLocked;  
textBoxFontFamilyLockedActive;  
textBoxFontFamilyLockedPassive;  
textBoxFontFamilyPassive;  
textBoxFontFamilySelected;  
textBoxFontFamilySelectedActive;  
textBoxFontFamilySelectedPassive;  
textBoxFontSize;  
textBoxFontSizeActive;  
textBoxFontSizeHighlighted;  
textBoxFontSizeHighlightedActive;  
textBoxFontSizeHighlightedPassive;  
textBoxFontSizeLocked;  
textBoxFontSizeLockedActive;  
textBoxFontSizeLockedPassive;  
textBoxFontSizePassive;  
textBoxFontSizeSelected;  
textBoxFontSizeSelectedActive;  
textBoxFontSizeSelectedPassive;  
textBoxLinkLineDash;  
textBoxLinkLineDashActive;  
textBoxLinkLineDashHighlighted;  
textBoxLinkLineDashHighlightedActive;  
textBoxLinkLineDashHighlightedPassive;  
textBoxLinkLineDashLocked;  
textBoxLinkLineDashLockedActive;  
textBoxLinkLineDashLockedPassive;  
textBoxLinkLineDashPassive;  
textBoxLinkLineDashSelected;  
textBoxLinkLineDashSelectedActive;  
textBoxLinkLineDashSelectedPassive;  
textBoxLinkLineWidth;  
textBoxLinkLineWidthActive;  
textBoxLinkLineWidthHighlighted;  
textBoxLinkLineWidthHighlightedActive;  
textBoxLinkLineWidthHighlightedPassive;  
textBoxLinkLineWidthLocked;  
textBoxLinkLineWidthLockedActive;  
textBoxLinkLineWidthLockedPassive;  
textBoxLinkLineWidthPassive;  
textBoxLinkLineWidthSelected;  
textBoxLinkLineWidthSelectedActive;  
textBoxLinkLineWidthSelectedPassive;  

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82642.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PPT轉圖片拼貼工具 v4.3

軟件介紹 這個軟件就是將PPT文件轉換為圖片并且拼接起來。 效果展示 支持導入文件和支持導入文件夾,也支持手動輸入文件/文件夾路徑 軟件界面 這一次提供了源碼和開箱即用版本,exe就是直接用就可以了。 軟件源碼 import os import re import sys …

新版NANO下載燒錄過程

一、序言 搭建 Jetson 系列產品燒錄系統的環境需要在電腦主機上安裝 Ubuntu 系統。此處使用 18.04 LTS。 二、環境搭建 1、安裝庫 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建環境的過程需要這個應用庫來將某些 NVIDIA 軟件組件安裝到 Je…

神經網絡-Day45

目錄 一、tensorboard的基本操作1.1 發展歷史1.2 tensorboard的原理 二、tensorboard實戰2.1 cifar-10 MLP實戰2.2 cifar-10 CNN實戰 在神經網絡訓練中,為了幫助理解,借用了很多的組件,比如訓練進度條、可視化的loss下降曲線、權重分布圖&…

設計模式之單例模式(二): 心得體會

設計模式之單例模式(一)-CSDN博客 目錄 1.背景 2.分析 2.1.違背面向對象設計原則,導致職責混亂 2.2.全局狀態泛濫,引發依賴與耦合災難 2.3.多線程場景下風險放大,性能與穩定性受損 2.4.測試與維護難度指數級上升 2.5.違背 “最小知識原…

windows10 php報錯

參考這個, 實際解決了問題, 主要是repair c 然后重啟 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu_php warning: vcruntime140.dll 14.0 is not compat-CSDN博客

GPU顯存的作用和如何選擇

核心定義與作用 首先,顯存的全稱是顯示內存,英文是Video RAM或VRAM,是顯卡上的專用內存。 顯存的主要作用是用來存儲圖形處理單元(GPU)需要處理的數據,比如紋理、頂點數據、幀緩沖區等。 數據中轉站 GPU…

從零開始:用Tkinter打造你的第一個Python桌面應用

目錄 一、界面搭建:像搭積木一樣組合控件 二、菜單系統:給應用裝上“控制中樞” 三、事件驅動:讓界面“活”起來 四、進階技巧:打造專業級體驗 五、部署發布:讓作品觸手可及 六、學習路徑建議 在Python生態中,Tkinter就像一把瑞士軍刀,它沒有花哨的特效,卻能快速…

Unity基礎-Mathf相關

Unity基礎-Mathf相關 一、Mathf數學工具 概述 Mathf是Unity中封裝好用于數學計算的工具結構體,提供了豐富的數學計算方法,特別適用于游戲開發場景。它是Unity開發中最常用的數學工具之一,能夠幫助我們處理各種數學計算和插值運算。 Mathf…

Android Studio 之基礎代碼解析

1、 onCreate 在 Android 開發中,MainActivity 作為應用的入口 Activity,其 onCreate() 方法是生命周期中第一個且最重要的回調方法,負責初始化核心組件和界面。以下是其核心要點: 一、基本定義與作用 調用時機 當 Activity 首次…

AIGC圖像去噪:核心原理、算法實現與深度學習模型詳解

1. 背景概述 1.1 目標與范疇 在AIGC(人工智能生成內容) 的技術生態系統中,圖像生成模型(如生成對抗網絡GAN、擴散模型Diffusion Model)所產出的視覺內容,其質量常因訓練數據中的固有瑕疵、生成過程中的隨機擾動或數據傳輸期間的信號衰減而呈現出不同程度的退化。因此,…

電路圖識圖基礎知識-自耦變壓器降壓啟動電動機控制電路(十六)

自耦變壓器降壓啟動電動機控制電路 自耦變壓器降壓啟動電動機控制電路是將自耦變壓器的原邊繞組接于電源側,副邊繞組接 于電機側。電動機定子繞組啟動時的電壓為自耦變壓器降壓后得到的電壓,這樣可以減少電動 機的啟動電流和啟動力矩,當電動…

Life:Internship finding

1. 前言 fishwheel writes this Blog to 記錄自分自身在研二下找實習的經歷。When 寫這篇 Blog 的時候我的最后一搏也掛掉了,只能啟用保底方案了。When I 打開我的郵箱時,發現里面有 nearly 100 多封與之相關的郵件,頓時感到有些心涼&#x…

Redis 常用數據類型和命令使用

目錄 1 string 2 hash 3 list 4 set集合 5 zset有序集合 1 string 值可以是字符串、數字和二進制的value&#xff0c;值最大不能超過512MB 應用場景&#xff1a; 應用程序緩存 計數器 web共享session 限速 1.1 設置單個鍵值 set <key> value [EX seconds|PX…

Spring Boot緩存組件Ehcache、Caffeine、Redis、Hazelcast

一、Spring Boot緩存架構核心 Spring Boot通過spring-boot-starter-cache提供統一的緩存抽象層&#xff1a; #mermaid-svg-PW9nciqD2RyVrZcZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PW9nciqD2RyVrZcZ .erro…

【photoshop】專色濃度和專色密度

1.1 專色濃度 是圖層填充到專色前&#xff0c;設置的前景色CMYK的K值。填充到專色后&#xff0c;可以查看到專色中圖層的k值。 ps前景色填充快捷鍵 1.Windows 系統&#xff1a;Alt Delete&#xff1b;2.Mac 系統&#xff1a;Option Delete。 1.2專色密度 專色的屬性&…

用電腦控制keysight示波器

KEYSIGHT示波器HD304MSO性能 亮點&#xff1a; 體驗 200 MHz 至 1 GHz 的帶寬和 4 個模擬通道。與 12 位 ADC 相比&#xff0c;使用 14 位模數轉換器 &#xff08;ADC&#xff09; 將垂直分辨率提高四倍。使用 10.1 英寸電容式觸摸屏輕松查看和分析您的信號。捕獲 50 μVRMS …

leetcode hot100刷題日記——33.二叉樹的層序遍歷

解題總結二維vector的初始化方法 題目描述情況1&#xff1a;不確定行數和列數情況2&#xff1a;已知行數和列數情況3&#xff1a;已知行數但不知道列數情況4&#xff1a;已知列數但不知道行數 題目描述 解答&#xff1a;用隊列 思路都差不多&#xff0c;我覺得對于我自己來說&a…

微服務面試資料1

在當今快速發展的技術領域&#xff0c;微服務架構已經成為構建復雜系統的重要方式之一。本文將圍繞微服務的核心概念、技術棧、分布式事務處理、微服務拆分與設計&#xff0c;以及敏捷開發實踐等關鍵問題展開深入探討&#xff0c;旨在為準備面試的 Java 開發者提供一份全面的復…

【設計模式-4.8】行為型——中介者模式

說明&#xff1a;本文介紹行為型設計模式之一的中介者模式 定義 中介者模式&#xff08;Mediator Pattern&#xff09;又叫作調節者模式或調停者模式。用一個中介對象封裝一系列對象交互&#xff0c;中介者使各對象不需要顯式地互相作用&#xff0c;從而使其耦合松散&#xf…

Oracle 的 SEC_CASE_SENSITIVE_LOGON 參數

Oracle 的SEC_CASE_SENSITIVE_LOGON 參數 關鍵版本信息 SEC_CASE_SENSITIVE_LOGON 參數在以下版本中被棄用&#xff1a; Oracle 12c Release 1 (12.1)&#xff1a; 該參數首次被標記為"過時"(obsolete)但依然保持功能有效 Oracle 18c/19c 及更高版本&#xff1a; …