UNPKG

dicomweb-proxy

Version:

A proxy to translate between dicomweb and dimse

2 lines 11.2 kB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1807],{41807:(e,o,t)=>{t.r(o),t.d(o,{default:()=>B});var a=t(62037);const n={CT:"ctToolGroup",PT:"ptToolGroup",Fusion:"fusionToolGroup",MIP:"mipToolGroup",default:"default"};const i=function(e,o,t,a){!function(e,o,t,a){const i={active:[{toolName:e.WindowLevel,bindings:[{mouseButton:o.MouseBindings.Primary}]},{toolName:e.Pan,bindings:[{mouseButton:o.MouseBindings.Auxiliary}]},{toolName:e.Zoom,bindings:[{mouseButton:o.MouseBindings.Secondary}]},{toolName:e.StackScroll,bindings:[{mouseButton:o.MouseBindings.Wheel}]}],passive:[{toolName:e.Length},{toolName:e.SegmentBidirectional},{toolName:e.ArrowAnnotate,configuration:{getTextCallback:(e,o)=>{a.runCommand("arrowTextCallback",{callback:e,eventDetails:o})},changeTextCallback:(e,o,t)=>{a.runCommand("arrowTextCallback",{callback:t,data:e,eventDetails:o})}}},{toolName:e.Bidirectional},{toolName:e.DragProbe},{toolName:e.Probe},{toolName:e.EllipticalROI},{toolName:e.RectangleROI},{toolName:e.StackScroll},{toolName:e.Angle},{toolName:e.CobbAngle},{toolName:e.Magnify},{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",threshold:{isDynamic:!0,dynamicRadius:3}}}],enabled:[],disabled:[{toolName:e.Crosshairs,configuration:{disableOnPassive:!0,autoPan:{enabled:!1,panSize:10}}}]};t.createToolGroupAndAddTools(n.CT,i),t.createToolGroupAndAddTools(n.PT,{active:i.active,passive:[...i.passive,{toolName:"RectangleROIStartEndThreshold"}],enabled:i.enabled,disabled:i.disabled}),t.createToolGroupAndAddTools(n.Fusion,i),t.createToolGroupAndAddTools(n.default,i);const r={active:[{toolName:e.VolumeRotate,bindings:[{mouseButton:o.MouseBindings.Wheel}],configuration:{rotateIncrementDegrees:5}},{toolName:e.MipJumpToClick,configuration:{toolGroupId:n.PT},bindings:[{mouseButton:o.MouseBindings.Primary}]}],enabled:[{toolName:e.OrientationMarker,configuration:{orientationWidget:{viewportCorner:"BOTTOM_LEFT"}}}]};t.createToolGroupAndAddTools(n.MIP,r)}(e,o,t,a)},r={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:[n.CT,n.PT,n.Fusion]}},l=[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:"measurementSection",groupId:"MeasurementTools"}},{id:"SegmentationTools",uiType:"ohif.toolBoxButton",props:{groupId:"SegmentationTools",buttonSection:"segmentationToolboxToolsSection"}},{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:"brushToolsSection",groupId:"BrushTools"}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:"Length",tooltip:"Length Tool",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:"Bidirectional",tooltip:"Bidirectional Tool",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:"Arrow Annotate",tooltip:"Arrow Annotate Tool",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:"Ellipse",tooltip:"Ellipse Tool",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{icon:"tool-zoom",label:"Zoom",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:"Window Level",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{icon:"tool-crosshair",label:"Crosshairs",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"Pan",uiType:"ohif.toolButton",props:{icon:"tool-move",label:"Pan",commands:r,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROIStartEndThreshold",uiType:"ohif.toolBoxButton",props:{icon:"tool-create-threshold",label:"Rectangle ROI Threshold",commands:r,evaluate:["evaluate.cornerstone.segmentation",{name:"evaluate.cornerstoneTool",disabledText:"Select the PT Axial to enable this tool"}],options:"tmtv.RectangleROIThresholdOptions"}},{id:"Brush",uiType:"ohif.toolButton",props:{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",uiType:"ohif.toolButton",props:{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",uiType:"ohif.toolButton",props:{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})=>{"ThresholdDynamic"===e?o.run("setToolActive",{toolName:"ThresholdCircularBrushDynamic"}):o.run("setToolActive",{toolName:"ThresholdCircularBrush"})}},{name:"Shape",type:"radio",id:"eraser-mode",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:0,max:50,step:.5,value:[2.5,50],condition:({options:e})=>"ThresholdRange"===e.find((e=>"dynamic-mode"===e.id)).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}}],s=JSON.parse('{"UU":"@ohif/mode-tmtv"}').UU;var u=t(40680);const{MetadataProvider:d}=a.Ly,c="@ohif/extension-default.layoutTemplateModule.viewerLayout",m="@ohif/extension-default.sopClassHandlerModule.stack",h="@ohif/extension-default.panelModule.seriesList",p="@ohif/extension-cornerstone.viewportModule.cornerstone",T="@ohif/extension-tmtv.hangingProtocolModule.ptCT",g="@ohif/extension-tmtv.panelModule.petSUV",v="@ohif/extension-tmtv.panelModule.tmtv",S={"@ohif/extension-default":"^3.0.0","@ohif/extension-cornerstone":"^3.0.0","@ohif/extension-cornerstone-dicom-seg":"^3.0.0","@ohif/extension-tmtv":"^3.0.0"},b=[];const B={id:s,modeFactory:function({modeConfiguration:e}){return{id:s,routeName:"tmtv",displayName:u.A.t("Modes:Total Metabolic Tumor Volume"),onModeEnter:({servicesManager:e,extensionManager:o,commandsManager:t})=>{const{toolbarService:a,toolGroupService:r,customizationService:s,hangingProtocolService:u,displaySetService:c}=e.services,m=o.getModuleEntry("@ohif/extension-cornerstone.utilityModule.tools"),{toolNames:h,Enums:p}=m.exports;i(h,p,r,t);const{unsubscribe:T}=r.subscribe(r.EVENTS.VIEWPORT_ADDED,(()=>{const{displaySetMatchDetails:e}=u.getMatchDetails();!function(e,o,t,a){const i=e.get("ctDisplaySet");if(!i)return;const{SeriesInstanceUID:r}=i,l=a.getDisplaySetsForSeries(r),s={...t.getToolConfiguration(n.Fusion,o.Crosshairs),filterActorUIDsToSetSlabThickness:[l[0].displaySetInstanceUID]};t.setToolConfiguration(n.Fusion,o.Crosshairs,s)}(e,h,r,c),function(e,o,t,a){const i=e.get("ptDisplaySet"),r=e.get("ctDisplaySet");if(!i)return;const{SeriesInstanceUID:l}=i,s=a.getDisplaySetsForSeries(l);if(!s||0===s.length)return;const u=t.getToolConfiguration(n.Fusion,o.WindowLevel),d=t.getToolConfiguration(n.Fusion,o.EllipticalROI),c=`cornerstoneStreamingImageVolume:${s[0].displaySetInstanceUID}`,{SeriesInstanceUID:m}=r,h={...u,volumeId:`cornerstoneStreamingImageVolume:${a.getDisplaySetsForSeries(m)[0].displaySetInstanceUID}`},p={...d,volumeId:c};t.setToolConfiguration(n.Fusion,o.WindowLevel,h),t.setToolConfiguration(n.Fusion,o.EllipticalROI,p)}(e,h,r,c)}));b.push(T),a.addButtons(l),a.createButtonSection("primary",["MeasurementTools","Zoom","WindowLevel","Crosshairs","Pan"]),a.createButtonSection("measurementSection",["Length","Bidirectional","ArrowAnnotate","EllipticalROI"]),a.createButtonSection("ROIThresholdToolbox",["SegmentationTools"]),a.createButtonSection("segmentationToolboxToolsSection",["RectangleROIStartEndThreshold","BrushTools"]),a.createButtonSection("brushToolsSection",["Brush","Eraser","Threshold"]),s.setCustomizations({"panelSegmentation.tableMode":{$set:"expanded"},"panelSegmentation.onSegmentationAdd":{$set:()=>{t.run("createNewLabelmapFromPT")}}}),u.addCustomAttribute("getPTVOIRange","get PT VOI based on corrected or not",(e=>{const o=e.find((e=>"PT"===e.Modality));if(!o)return;const{imageId:t}=o.images[0],a=d.get("scalingModule",t);return a&&a.suvbw?{windowWidth:5,windowCenter:2.5}:void 0}))},onModeExit:({servicesManager:e})=>{const{toolGroupService:o,syncGroupService:t,segmentationService:a,cornerstoneViewportService:n,uiDialogService:i,uiModalService:r}=e.services;b.forEach((e=>e())),i.hideAll(),r.hide(),o.destroy(),t.destroy(),a.destroy(),n.destroy()},validationTags:{study:[],series:[]},isValidMode:({modalities:e,study:o})=>{const t=e.split("\\");return{valid:t.includes("CT")&&"M1"!==o.mrn&&t.includes("PT")&&!["SM"].some((e=>t.includes(e)))&&"1.3.6.1.4.1.12842.1.1.14.3.20220915.105557.468.2963630849"!==o.studyInstanceUid,description:"The mode requires both PT and CT series in the study"}},routes:[{path:"tmtv",layoutTemplate:()=>({id:c,props:{leftPanels:[h],leftPanelResizable:!0,leftPanelClosed:!0,rightPanels:[v,g],rightPanelResizable:!0,viewports:[{namespace:p,displaySetsToDisplay:[m]}]}})}],extensions:S,hangingProtocol:T,sopClassHandlers:[m],...e}},extensionDependencies:S}}}]); //# sourceMappingURL=1807.bundle.8fc40d6ef5b061cbfc4c.js.map