| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- import * as cornerstoneTools from '@cornerstonejs/tools';
- import TibialPlateauAngleTool from '@/components/measures/TibialPlateauAngleTool';
- import DARAMeasurementTool from '@/components/measures/DARAMeasurementTool';
- import HipDIMeasurementTool from '@/components/measures/HipDIMeasurementTool';
- import HipNHAAngleMeasurementTool from '@/components/measures/HipNHAAngleMeasurementTool';
- import VHSMeasurementTool from '@/components/measures/VHSMeasurementTool';
- import TPLOMeasurementTool from '@/components/measures/TPLOMeasurementTool';
- import TTAMeasurementTool from '@/components/measures/TTAMeasurementTool';
- import CBLOMeasurementTool from '@/components/measures/CBLOMeasurementTool';
- import HipCoverageMeasurementTool from '@/components/measures/HipCoverageMeasurementTool';
- import HipDorsalCoverageTool from '@/components/measures/HipDorsalCoverageTool';
- import CircleCenterMeasurementTool from '@/components/measures/CircleCenterMeasurementTool';
- import MidlineMeasurementTool from '@/components/measures/MidlineMeasurementTool';
- import FindMidpointMeasurementTool from '@/components/measures/FindMidpointMeasurementTool';
- import VerticalTiltMeasurementTool from '@/components/measures/VerticalTiltMeasurementTool';
- import HorizontalTiltMeasurementTool from '@/components/measures/HorizontalTiltMeasurementTool';
- import PolygonLengthMeasurementTool from '@/components/measures/PolygonLengthMeasurementTool';
- import DicomOverlayTool from '@/components/overlay/DicomOverlayTool';
- import PolylineLengthMeasurementTool from '@/components/measures/PolylineLengthMeasurementTool';
- import LineGrayscaleMeasurementTool from '@/components/measures/LineGrayscaleMeasurementTool';
- import RectangleGrayscaleMeasurementTool from '@/components/measures/RectangleGrayscaleMeasurementTool';
- import MaskTool from '@/components/tools/MaskTool';
- const {
- MagnifyTool,
- PanTool,
- WindowLevelTool,
- StackScrollTool,
- ZoomTool,
- LabelTool,
- PlanarRotateTool,
- LengthTool,
- } = cornerstoneTools;
- let toolsRegistered = false;
- /**
- * 全局注册所有 Cornerstone3D 工具
- * 这个函数只会执行一次,避免重复注册
- */
- export function registerGlobalTools(): void {
- if (toolsRegistered) {
- console.log(
- '[cornerstoneToolsSetup] Tools already registered, skipping...'
- );
- return;
- }
- console.log('[cornerstoneToolsSetup] Registering global tools...');
- try {
- // 注册所有工具
- cornerstoneTools.addTool(MagnifyTool);
- cornerstoneTools.addTool(PanTool);
- cornerstoneTools.addTool(WindowLevelTool);
- cornerstoneTools.addTool(StackScrollTool);
- cornerstoneTools.addTool(ZoomTool);
- cornerstoneTools.addTool(LabelTool);
- cornerstoneTools.addTool(PlanarRotateTool);
- cornerstoneTools.addTool(LengthTool); // 添加线段测量工具
- cornerstoneTools.addTool(cornerstoneTools.AngleTool); // 添加角度测量工具
- cornerstoneTools.addTool(TibialPlateauAngleTool); // 添加胫骨平台夹角测量工具
- cornerstoneTools.addTool(DARAMeasurementTool); // 添加髋臼水平角测量工具
- cornerstoneTools.addTool(HipDIMeasurementTool); // 添加髋关节牵引指数测量工具
- cornerstoneTools.addTool(HipNHAAngleMeasurementTool); // 添加髋关节水平角测量工具
- cornerstoneTools.addTool(VHSMeasurementTool); // 添加心锥比测量工具
- cornerstoneTools.addTool(TPLOMeasurementTool); // 添加胫骨平台骨切开术测量工具
- cornerstoneTools.addTool(TTAMeasurementTool); // 添加胫骨结节前移术测量工具
- cornerstoneTools.addTool(CBLOMeasurementTool); // 添加水平截骨术测量工具
- cornerstoneTools.addTool(HipCoverageMeasurementTool); // 添加股骨头覆盖率测量工具
- cornerstoneTools.addTool(HipDorsalCoverageTool); // 添加髋臼背覆盖测量工具
- cornerstoneTools.addTool(CircleCenterMeasurementTool); // 添加找圆心测量工具
- cornerstoneTools.addTool(MidlineMeasurementTool); // 添加找中线测量工具
- cornerstoneTools.addTool(FindMidpointMeasurementTool); // 添加找中点测量工具
- cornerstoneTools.addTool(VerticalTiltMeasurementTool); // 添加直线垂直倾斜度测量工具
- cornerstoneTools.addTool(HorizontalTiltMeasurementTool); // 添加直线水平倾斜度测量工具
- cornerstoneTools.addTool(PolygonLengthMeasurementTool); // 添加多边形长度测量工具
- cornerstoneTools.addTool(PolylineLengthMeasurementTool); // 添加拆线长度测量工具
- cornerstoneTools.addTool(LineGrayscaleMeasurementTool); // 添加直线灰度测量工具
- cornerstoneTools.addTool(RectangleGrayscaleMeasurementTool); // 添加矩形区域灰度测量工具
- cornerstoneTools.addTool(DicomOverlayTool); // 添加DICOM四角信息显示工具
- cornerstoneTools.addTool(MaskTool); // 添加矩形ROI工具
- toolsRegistered = true;
- console.log('[cornerstoneToolsSetup] All tools registered successfully');
- } catch (error) {
- console.error('[cornerstoneToolsSetup] Error registering tools:', error);
- throw error;
- }
- }
- /**
- * 检查工具是否已注册
- */
- export function areToolsRegistered(): boolean {
- return toolsRegistered;
- }
- /**
- * 重置工具注册状态(主要用于测试)
- */
- export function resetToolsRegistration(): void {
- toolsRegistered = false;
- }
|