UNPKG

dicomweb-proxy

Version:

A proxy to translate between dicomweb and dimse

1 lines 12.6 kB
!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o(require("@ohif/core")):"function"==typeof define&&define.amd?define("@ohif/mode-segmentation",["@ohif/core"],o):"object"==typeof exports?exports["@ohif/mode-segmentation"]=o(require("@ohif/core")):e["@ohif/mode-segmentation"]=o(e["@ohif/core"])}("undefined"!=typeof self?self:this,(e=>(()=>{"use strict";var o={498:o=>{o.exports=e}},a={};function t(e){var r=a[e];if(void 0!==r)return r.exports;var i=a[e]={exports:{}};return o[e](i,i.exports,t),i.exports}t.d=(e,o)=>{for(var a in o)t.o(o,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:o[a]})},t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{t.r(r),t.d(r,{default:()=>p});var e=t(498);const o=JSON.parse('{"UU":"@ohif/mode-segmentation"}').UU,{createButton:a}=e.ToolbarService,i=[{commandName:"setSourceViewportForReferenceLinesTool",context:"CORNERSTONE"}],l={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},n=[{id:"Zoom",uiType:"ohif.radioGroup",props:{icon:"tool-zoom",label:"Zoom",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.radioGroup",props:{icon:"tool-window-level",label:"Window Level",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"Pan",uiType:"ohif.radioGroup",props:{icon:"tool-move",label:"Pan",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.radioGroup",props:{type:"tool",icon:"tool-3d-rotate",label:"3D Rotate",commands:l,evaluate:{name:"evaluate.cornerstoneTool",disabledText:"Select a 3D viewport to enable this tool"}}},{id:"Capture",uiType:"ohif.radioGroup",props:{icon:"tool-capture",label:"Capture",commands:"showDownloadViewportModal",evaluate:"evaluate.action"}},{id:"Layout",uiType:"ohif.layoutSelector",props:{rows:3,columns:4,evaluate:"evaluate.action",commands:"setViewportGridLayout"}},{id:"Crosshairs",uiType:"ohif.radioGroup",props:{icon:"tool-crosshair",label:"Crosshairs",commands:{commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool",disabledText:"Select an MPR viewport to enable this tool"}}},{id:"MoreTools",uiType:"ohif.splitButton",props:{groupId:"MoreTools",evaluate:"evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList",primary:a({id:"Reset",icon:"tool-reset",tooltip:"Reset View",label:"Reset",commands:"resetViewport",evaluate:"evaluate.action"}),secondary:{icon:"chevron-down",label:"",tooltip:"More Tools"},items:[a({id:"Reset",icon:"tool-reset",label:"Reset View",tooltip:"Reset View",commands:"resetViewport",evaluate:"evaluate.action"}),a({id:"rotate-right",icon:"tool-rotate-right",label:"Rotate Right",tooltip:"Rotate +90",commands:"rotateViewportCW",evaluate:"evaluate.action"}),a({id:"flipHorizontal",icon:"tool-flip-horizontal",label:"Flip Horizontal",tooltip:"Flip Horizontally",commands:"flipViewportHorizontal",evaluate:["evaluate.viewportProperties.toggle","evaluate.not3D"]}),a({id:"ReferenceLines",icon:"tool-referenceLines",label:"Reference Lines",tooltip:"Show Reference Lines",commands:"toggleEnabledDisabledToolbar",listeners:{[e.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:i,[e.ViewportGridService.EVENTS.VIEWPORTS_READY]:i},evaluate:"evaluate.cornerstoneTool.toggle"}),a({id:"ImageOverlayViewer",icon:"toggle-dicom-overlay",label:"Image Overlay",tooltip:"Toggle Image Overlay",commands:"toggleEnabledDisabledToolbar",evaluate:"evaluate.cornerstoneTool.toggle"}),a({id:"StackScroll",icon:"tool-stack-scroll",label:"Stack Scroll",tooltip:"Stack Scroll",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"invert",icon:"tool-invert",label:"Invert",tooltip:"Invert Colors",commands:"invertViewport",evaluate:"evaluate.viewportProperties.toggle"}),a({id:"Probe",icon:"tool-probe",label:"Probe",tooltip:"Probe",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"Cine",icon:"tool-cine",label:"Cine",tooltip:"Cine",commands:"toggleCine",evaluate:["evaluate.cine","evaluate.not3D"]}),a({id:"Angle",icon:"tool-angle",label:"Angle",tooltip:"Angle",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"Magnify",icon:"tool-magnify",label:"Zoom-in",tooltip:"Zoom-in",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"RectangleROI",icon:"tool-rectangle",label:"Rectangle",tooltip:"Rectangle",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"CalibrationLine",icon:"tool-calibration",label:"Calibration",tooltip:"Calibration Line",commands:l,evaluate:"evaluate.cornerstoneTool"}),a({id:"TagBrowser",icon:"dicom-tag-browser",label:"Dicom Tag Browser",tooltip:"Dicom Tag Browser",commands:"openDICOMTagViewer"}),a({id:"AdvancedMagnify",icon:"icon-tool-loupe",label:"Magnify Probe",tooltip:"Magnify Probe",commands:"toggleActiveDisabledToolbar",evaluate:"evaluate.cornerstoneTool.toggle.ifStrictlyDisabled"}),a({id:"UltrasoundDirectionalTool",icon:"icon-tool-ultrasound-bidirectional",label:"Ultrasound Directional",tooltip:"Ultrasound Directional",commands:l,evaluate:["evaluate.cornerstoneTool","evaluate.isUS"]})]}}],s=[{id:"BrushTools",uiType:"ohif.buttonGroup",props:{groupId:"BrushTools",items:[{id:"Brush",icon:"icon-tool-brush",label:"Brush",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:"Create new segmentation to enable this tool."},options:[{name:"Radius (mm)",id:"brush-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}},{name:"Shape",type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:"Circle"},{value:"SphereBrush",label:"Sphere"}],commands:"setToolActiveToolbar"}]},{id:"Eraser",icon:"icon-tool-eraser",label:"Eraser",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},options:[{name:"Radius (mm)",id:"eraser-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:"Shape",type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:"Circle"},{value:"SphereEraser",label:"Sphere"}],commands:"setToolActiveToolbar"}]},{id:"Threshold",icon:"icon-tool-threshold",label:"Threshold Tool",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]},options:[{name:"Radius (mm)",id:"threshold-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]}}},{name:"Threshold",type:"radio",id:"dynamic-mode",value:"ThresholdRange",values:[{value:"ThresholdDynamic",label:"Dynamic"},{value:"ThresholdRange",label:"Range"}],commands:({value:e,commandsManager:o,options:a})=>{if("ThresholdDynamic"===e)return void o.run("setToolActive",{toolName:"ThresholdCircularBrushDynamic"});const t=a.find((e=>"threshold-shape"===e.id));o.run("setToolActiveToolbar",{toolName:t.value})}},{name:"Shape",type:"radio",id:"threshold-shape",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:"Circle"},{value:"ThresholdSphereBrush",label:"Sphere"}],condition:({options:e})=>"ThresholdRange"===e.find((e=>"dynamic-mode"===e.id)).value,commands:"setToolActiveToolbar"},{name:"ThresholdRange",type:"double-range",id:"threshold-range",min:-1e3,max:1e3,step:1,value:[100,600],condition:({options:e})=>"ThresholdRange"===e.find((e=>"dynamic-mode"===e.id)).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}]}},{id:"Shapes",uiType:"ohif.radioGroup",props:{label:"Shapes",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["CircleScissor","SphereScissor","RectangleScissor"]},icon:"icon-tool-shape",options:[{name:"Shape",type:"radio",value:"CircleScissor",id:"shape-mode",values:[{value:"CircleScissor",label:"Circle"},{value:"SphereScissor",label:"Sphere"},{value:"RectangleScissor",label:"Rectangle"}],commands:"setToolActiveToolbar"}]}}];function c(e){const{toolNames:o,Enums:a}=e.exports;return{active:[{toolName:o.WindowLevel,bindings:[{mouseButton:a.MouseBindings.Primary}]},{toolName:o.Pan,bindings:[{mouseButton:a.MouseBindings.Auxiliary}]},{toolName:o.Zoom,bindings:[{mouseButton:a.MouseBindings.Secondary}]},{toolName:o.StackScrollMouseWheel,bindings:[]}],passive:[{toolName:"CircularBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_CIRCLE"}},{toolName:"CircularEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_CIRCLE"}},{toolName:"SphereBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_SPHERE"}},{toolName:"SphereEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_SPHERE"}},{toolName:"ThresholdCircularBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE"}},{toolName:"ThresholdSphereBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE"}},{toolName:"ThresholdCircularBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",strategySpecificConfiguration:{THRESHOLD:{isDynamic:!0,dynamicRadius:3}}}},{toolName:o.CircleScissors},{toolName:o.RectangleScissors},{toolName:o.SphereScissors},{toolName:o.StackScroll},{toolName:o.Magnify},{toolName:o.SegmentationDisplay},{toolName:o.UltrasoundDirectional}],disabled:[{toolName:o.ReferenceLines},{toolName:o.AdvancedMagnify}]}}const d="@ohif/extension-default.sopClassHandlerModule.stack",u="@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg",m={"@ohif/extension-default":"^3.0.0","@ohif/extension-cornerstone":"^3.0.0","@ohif/extension-cornerstone-dicom-seg":"^3.0.0"},p={id:o,modeFactory:function({modeConfiguration:a}){return{id:o,routeName:"segmentation",displayName:"Segmentation",onModeEnter:({servicesManager:e,extensionManager:o,commandsManager:a})=>{const{measurementService:t,toolbarService:r,toolGroupService:i}=e.services;t.clearMeasurements(),function(e,o,a){!function(e,o,a,t){const r=c(e.getModuleEntry("@ohif/extension-cornerstone.utilityModule.tools"));o.createToolGroupAndAddTools("default",r)}(e,o),function(e,o,a){const t=e.getModuleEntry("@ohif/extension-cornerstone.utilityModule.tools"),r=c(t);r.disabled.push({toolName:t.exports.toolNames.Crosshairs,configuration:{viewportIndicators:!1,disableOnPassive:!0,autoPan:{enabled:!1,panSize:10}}},{toolName:t.exports.toolNames.ReferenceLines}),o.createToolGroupAndAddTools("mpr",r)}(e,o),function(e,o){const a=e.getModuleEntry("@ohif/extension-cornerstone.utilityModule.tools"),{toolNames:t,Enums:r}=a.exports,i={active:[{toolName:t.TrackballRotateTool,bindings:[{mouseButton:r.MouseBindings.Primary}]},{toolName:t.Zoom,bindings:[{mouseButton:r.MouseBindings.Secondary}]},{toolName:t.Pan,bindings:[{mouseButton:r.MouseBindings.Auxiliary}]}]};o.createToolGroupAndAddTools("volume3d",i)}(e,o)}(o,i),r.addButtons(n),r.addButtons(s),r.createButtonSection("primary",["WindowLevel","Pan","Zoom","TrackballRotate","Capture","Layout","Crosshairs","MoreTools"]),r.createButtonSection("segmentationToolbox",["BrushTools","Shapes"])},onModeExit:({servicesManager:e})=>{const{toolGroupService:o,syncGroupService:a,toolbarService:t,segmentationService:r,cornerstoneViewportService:i,uiDialogService:l,uiModalService:n}=e.services;l.dismissAll(),n.hide(),o.destroy(),a.destroy(),r.destroy(),i.destroy()},validationTags:{study:[],series:[]},isValidMode:({modalities:e})=>{const o=e.split("\\");return{valid:1!==o.length||!["SM","US","MG","OT","DOC","CR"].includes(o[0]),description:"The mode does not support studies that ONLY include the following modalities: SM, US, MG, OT, DOC, CR"}},routes:[{path:"template",layoutTemplate:({location:e,servicesManager:o})=>({id:"@ohif/extension-default.layoutTemplateModule.viewerLayout",props:{leftPanels:["@ohif/extension-default.panelModule.seriesList"],rightPanels:["@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentationWithTools"],viewports:[{namespace:"@ohif/extension-cornerstone.viewportModule.cornerstone",displaySetsToDisplay:[d]},{namespace:"@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg",displaySetsToDisplay:[u]}]}})}],extensions:m,sopClassHandlers:[d,u],hotkeys:[...e.hotkeys.defaults.hotkeyBindings]}},extensionDependencies:m}})(),r})()));