iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >一文详解cornerstone Tools 基础概念
  • 912
分享到

一文详解cornerstone Tools 基础概念

cornerstone Tools基础概念cornerstone Tools 2023-03-09 18:03:14 912人浏览 安东尼
摘要

目录cornerstone Tools 基础概念工具类型Base ToolBaseAnnotationTool工具模式事件全局配置项cornerstone Tools 基础概念 C

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基础概念的资料请关注编程网其它相关文章!

--结束END--

本文标题: 一文详解cornerstone Tools 基础概念

本文链接: https://www.lsjlt.com/news/199181.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 一文详解cornerstone Tools 基础概念
    目录cornerstone Tools 基础概念工具类型Base ToolBaseAnnotationTool工具模式事件全局配置项cornerstone Tools 基础概念 C...
    99+
    2023-03-09
    cornerstone Tools基础概念 cornerstone Tools
  • cornerstone Tools基础概念是什么
    这篇文章主要介绍“cornerstone Tools基础概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“cornerstone Tools基础概念是什么”文章能帮助大家解...
    99+
    2023-07-05
  • 【MySQL】一文详解MySQL,从基础概念到调优
    作者简介 前言 博主之前写过一个MySQL的系列,从基础概念、SQL到底层原理、优化,专栏地址: https://blog.csdn.net/joker_zjn/category_12305262.htmlspm=1001.2014.30...
    99+
    2023-09-11
    mysql 数据库 原力计划
  • Golang函数基础概念详解
    随着现代编程语言的快速发展,Golang已经成为越来越多人的首选语言。而作为Golang语言中的基础概念之一的函数,更是为程序员们提供了强大的工具支持。本文将会详细解释Golang函数的定义、参数、返回值、作用域等基本概念,以及一些高级应用...
    99+
    2023-05-17
    函数 Golang 基础概念
  • Python语法概念基础详解
    目录Python之禅:Python基础:1.进制转换:2.数据类型:3.单双引号转义字符的使用:4.单双三引号的转义换行:5.字符串的运算:6.组的概念与含义:7.集合:8.系统关键...
    99+
    2024-04-02
  • 网络基础入门(网络基础概念详解)
      本篇文章主要是对网络初学的概念进行解释,可以让你对网络有一个大概整体的认知。 文章目录 一、简单认识网络 1、1 什么是网络 1、2 网络分类  二、网络模型 2、1OSI七层模型 2、1、1 简单认识协议 2...
    99+
    2023-10-03
    网络
  • python链表的基础概念和基础用法详解
    本文为大家分享了python链表的基础概念和基础用法,供大家参考,具体内容如下 一、什么是链表 链表是由多个不同的节点组成,每个节点通过指针区域关联到一起链表的头指针,指向了头节点,...
    99+
    2024-04-02
  • JavaHttp的基础概念了解
    目录基本概念了解网络的分层HTTP协议HTTP和TCP的关系总结学完了计算机网络课程以后,确实学到了一些网络的概念,初步拥有了对网络的一些认识。这些概念虽然可以用来解释平时网络上遇到...
    99+
    2023-05-17
    java Http Http基础概念
  • Go语言并发编程基础上下文概念详解
    目录前言1 Go 中的 Context2 Context 接口3 Context Tree4 创建上下文4.1 上下文创建函数4.2 Context 使用规范4.3 Context ...
    99+
    2024-04-02
  • Go语言基础概念解析
    go 语言是一门高性能、并发编程语言,其基础概念包括:基本类型(整数、浮点数、布尔值、字符串、字符);通过 var 关键字声明变量,并支持类型推断;使用 const 关键字声明常量;提供...
    99+
    2024-04-08
    go语言 基础概念
  • 缓存的基础概念解读
    高速缓存(Cache,简称缓存),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。Cache是位于CPU和DRAM之间,通常由SRAM构成的规模小存...
    99+
    2023-06-04
  • JAVA基本概念详解
    目录一、java发展史二、Java跨平台二、JRE和JDK三、下载JDK四、常用的DOS命令五、配置Path环境变量六、第一个程序六、bug(甲壳虫)七、Notepad八、注释九、关...
    99+
    2024-04-02
  • LINQ基础概念怎么理解
    本篇内容介绍了“LINQ基础概念怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要想更好地了解LINQ,首先需要了解LINQ基础概念。...
    99+
    2023-06-17
  • Java线程安全基础概念解析
    Java线程安全初步了解。JAVA线程安全从总体上来说,是指Java对象在多线程运行环境下的一种特性,表现为常规(区别于特殊调用情况)情况下每次调用都能得到正确的逻辑结果。从本质上来说,将对象的方法行为加上了同步控制逻辑,而调用者无须做其他...
    99+
    2023-05-31
    java 线程安全 ava
  • 详解Java中二叉树的基础概念(递归&迭代)
    目录1.树型结构1.1概念1.2概念(重要)2.二叉树(重点)2.1概念2.2二叉树的基本形态2.3两种特殊的二叉树2.4二叉树的性质2.5二叉树的存储2.6二叉树的基本操作2.7二...
    99+
    2024-04-02
  • Node.js的4个基本概念详解
    本篇内容主要讲解“Node.js的4个基本概念详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js的4个基本概念详解”吧!1.非阻塞或异步I/O由于...
    99+
    2024-04-02
  • 一文详解DOM的概念和常用操作
    目录DOM 的概念和常用操作什么是 DOM如何操作 DOM一些常用的 HTML DOM 方法:核心就是增删改查操作,一些常用的 HTML DOM 属性DOM 的概念和常用操作 什么是...
    99+
    2023-05-17
    DOM概念 DOM常用操作
  • C++string容器基本概念详解
    string基本概念 本质: string是C++风格的字符串,而string本质上是一个类 string和char*区别: char*是一个指针 string是一...
    99+
    2024-04-02
  • 基于线程、并发的基本概念(详解)
    什么是线程?提到“线程”总免不了要和“进程”做比较,而我认为在Java并发编程中混淆的不是“线程”和“进程”的区别,而是“任务(Task)”。进程是表示资源分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。关于...
    99+
    2023-05-31
    线程 基本概念 并发
  • 哪一项不属于云服务器ecs基础概念
    云服务器(Cloud Storage Server,简称 CSC)是一种云计算服务,它提供了一系列云计算功能,包括负载均衡、弹性计算、存储以及虚拟化。CSC提供了一种高性能、高可用性和高扩展性的云计算服务,可以满足企业的各种云计算需求,包括...
    99+
    2023-10-26
    不属 概念 哪一项
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作