医学影像工具库cornerstoneTools完全入门如何快速构建DICOM标注与测量工具【免费下载链接】cornerstoneToolsA framework for tools built on top of Cornerstone.项目地址: https://gitcode.com/gh_mirrors/co/cornerstoneToolscornerstoneToolscornerstone-tools是一个构建在 Cornerstone.js 之上的医学影像工具框架专为 DICOM 影像的标注、测量与分割而生。它提供长度、角度、ROI 等内置测量工具并支持快速扩展自定义工具是开发医学影像标注与测量工具的高效选择。本文面向新手带你用最少代码搭建第一个 DICOM 标注工具。为什么选择 cornerstoneTools 开发医学影像工具很多开发者发现写一两个测量工具不难但工具一多就会遇到麻烦——各工具行为不一致、跨多个影像面板管理困难、工具之间状态互相依赖等。cornerstoneTools 用一套可插拔、可扩展的机制解决这些问题让工具即插即用。它的核心优势包括统一行为所有工具遵循一致的模式与交互规范多面板管理轻松管理多个影像元素enabled element上的工具状态DICOM 元数据感知自动利用 DICOM 标签如像素间距计算真实测量值轻量依赖只依赖 Cornerstone 家族库易于集成一键安装最快配置方法在工程中使用 NPM 安装是最推荐的方式# 安装最新稳定版 npm install --save cornerstone-tools # 安装最新 beta 版 npm install --save cornerstone-toolsnextcornerstoneTools 需要几个 Cornerstone 家族的依赖库作用如下依赖库作用cornerstone-core渲染影像提供工具响应视口变化的事件与方法cornerstone-math提供向量等复杂数学计算hammerjs增强浏览器触摸手势支持cornerstone-wado-image-loader加载并解析 DICOM 影像初始化时只需注入依赖并调用init()库会自动应用合理默认配置import cornerstone from cornerstone-core; import cornerstoneTools from cornerstone-tools; import cornerstoneMath from cornerstone-math; import Hammer from hammerjs; cornerstoneTools.external.cornerstone cornerstone; cornerstoneTools.external.Hammer Hammer; cornerstoneTools.external.cornerstoneMath cornerstoneMath; cornerstoneTools.init(); 依赖配置是入门时最大的门槛建议结合官方文档逐步确认。三步上手添加并激活第一个测量工具cornerstoneTools 引入了把工具添加到影像元素的概念让状态管理更简单。以长度测量工具为例只需三步第一步启用一个影像元素const element document.querySelector(#element-1); cornerstone.enable(element);第二步把工具添加到元素const LengthTool cornerstoneTools.LengthTool; cornerstoneTools.addTool(LengthTool); // 添加到所有已启用元素 // 或 cornerstoneTools.addToolForElement(element, LengthTool);第三步激活工具cornerstoneTools.setToolActive(Length, { mouseButtonMask: 1 });完成这三步你就能在影像上绘制长度标注了。这套添加 → 激活的流程同样适用于角度、椭圆 ROI 等所有内置工具。核心概念工具模式Modes一览理解工具的四种模式是正确控制标注与测量行为的关键。模式说明Active激活可渲染、可交互能创建新标注/测量Passive被动可渲染、可操作已有数据但不能创建Enabled启用可渲染但不响应输入类似只读状态Disabled禁用默认不渲染、不可交互你可以随时用setToolActive、setToolPassive、setToolEnabled、setToolDisabled切换模式也可用...ForElement版本对某个元素单独设置。内置工具全解析标注、测量与分割cornerstoneTools 内置了覆盖临床常见需求的工具集开箱即用标注与测量LengthTool长度、AngleTool角度、CobbAngleTool科布角、ProbeTool灰度探测、BidirectionalTool双向测量等位于 src/tools/annotation/ROI 区域RectangleRoiTool、EllipseRoiTool、CircleRoiTool、FreehandRoiTool浏览导航PanTool、ZoomTool、StackScrollTool、WwwcTool、MagnifyTool分割BrushTool、CircleScissorsTool、RectangleScissorsTool、FreehandScissorsTool、EraserTool位于 src/tools/segmentation/其中分割模块把三维 labelmap 数据统一管理方便 2D/3D 操作与 DICOMSEG 导出详细实现见 src/store/modules/segmentationModule/index.js。进阶自定义一个专属工具所有工具都继承自基类这让你能低成本地开发新工具。根据你的需求选择基类BaseTool基础类适合不产生自有标注数据的工具BaseAnnotationTool用于会创建、显示自有标注数据的工具如长度测量BaseBrushTool用于创建/修改分割数据的画笔类工具继承基类只需在构造函数中调用super()并传入名称与交互类型再实现相应事件回调即可。完整示例见 src/tools/base/BaseTool.js 与官方Custom Tools文档章节。常见问题与下一步测量值不准确认使用了 cornerstone-wado-image-loader 正确解析 DICOM 像素间距元数据。触摸不灵敏检查是否正确注入了 hammerjs。想换光标/颜色通过textStyle、toolStyle、toolColors等模块即可自定义外观。建议先跑通三步上手的测量示例再逐步尝试分割与自定义工具。掌握了这套框架你就能快速构建属于自己的 DICOM 标注与测量工具了。【免费下载链接】cornerstoneToolsA framework for tools built on top of Cornerstone.项目地址: https://gitcode.com/gh_mirrors/co/cornerstoneTools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考