跳到主要内容

自定义工具

Cornerstone 工具就是任何实现或继承了 BaseTool 或 AnnotationTool 抽象类所定义接口的类。创建一个自定义工具很简单:

import csTools3d, { AnnotationTool, BaseTool } from '@Tools`

class MyCustomTool extends BaseTool {
// ...
}

csTools3d.addTool(MyCustomTool, { /* 工具选项 */ })

BaseTool​

基础工具有名称、配置、选项、策略、绑定等等。基础工具通常用来响应用户输入, 并对视口(例如它的相机)产生某种改变。BaseTool 的例子包括:

  • Pan(平移)
  • PetThreshold(PET 阈值)
  • StackScroll(堆栈滚动)
  • StackScrollMouseWheel(滚轮堆栈滚动)
  • WindowLevel(窗宽窗位)
  • Zoom(缩放)

AnnotationTool​

标注工具通常带有与参考坐标系绑定的「标注」。它还有一些额外方法, 让工具能表明自己应当处理 / 捕获某次交互。这一点最常用于 「在控制点附近的交互」或「在已渲染的工具线条附近的交互」。

处于 Active(激活) 模式的标注工具有一个 addNewAnnotation 方法, 当某次鼠标事件没有被捕获时它会被调用。这让当前激活的工具可以为这次交互 创建标注。AnnotationTool 的例子包括:

  • Bidirectional(双向)
  • EllipticalROI(椭圆 ROI)
  • CircleROI(圆形 ROI)
  • Length(长度)
  • Probe(探针)
  • RectangleROI(矩形 ROI)
  • PlanarFreehandROI(平面自由绘制 ROI)

下一步​

接下来你可以: