简介
npm 包 cornerstone-tools 是一个为 Web 前端开发人员设计的工具包,它提供了一些基本的医疗图像处理功能,包括放大、缩小、旋转、窗宽窗位调整、线性测量等。
cornerstone-tools 是通过基于 cornerstone.js(一个医疗图像库)开发的插件来扩展并丰富 cornerstone.js 可以实现的功能。
本篇文章将对 npm 包 cornerstone-tools 进行详细的介绍,以帮助读者了解如何集成、使用、以及扩展这一工具包。
安装
npm 包 cornerstone-tools 可以通过 npm 安装,使用以下命令即可:
npm install cornerstone-tools
集成
为了使用 cornerstone-tools,需要将其注册到 cornerstone.js 中,以下代码片段展示了如何完成注册:
import cornerstone from 'cornerstone-core'; import cornerstoneTools from 'cornerstone-tools'; cornerstoneTools.init(); cornerstoneTools.setToolActive('Pan', { mouseButtonMask: 1 });
在这段代码中,我们首先引入了 cornerstone.js 和 cornerstone-tools,之后我们初始化 cornerstone-tools 和设置其默认工具(这里我们设置为“平移”),因此 Web 应用程序就可以使用 cornerstone-tools 所提供的功能了。
窗宽窗位调整
对于医疗图像处理,窗宽窗位调整是一个常见的需求。下面的代码展示了如何使用 cornerstone-tools 实现窗宽窗位调整:
-- -------------------- ---- ------- ------ ----------- ---- ------------------- ------ ---------------- ---- -------------------- ----- ------- - ------------------------------------- ---------------------------- ------------------------------------------------------------------- -- - --------------------------------- ------- --- ------------------------ -------------------------------------- - ---------------- - --- --------------------------------------------------------------- ------- -- - ----- -------- - ---------------------------------------------- ------------------------------------- --------------------------- ---
在这段代码中,我们首先引入了 cornerstone.js 和 cornerstone-tools,并使用 cornerstone 加载并显示了一个医疗图片,随后我们初始化了 cornerstone-tools,并启用了“窗宽窗位调整”这一工具,默认激活左键查看操作。
最后,我们通过监听 cornerstoneToolsMeasurementModified 事件来获取窗宽窗位调整的值,并将其打印到控制台上。
测量
在医疗图像处理中,测量是一个十分常见的需求。下面的代码展示了如何使用 cornerstone-tools 实现线性测量:
-- -------------------- ---- ------- ------ ----------- ---- ------------------- ------ ---------------- ---- -------------------- ----- ------- - ------------------------------------- ---------------------------- ------------------------------------------------------------------- -- - --------------------------------- ------- --- ------------------------ ---------------------------------------- - ---------------- - --- ------------------------------------------------------------ ------- -- - ----- ----------- - ------------------------- ------------------------------- -------------------- ---
在这段代码中,我们首先引入了 cornerstone.js 和 cornerstone-tools,并使用 cornerstone 加载并显示了一个医疗图片,随后我们初始化了 cornerstone-tools,并启用了“线性测量”这一工具,默认激活左键查看操作。
最后我们监听 cornerstoneToolsMeasurementAdded 事件来获取线性测量的结果,并将其打印到控制台上。
扩展
npm 包 cornerstone-tools 可以很容易地进行扩展以满足定制需求。
下面的代码展示了如何扩展 cornerstone-tools 插件,以添加一个自定义工具:
-- -------------------- ---- ------- ------ ---------------- ---- -------------------- ------ ------- ----- ------------ ------- -------------------------------------- - ----------------- - --- - ----- ------------ - - ----- --------------- -------- - ---------------- -- -- -- ----- ----------- - --------------------------- ------- ------------------- - ----------------------- --------------- - ------------------------------------------- - ------------------------ --------------- - -------------------------------------------- - ------------------------- --------------- - --------------------------------------------- - -
在这段代码中,我们定义了一个名为 MyCustomTool 的工具类,这个类继承自 cornerstone-tools.SimpleMouseButtonTool,并实现了其 activeCallback、enabledCallback 以及 disabledCallback 方法。
随后,我们可以将这个工具类注册到 cornerstone-tools 中,从而将其纳入我们的 Web 应用程序中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60991