working reference lines
This commit is contained in:
+17
-24
@@ -24,6 +24,7 @@ const { IMAGE_RENDERED } = Enums.Events;
|
|||||||
|
|
||||||
const STACK_TOOL_GROUP_ID = 'STACK_TOOL_GROUP_ID';
|
const STACK_TOOL_GROUP_ID = 'STACK_TOOL_GROUP_ID';
|
||||||
const VOLUME_TOOL_GROUP_ID = 'VOLUME_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)
|
// Common CT presets (add more as needed)
|
||||||
const WINDOW_LEVEL_PRESETS = [
|
const WINDOW_LEVEL_PRESETS = [
|
||||||
@@ -487,8 +488,8 @@ function App() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --- In your setup function, use the correct tool group per viewport ---
|
// --- In your setup function, use the correct tool group per viewport ---
|
||||||
const { stackToolGroup, volumeToolGroup } = ToolGroupManager.getToolGroup(STACK_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) }
|
? { stackToolGroup: ToolGroupManager.getToolGroup(STACK_TOOL_GROUP_ID), volumeToolGroup: ToolGroupManager.getToolGroup(VOLUME_TOOL_GROUP_ID), referenceToolGroup: ToolGroupManager.getToolGroup(REFERENCE_TOOL_GROUP_ID) }
|
||||||
: setupTools();
|
: setupTools();
|
||||||
|
|
||||||
|
|
||||||
@@ -498,29 +499,14 @@ function App() {
|
|||||||
|
|
||||||
// --- In your setup function, after tool group creation, enable/disable ReferenceLinesTool for each tool group ---
|
// --- In your setup function, after tool group creation, enable/disable ReferenceLinesTool for each tool group ---
|
||||||
if (referenceLinesEnabled) {
|
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}`;
|
const sourceViewportId = `CT_${activeViewport}`;
|
||||||
stackToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
|
referenceToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
|
||||||
|
referenceToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
|
||||||
sourceViewportId,
|
sourceViewportId,
|
||||||
});
|
});
|
||||||
volumeToolGroup.setToolConfiguration(ReferenceLinesTool.toolName, {
|
|
||||||
sourceViewportId,
|
|
||||||
});
|
|
||||||
stackToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
|
|
||||||
volumeToolGroup.setToolEnabled(ReferenceLinesTool.toolName);
|
|
||||||
} else {
|
} else {
|
||||||
if (stackToolGroup.hasTool(ReferenceLinesTool.toolName)) {
|
referenceToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
|
||||||
stackToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
|
|
||||||
}
|
|
||||||
if (volumeToolGroup.hasTool(ReferenceLinesTool.toolName)) {
|
|
||||||
volumeToolGroup.setToolDisabled(ReferenceLinesTool.toolName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. Enable and configure each viewport
|
// 6. Enable and configure each viewport
|
||||||
@@ -560,6 +546,7 @@ function App() {
|
|||||||
// Add tool group only once
|
// Add tool group only once
|
||||||
toolGroup.addViewport(viewportId, renderingEngineId);
|
toolGroup.addViewport(viewportId, renderingEngineId);
|
||||||
|
|
||||||
|
referenceToolGroup.addViewport(viewportId, renderingEngineId);
|
||||||
|
|
||||||
|
|
||||||
const viewport = renderingEngine.getViewport(viewportId);
|
const viewport = renderingEngine.getViewport(viewportId);
|
||||||
@@ -1787,7 +1774,7 @@ function setupTools() {
|
|||||||
stackToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
|
stackToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
|
||||||
stackToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
|
stackToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
|
||||||
stackToolGroup.addTool(SculptorTool.toolName, {});
|
stackToolGroup.addTool(SculptorTool.toolName, {});
|
||||||
stackToolGroup.addTool(ReferenceLinesTool.toolName);
|
//stackToolGroup.addTool(ReferenceLinesTool.toolName);
|
||||||
// StackScrollTool mouse wheel binding
|
// StackScrollTool mouse wheel binding
|
||||||
stackToolGroup.setToolActive(StackScrollTool.toolName, {
|
stackToolGroup.setToolActive(StackScrollTool.toolName, {
|
||||||
bindings: [{ mouseButton: MouseBindings.Wheel }],
|
bindings: [{ mouseButton: MouseBindings.Wheel }],
|
||||||
@@ -1811,9 +1798,15 @@ function setupTools() {
|
|||||||
volumeToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
|
volumeToolGroup.addTool(PlanarFreehandROITool.toolName, { calculateStats: false });
|
||||||
volumeToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
|
volumeToolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {});
|
||||||
volumeToolGroup.addTool(SculptorTool.toolName, {});
|
volumeToolGroup.addTool(SculptorTool.toolName, {});
|
||||||
volumeToolGroup.addTool(ReferenceLinesTool.toolName);
|
//volumeToolGroup.addTool(ReferenceLinesTool.toolName);
|
||||||
//volumeToolGroup.addTool(CrosshairsTool.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 };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user