add a new no label arrow tool

This commit is contained in:
Ross
2025-06-02 10:17:51 +01:00
parent b408ba96b3
commit 38620d969b
2 changed files with 12 additions and 1 deletions
+7 -1
View File
@@ -17,6 +17,8 @@ import { metaData } from '@cornerstonejs/core';
import * as dicomParser from "dicom-parser";
import cornerstoneDICOMImageLoader from "@cornerstonejs/dicom-image-loader"
import { NoLabelArrowAnnotateTool } from "./NoLabelArrowAnnotateTool";
// Extend the Window interface to include cornerstoneTools
declare global {
interface Window {
@@ -85,6 +87,7 @@ const TOOL_OPTIONS = [
{ label: "Rotate", value: PlanarRotateTool.toolName },
{ label: "Length", value: LengthTool.toolName },
{ label: "Probe", value: ProbeTool.toolName },
{ label: "Arrow (No Label)", value: NoLabelArrowAnnotateTool.toolName },
{ label: "Arrow Annotate", value: ArrowAnnotateTool.toolName },
{ label: "Rectangle ROI", value: RectangleROITool.toolName },
{ label: "Ellipse ROI", value: EllipticalROITool.toolName },
@@ -1205,6 +1208,7 @@ function App() {
// Only keep annotations with toolName in the allowed list
const allowedTools = [
LengthTool.toolName,
NoLabelArrowAnnotateTool.toolName,
ArrowAnnotateTool.toolName,
RectangleROITool.toolName,
EllipticalROITool.toolName,
@@ -2482,6 +2486,7 @@ function setupTools() {
cornerstoneTools.addTool(ReferenceCursors)
cornerstoneTools.addTool(CrosshairsTool)
cornerstoneTools.addTool(ReferenceLinesTool);
cornerstoneTools.addTool(NoLabelArrowAnnotateTool);
@@ -2495,7 +2500,8 @@ function setupTools() {
mainToolGroup.addTool(StackScrollTool.toolName, { loop: false });
mainToolGroup.addTool(PlanarRotateTool.toolName);
mainToolGroup.addTool(LengthTool.toolName);
mainToolGroup.addTool(ArrowAnnotateTool.toolName, { getTextCallback: () => '' });
mainToolGroup.addTool(NoLabelArrowAnnotateTool.toolName, { getTextCallback: () => '' });
mainToolGroup.addTool(ArrowAnnotateTool.toolName);
mainToolGroup.addTool(ProbeTool.toolName, { statsCalculator: () => null });
mainToolGroup.addTool(RectangleROITool.toolName, { calculateStats: false, getTextCallback: () => '' });
mainToolGroup.addTool(EllipticalROITool.toolName, { getTextCallback: () => '' });
@@ -0,0 +1,5 @@
import { ArrowAnnotateTool } from "@cornerstonejs/tools";
export class NoLabelArrowAnnotateTool extends ArrowAnnotateTool {
static toolName = "NoLabelArrowAnnotate";
}