working reference lines

This commit is contained in:
Ross
2025-05-27 16:25:12 +01:00
parent 81edcea5ea
commit ffb478af59
+17 -24
View File
@@ -24,6 +24,7 @@ const { IMAGE_RENDERED } = Enums.Events;
const STACK_TOOL_GROUP_ID = 'STACK_TOOL_GROUP_ID';
const VOLUME_TOOL_GROUP_ID = 'VOLUME_TOOL_GROUP_ID';
const REFERENCE_TOOL_GROUP_ID = 'REFERENCE_TOOL_GROUP_ID';
// Common CT presets (add more as needed)
const WINDOW_LEVEL_PRESETS = [
@@ -487,8 +488,8 @@ function App() {
}
// --- In your setup function, use the correct tool group per viewport ---
const { stackToolGroup, volumeToolGroup } = ToolGroupManager.getToolGroup(STACK_TOOL_GROUP_ID)
? { stackToolGroup: ToolGroupManager.getToolGroup(STACK_TOOL_GROUP_ID), volumeToolGroup: ToolGroupManager.getToolGroup(VOLUME_TOOL_GROUP_ID) }
const { stackToolGroup, volumeToolGroup, referenceToolGroup } = ToolGroupManager.getToolGroup(STACK_TOOL_GROUP_ID)
? { stackToolGroup: ToolGroupManager.getToolGroup(STACK_TOOL_GROUP_ID), volumeToolGroup: ToolGroupManager.getToolGroup(VOLUME_TOOL_GROUP_ID), referenceToolGroup: ToolGroupManager.getToolGroup(REFERENCE_TOOL_GROUP_ID) }
: setupTools();
@@ -498,29 +499,14 @@ function App() {
// --- In your setup function, after tool group creation, enable/disable ReferenceLinesTool for each tool group ---
if (referenceLinesEnabled) {
if (!stackToolGroup.hasTool(ReferenceLinesTool.toolName)) {
stackToolGroup.addTool(ReferenceLinesTool.toolName);
}
if (!volumeToolGroup.hasTool(ReferenceLinesTool.toolName)) {
volumeToolGroup.addTool(ReferenceLinesTool.toolName);
}
// Set the active viewport as the source for reference lines
const sourceViewportId = `CT_${activeViewport}`;
stackToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
referenceToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
referenceToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
sourceViewportId,
});
volumeToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
sourceViewportId,
});
stackToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
volumeToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
} else {
if (stackToolGroup.hasTool(ReferenceLinesTool.toolName)) {
stackToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
}
if (volumeToolGroup.hasTool(ReferenceLinesTool.toolName)) {
volumeToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
}
referenceToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
}
// 6. Enable and configure each viewport
@@ -560,6 +546,7 @@ function App() {
// Add tool group only once
toolGroup.addViewport(viewportId, renderingEngineId);
referenceToolGroup.addViewport(viewportId, renderingEngineId);
const viewport = renderingEngine.getViewport(viewportId);
@@ -1787,7 +1774,7 @@ function setupTools() {
stackToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
stackToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
stackToolGroup.addTool(SculptorTool.toolName, {});
stackToolGroup.addTool(ReferenceLinesTool.toolName);
//stackToolGroup.addTool(ReferenceLinesTool.toolName);
// StackScrollTool mouse wheel binding
stackToolGroup.setToolActive(StackScrollTool.toolName, {
bindings: [{ mouseButton: MouseBindings.Wheel }],
@@ -1811,9 +1798,15 @@ function setupTools() {
volumeToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
volumeToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
volumeToolGroup.addTool(SculptorTool.toolName, {});
volumeToolGroup.addTool(ReferenceLinesTool.toolName);
//volumeToolGroup.addTool(ReferenceLinesTool.toolName);
//volumeToolGroup.addTool(CrosshairsTool.toolName, {});
}
return { stackToolGroup, volumeToolGroup };
let referenceToolGroup = ToolGroupManager.getToolGroup(REFERENCE_TOOL_GROUP_ID);
if (!referenceToolGroup) {
referenceToolGroup = ToolGroupManager.createToolGroup(REFERENCE_TOOL_GROUP_ID);
referenceToolGroup.addTool(ReferenceLinesTool.toolName);
}
return { stackToolGroup, volumeToolGroup, referenceToolGroup };
}