UNPKG

dicomweb-proxy

Version:

A proxy to translate between dicomweb and dimse

2 lines 4.17 kB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6201,8402],{82098:(e,n,a)=>{a.r(n),a.d(n,{default:()=>g});const t=JSON.parse('{"UU":"@ohif/extension-cornerstone-dicom-pmap"}').UU,r=`${t}.sopClassHandlerModule.dicom-pmap`;var s=a(86326),i=a(62037),o=a(15327),c=a(59874),d=a(7241);const l="cornerstoneStreamingImageVolume",u=["1.2.840.10008.5.1.4.1.1.30"];function m(e,n,a){const t=e[0],{StudyInstanceUID:s,SeriesInstanceUID:m,SOPInstanceUID:S,SeriesDescription:I,SeriesNumber:f,SeriesDate:D,SOPClassUID:g,wadoRoot:y,wadoUri:U,wadoUriRoot:h}=t,v={Modality:"PMAP",isReconstructable:!0,displaySetInstanceUID:`pmap.${i.Wp.guid()}`,SeriesDescription:I,SeriesNumber:f,SeriesDate:D,SOPInstanceUID:S,SeriesInstanceUID:m,StudyInstanceUID:s,SOPClassHandlerId:r,SOPClassUID:g,referencedImages:null,referencedSeriesInstanceUID:null,referencedDisplaySetInstanceUID:null,referencedVolumeURI:null,referencedVolumeId:null,isDerivedDisplaySet:!0,loadStatus:{loading:!1,loaded:!1},sopClassUids:u,instance:t,instances:[t],wadoRoot:y,wadoUriRoot:h,wadoUri:U,isOverlayDisplaySet:!0},w=t.ReferencedSeriesSequence;if(!w)return void console.error("ReferencedSeriesSequence is missing for the parametric map");const M=w[0]||w;return v.referencedImages=t.ReferencedSeriesSequence.ReferencedInstanceSequence,v.referencedSeriesInstanceUID=M.SeriesInstanceUID,v.getReferenceDisplaySet=()=>{const{displaySetService:e}=n.services;if(v.referencedDisplaySetInstanceUID)return e.getDisplaySetByUID(v.referencedDisplaySetInstanceUID);const a=e.getDisplaySetsForSeries(v.referencedSeriesInstanceUID);if(!a||0===a.length)throw new Error("Referenced displaySet is missing for the parametric map");const t=a[0];return v.referencedDisplaySetInstanceUID=t.displaySetInstanceUID,t},v.getReferencedVolumeId=()=>{if(v.referencedVolumeId)return v.referencedVolumeId;const e=v.getReferenceDisplaySet().displaySetInstanceUID,n=`${l}:${e}`;return v.referencedVolumeURI=e,v.referencedVolumeId=n,n},v.load=async({headers:e})=>await async function(e,n,a,t){const r=`${l}:${e.displaySetInstanceUID}`,s=o.cache.getVolumeLoadObject(r);if(s)return s.promise;e.loading=!0,e.isLoaded=!1;const i=async function({displaySet:e,headers:n}){const a=await d.dicomLoaderService.findDicomDataPromise(e,null,n),t=e.getReferencedVolumeId(),r=o.cache.getVolume(t);if(!r)throw new Error("Referenced Volume is missing for the PMAP, and stack viewport PMAP is not supported yet");const{imageIds:s}=r,i=await c.X6.Cornerstone3D.ParametricMap.generateToolState(s,a,o.metaData),{pixelData:l}=i,u=l.constructor,m=e.displaySetInstanceUID,S=await o.volumeLoader.createAndCacheDerivedVolume(t,{volumeId:m,targetBuffer:{type:u.name}}),I=new u(l.length);for(let e=0;e<l.length;e++)I[e]=100*l[e];S.voxelManager.setCompleteScalarDataArray(I);const f=p(I),D=o.utilities.windowLevel.toWindowLevel(f[0],f[1]);return S.metadata.voiLut=[D],S.loadStatus={loaded:!0},S}({extensionManager:a,displaySet:e,headers:t});return o.cache.putVolumeLoadObject(r,{promise:i}).catch((e=>{throw e})),i.then((()=>{e.loading=!1,e.isLoaded=!0,n.services.segmentationService._broadcastEvent(n.services.segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE,{pmapDisplaySet:e})})).catch((n=>{throw e.loading=!1,e.isLoaded=!1,n})),i}(v,n,a,e),[v]}const p=e=>{let n=e[0],a=e[0];for(let t=1;t<e.length;t++)e[t]<n&&(n=e[t]),e[t]>a&&(a=e[t]);return[n,a]};const S=function({servicesManager:e,extensionManager:n}){return[{name:"dicom-pmap",sopClassUids:u,getDisplaySetsFromSeries:a=>m(a,e,n)}]};function I(){return I=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var t in a)({}).hasOwnProperty.call(a,t)&&(e[t]=a[t])}return e},I.apply(null,arguments)}const f=s.lazy((()=>a.e(4202).then(a.bind(a,74202)))),D=e=>s.createElement(s.Suspense,{fallback:s.createElement("div",null,"Loading...")},s.createElement(f,e)),g={id:t,getViewportModule:({servicesManager:e,extensionManager:n,commandsManager:a})=>[{name:"dicom-pmap",component:t=>s.createElement(D,I({servicesManager:e,extensionManager:n,commandsManager:a},t))}],getSopClassHandlerModule:S}}}]); //# sourceMappingURL=6201.bundle.00a5a3bfce72b297d153.js.map