@ohif/extension-cornerstone-dicom-pmap 3.14.0-beta.2 → 3.14.0-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@cornerstonejs/core"),require("@ohif/extension-cornerstone"),require("@ohif/i18n"),require("@ohif/ui-next")):"function"==typeof define&&define.amd?define(["@ohif/core","@cornerstonejs/adapters","@cornerstonejs/core","@ohif/extension-cornerstone","@ohif/i18n","@ohif/ui-next"],t):"object"==typeof exports?exports["ohif-extension-cornerstone-dicom-pmap"]=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@cornerstonejs/core"),require("@ohif/extension-cornerstone"),require("@ohif/i18n"),require("@ohif/ui-next")):e["ohif-extension-cornerstone-dicom-pmap"]=t(e["@ohif/core"],e["@cornerstonejs/adapters"],e["@cornerstonejs/core"],e["@ohif/extension-cornerstone"],e["@ohif/i18n"],e["@ohif/ui-next"])}(globalThis,(e,t,r,n,o,a)=>(()=>{var i,s,l={224(e,t,r){"use strict";r.r(t),r.d(t,{default:()=>u});var n=r(598),o=r.n(n),a=r(326),i=r(55),s=r(669);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function c(e){let{displaySets:t,children:r,viewportOptions:n,displaySetOptions:o,servicesManager:c}=e,u=n.viewportId,{displaySetService:p,segmentationService:f,uiNotificationService:d,customizationService:y}=c.services;if(1!==t.length)throw Error("PMAP viewport must have a single display set");let m=y.getCustomization("ui.loadingIndicatorTotalPercent"),S=t[0],[h,v]=(0,i.useViewportGrid)(),g=(0,a.useRef)(null),{viewports:b,activeViewportId:I}=h,w=S.getReferenceDisplaySet(),D=function(e,t){let{SharedFunctionalGroupsSequence:r}=t.instance,{PixelMeasuresSequence:n}=Array.isArray(r)?r[0]:r,{SpacingBetweenSlices:o,SliceThickness:a}=Array.isArray(n)?n[0]:n,i=e.images[0];return{PatientID:i.PatientID,PatientName:i.PatientName,PatientSex:i.PatientSex,PatientAge:i.PatientAge,SliceThickness:i.SliceThickness||a,StudyDate:i.StudyDate,SeriesDescription:i.SeriesDescription,SeriesInstanceUID:i.SeriesInstanceUID,SeriesNumber:i.SeriesNumber,ManufacturerModelName:i.ManufacturerModelName,SpacingBetweenSlices:i.SpacingBetweenSlices||o}}(w,S);g.current={displaySet:w,metadata:D};let[E,_]=(0,a.useState)(!S.isLoaded);(0,a.useEffect)(()=>{let{unsubscribe:e}=f.subscribe(f.EVENTS.SEGMENTATION_LOADING_COMPLETE,e=>{e.pmapDisplaySet?.displaySetInstanceUID===S.displaySetInstanceUID&&_(!1)});return()=>{e()}},[S]);let O=(0,a.useCallback)(()=>{let{displaySet:t}=g.current;o.unshift({});let[r]=o;return r.options=r.options??{},Object.assign(r.options,{colormap:{name:"rainbow_2",opacity:[{value:0,opacity:0},{value:.25,opacity:.25},{value:.5,opacity:.5},{value:.75,opacity:.75},{value:.9,opacity:.99}]},voi:{windowCenter:50,windowWidth:100}}),d.show({title:"Parametric Map",type:"warning",message:"The values are multiplied by 100 in the viewport for better visibility"}),a.createElement(s.OHIFCornerstoneViewport,l({},e,{displaySets:[t,S],viewportOptions:{viewportType:"volume",orientation:n.orientation,viewportId:n.viewportId,presentationIds:n.presentationIds},displaySetOptions:[{},r]}))},[o,e,S,n.orientation,n.viewportId,n.presentationIds,d]);(0,a.useEffect)(()=>{let e=p.subscribe(p.EVENTS.DISPLAY_SETS_REMOVED,({displaySetInstanceUIDs:e})=>{let t=b.get(I);e.includes(t.displaySetInstanceUID)&&v.setDisplaySetsForViewport({viewportId:I,displaySetInstanceUIDs:[]})});return()=>{e.unsubscribe()}},[I,p,v,b]);let P=null;return r&&r.length&&(P=r.map((e,t)=>e&&a.cloneElement(e,{viewportId:u,key:t}))),a.createElement(a.Fragment,null,a.createElement("div",{className:"relative flex h-full w-full flex-row overflow-hidden"},E&&a.createElement(m,{className:"h-full w-full",totalNumbers:null,percentComplete:null,loadingText:"Loading Parametric Map..."}),O(),P))}c.propTypes={displaySets:o().arrayOf(o().object),viewportId:o().string.isRequired,dataSource:o().object,children:o().node};let u=c},856(e,t,r){"use strict";var n=r(183);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,a,i){if(i!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return r.PropTypes=r,r}},598(e,t,r){e.exports=r(856)()},183(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},249(e,t){"use strict";var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=(Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense")),i=(Symbol.for("react.memo"),Symbol.for("react.lazy")),s=Symbol.iterator,l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},c=Object.assign,u={};function p(e,t,r){this.props=e,this.context=t,this.refs=u,this.updater=r||l}function f(){}function d(e,t,r){this.props=e,this.context=t,this.refs=u,this.updater=r||l}p.prototype.isReactComponent={},p.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},p.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},f.prototype=p.prototype;var y=d.prototype=new f;y.constructor=d,c(y,p.prototype),y.isPureReactComponent=!0;var m=Array.isArray,S=Object.prototype.hasOwnProperty,h=null,v={key:!0,ref:!0,__self:!0,__source:!0};function g(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var b=null;t.Fragment=o,t.Suspense=a,t.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=c({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=h),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)S.call(t,u)&&!v.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==l?l[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=n;else if(1<u){l=Array(u);for(var p=0;p<u;p++)l[p]=arguments[p+2];o.children=l}return{$$typeof:r,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createElement=function(e,t,n){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)S.call(t,o)&&!v.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:r,type:e,key:i,ref:s,props:a,_owner:h}},t.lazy=function(e){return{$$typeof:i,_payload:{_status:-1,_result:e},_init:g}},t.useCallback=function(e,t){return b.useCallback(e,t)},t.useEffect=function(e,t){return b.useEffect(e,t)},t.useRef=function(e){return b.useRef(e)},t.useState=function(e){return b.useState(e)}},326(e,t,r){"use strict";e.exports=r(249)},142(e){"use strict";e.exports=t},557(e){"use strict";e.exports=r},2(t){"use strict";t.exports=e},669(e){"use strict";e.exports=n},545(e){"use strict";e.exports=o},55(e){"use strict";e.exports=a}},c={};function u(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return l[e](r,r.exports,u),r.exports}u.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return u.d(t,{a:t}),t},u.d=(e,t)=>{for(var r in t)u.o(t,r)&&!u.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},u.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),u.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i=[],u.O=(e,t,r,n)=>{if(t){n=n||0;for(var o=i.length;o>0&&i[o-1][2]>n;o--)i[o]=i[o-1];i[o]=[t,r,n];return}for(var a=1/0,o=0;o<i.length;o++){for(var[t,r,n]=i[o],s=!0,l=0;l<t.length;l++)(!1&n||a>=n)&&Object.keys(u.O).every(e=>u.O[e](t[l]))?t.splice(l--,1):(s=!1,n<a&&(a=n));if(s){i.splice(o--,1);var c=r();void 0!==c&&(e=c)}}return e},u.F={},u.E=e=>{Object.keys(u.F).map(t=>{u.F[t](e)})},s={509:0},u.F.j=e=>{if(!u.o(s,e)||void 0===s[e]){s[e]=null;var t=document.createElement("link");u.nc&&t.setAttribute("nonce",u.nc),t.rel="prefetch",t.as="script",t.href=u.p+u.u(e),document.head.appendChild(t)}},u.O.j=e=>0===s[e],u.O(0,[509],()=>{[509].map(u.E)},5);var p={};return(()=>{"use strict";u.r(p),u.d(p,{default:()=>h});let e=JSON.parse('{"UU":"@ohif/extension-cornerstone-dicom-pmap"}').UU,t=`${e}.sopClassHandlerModule.dicom-pmap`;var r=u(326),n=u(2),o=u(545),a=u.n(o),i=u(557),s=u(142),l=u(669);let c=["1.2.840.10008.5.1.4.1.1.30"];async function f(e,t,r,n){let o=`${l.VOLUME_LOADER_SCHEME}:${e.displaySetInstanceUID}`,a=i.cache.getVolumeLoadObject(o);if(a)return a.promise;e.loading=!0,e.isLoaded=!1;let s=d({extensionManager:r,displaySet:e,headers:n});return i.cache.putVolumeLoadObject(o,{promise:s}).catch(e=>{throw e}),s.then(()=>{e.loading=!1,e.isLoaded=!0,t.services.segmentationService._broadcastEvent(t.services.segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE,{pmapDisplaySet:e})}).catch(t=>{throw e.loading=!1,e.isLoaded=!1,t}),s}async function d({displaySet:e,headers:t}){let r=await l.dicomLoaderService.findDicomDataPromise(e,null,t),n=e.getReferencedVolumeId(),o=i.cache.getVolume(n);if(!o)throw Error("Referenced Volume is missing for the PMAP, and stack viewport PMAP is not supported yet");let{imageIds:a}=o,{pixelData:c}=await s.adaptersPMAP.Cornerstone3D.ParametricMap.generateToolState(a,r,i.metaData),u=c.constructor,p=e.displaySetInstanceUID,f=await i.volumeLoader.createAndCacheDerivedVolume(n,{volumeId:p,targetBuffer:{type:u.name}}),y=new u(c.length);for(let e=0;e<c.length;e++)y[e]=100*c[e];f.voxelManager.setCompleteScalarDataArray(y);let m=(e=>{let t=e[0],r=e[0];for(let n=1;n<e.length;n++)e[n]<t&&(t=e[n]),e[n]>r&&(r=e[n]);return[t,r]})(y),S=i.utilities.windowLevel.toWindowLevel(m[0],m[1]);return f.metadata.voiLut=[S],f.loadStatus={loaded:!0},f}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let m=r.lazy(()=>Promise.resolve().then(u.bind(u,224))),S=e=>r.createElement(r.Suspense,{fallback:r.createElement("div",null,"Loading...")},r.createElement(m,e)),h={id:e,getViewportModule:({servicesManager:e,extensionManager:t,commandsManager:n})=>[{name:"dicom-pmap",component:o=>r.createElement(S,y({servicesManager:e,extensionManager:t,commandsManager:n},o))}],getSopClassHandlerModule:function(e){let{servicesManager:r,extensionManager:o}=e;return[{name:"dicom-pmap",sopClassUids:c,getDisplaySetsFromSeries:e=>(function(e,r,o){let i=e[0],{StudyInstanceUID:s,SeriesInstanceUID:u,SOPInstanceUID:p,SeriesDescription:d,SeriesNumber:y,SeriesDate:m,SOPClassUID:S,wadoRoot:h,wadoUri:v,wadoUriRoot:g}=i,b={Modality:"PMAP",isReconstructable:!0,displaySetInstanceUID:`pmap.${n.utils.guid()}`,SeriesDescription:d,SeriesNumber:y,SeriesDate:m,SOPInstanceUID:p,SeriesInstanceUID:u,StudyInstanceUID:s,SOPClassHandlerId:t,SOPClassUID:S,referencedImages:null,referencedSeriesInstanceUID:null,referencedDisplaySetInstanceUID:null,referencedVolumeURI:null,referencedVolumeId:null,isDerivedDisplaySet:!0,loadStatus:{loading:!1,loaded:!1},sopClassUids:c,instance:i,instances:[i],wadoRoot:h,wadoUriRoot:g,wadoUri:v,supportsWindowLevel:!0,label:d||`${a().t("Series")} ${y} - ${a().t("PMAP")}`},I=i.ReferencedSeriesSequence;if(!I)return void console.error("ReferencedSeriesSequence is missing for the parametric map");let w=I[0]||I;return b.referencedImages=i.ReferencedSeriesSequence.ReferencedInstanceSequence,b.referencedSeriesInstanceUID=w.SeriesInstanceUID,b.getReferenceDisplaySet=()=>{let{displaySetService:e}=r.services;if(b.referencedDisplaySetInstanceUID)return e.getDisplaySetByUID(b.referencedDisplaySetInstanceUID);let t=e.getDisplaySetsForSeries(b.referencedSeriesInstanceUID);if(!t||0===t.length)throw Error("Referenced displaySet is missing for the parametric map");let n=t[0];return b.referencedDisplaySetInstanceUID=n.displaySetInstanceUID,n},b.getReferencedVolumeId=()=>{if(b.referencedVolumeId)return b.referencedVolumeId;let e=b.getReferenceDisplaySet().displaySetInstanceUID,t=`${l.VOLUME_LOADER_SCHEME}:${e}`;return b.referencedVolumeURI=e,b.referencedVolumeId=t,t},b.load=async({headers:e})=>await f(b,r,o,e),[b]})(e,r,o)}]}}})(),p=u.O(p)})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@cornerstonejs/core"),require("@ohif/extension-cornerstone"),require("@ohif/i18n"),require("@ohif/ui-next")):"function"==typeof define&&define.amd?define(["@ohif/core","@cornerstonejs/adapters","@cornerstonejs/core","@ohif/extension-cornerstone","@ohif/i18n","@ohif/ui-next"],t):"object"==typeof exports?exports["ohif-extension-cornerstone-dicom-pmap"]=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@cornerstonejs/core"),require("@ohif/extension-cornerstone"),require("@ohif/i18n"),require("@ohif/ui-next")):e["ohif-extension-cornerstone-dicom-pmap"]=t(e["@ohif/core"],e["@cornerstonejs/adapters"],e["@cornerstonejs/core"],e["@ohif/extension-cornerstone"],e["@ohif/i18n"],e["@ohif/ui-next"])}(globalThis,(e,t,r,o,n,a)=>(()=>{"use strict";var i,s,l={224(e,t,r){r.r(t),r.d(t,{default:()=>l});var o=r(184),n=r(326),a=r(55),i=r(669),s=r(870);let l=function(e){let t,r,l,c,u,p,f,d=(0,o.c)(25),{displaySets:m,children:y,viewportOptions:S,servicesManager:h}=e,v=S.viewportId,{displaySetService:I,segmentationService:_,uiNotificationService:g,customizationService:b}=h.services;if(1!==m.length)throw Error("PMAP viewport must have a single display set");d[0]!==b?(t=b.getCustomization("ui.loadingIndicatorTotalPercent"),d[0]=b,d[1]=t):t=d[1];let E=t,D=m[0],[w,x]=(0,a.useViewportGrid)(),{viewports:O,activeViewportId:U}=w,j=D.getReferenceDisplaySet(),[M,R]=(0,n.useState)(!D.isLoaded);d[2]!==D.displaySetInstanceUID||d[3]!==_?(r=()=>{let{unsubscribe:e}=_.subscribe(_.EVENTS.SEGMENTATION_LOADING_COMPLETE,e=>{e.pmapDisplaySet?.displaySetInstanceUID===D.displaySetInstanceUID&&R(!1)});return()=>{e()}},d[2]=D.displaySetInstanceUID,d[3]=_,d[4]=r):r=d[4],d[5]!==D?(l=[D],d[5]=D,d[6]=l):l=d[6],(0,n.useEffect)(r,l),d[7]!==U||d[8]!==I||d[9]!==x||d[10]!==O?(c=()=>{let e=I.subscribe(I.EVENTS.DISPLAY_SETS_REMOVED,e=>{let{displaySetInstanceUIDs:t}=e,r=O.get(U);t.includes(r.displaySetInstanceUID)&&x.setDisplaySetsForViewport({viewportId:U,displaySetInstanceUIDs:[]})});return()=>{e.unsubscribe()}},u=[U,I,x,O],d[7]=U,d[8]=I,d[9]=x,d[10]=O,d[11]=c,d[12]=u):(c=d[11],u=d[12]),(0,n.useEffect)(c,u);let T=null;if(y&&y.length){let e;if(d[13]!==y||d[14]!==v){let t;d[16]!==v?(t=(e,t)=>e&&n.cloneElement(e,{viewportId:v,key:t}),d[16]=v,d[17]=t):t=d[17],e=y.map(t),d[13]=y,d[14]=v,d[15]=e}else e=d[15];T=e}d[18]!==E||d[19]!==M?(p=M&&(0,s.jsx)(E,{className:"h-full w-full",totalNumbers:null,percentComplete:null,loadingText:"Loading Parametric Map..."}),d[18]=E,d[19]=M,d[20]=p):p=d[20];let P=(g.show({title:"Parametric Map",type:"warning",message:"The values are multiplied by 100 in the viewport for better visibility"}),(0,s.jsx)(i.OHIFCornerstoneViewport,{...e,displaySets:[j,D],viewportOptions:{viewportType:"volume",orientation:S.orientation,viewportId:S.viewportId,presentationIds:S.presentationIds},displaySetOptions:[{},{options:{colormap:{name:"rainbow_2",opacity:[{value:0,opacity:0},{value:.25,opacity:.25},{value:.5,opacity:.5},{value:.75,opacity:.75},{value:.9,opacity:.99}]},voi:{windowCenter:50,windowWidth:100}}}]}));return d[21]!==T||d[22]!==p||d[23]!==P?(f=(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"relative flex h-full w-full flex-row overflow-hidden",children:[p,P,T]})}),d[21]=T,d[22]=p,d[23]=P,d[24]=f):f=d[24],f}},76(e,t,r){var o=r(326).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;t.c=function(e){return o.H.useMemoCache(e)}},60(e,t){var r=Symbol.for("react.transitional.element");function o(e,t,o){var n=null;if(void 0!==o&&(n=""+o),void 0!==t.key&&(n=""+t.key),"key"in t)for(var a in o={},t)"key"!==a&&(o[a]=t[a]);else o=t;return{$$typeof:r,type:e,key:n,ref:void 0!==(t=o.ref)?t:null,props:o}}t.Fragment=Symbol.for("react.fragment"),t.jsx=o,t.jsxs=o},391(e,t){var r=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),n=(Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.consumer"),Symbol.for("react.context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense")),a=(Symbol.for("react.memo"),Symbol.for("react.lazy")),i=(Symbol.for("react.activity"),Symbol.iterator),s={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},l=Object.assign,c={};function u(e,t,r){this.props=e,this.context=t,this.refs=c,this.updater=r||s}function p(){}function f(e,t,r){this.props=e,this.context=t,this.refs=c,this.updater=r||s}u.prototype.isReactComponent={},u.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},u.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},p.prototype=u.prototype;var d=f.prototype=new p;d.constructor=f,l(d,u.prototype),d.isPureReactComponent=!0;var m={H:null,A:null,T:null,S:null},y=Object.prototype.hasOwnProperty;function S(e,t,o){var n=o.ref;return{$$typeof:r,type:e,key:t,ref:void 0!==n?n:null,props:o}}function h(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}"function"==typeof reportError&&reportError,t.Suspense=n,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=m,t.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var o=l({},e.props),n=e.key;if(null!=t)for(a in void 0!==t.key&&(n=""+t.key),t)y.call(t,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&("ref"!==a||void 0!==t.ref)&&(o[a]=t[a]);var a=arguments.length-2;if(1===a)o.children=r;else if(1<a){for(var i=Array(a),s=0;s<a;s++)i[s]=arguments[s+2];o.children=i}return S(e.type,n,o)},t.lazy=function(e){return{$$typeof:a,_payload:{_status:-1,_result:e},_init:h}},t.useEffect=function(e,t){return m.H.useEffect(e,t)},t.useState=function(e){return m.H.useState(e)}},184(e,t,r){e.exports=r(76)},326(e,t,r){e.exports=r(391)},870(e,t,r){e.exports=r(60)},142(e){e.exports=t},557(e){e.exports=r},2(t){t.exports=e},669(e){e.exports=o},545(e){e.exports=n},55(e){e.exports=a}},c={};function u(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return l[e](r,r.exports,u),r.exports}u.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return u.d(t,{a:t}),t},u.d=(e,t)=>{for(var r in t)u.o(t,r)&&!u.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},u.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),u.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i=[],u.O=(e,t,r,o)=>{if(t){o=o||0;for(var n=i.length;n>0&&i[n-1][2]>o;n--)i[n]=i[n-1];i[n]=[t,r,o];return}for(var a=1/0,n=0;n<i.length;n++){for(var[t,r,o]=i[n],s=!0,l=0;l<t.length;l++)(!1&o||a>=o)&&Object.keys(u.O).every(e=>u.O[e](t[l]))?t.splice(l--,1):(s=!1,o<a&&(a=o));if(s){i.splice(n--,1);var c=r();void 0!==c&&(e=c)}}return e},u.F={},u.E=e=>{Object.keys(u.F).map(t=>{u.F[t](e)})},s={509:0},u.F.j=e=>{if(!u.o(s,e)||void 0===s[e]){s[e]=null;var t=document.createElement("link");u.nc&&t.setAttribute("nonce",u.nc),t.rel="prefetch",t.as="script",t.href=u.p+u.u(e),document.head.appendChild(t)}},u.O.j=e=>0===s[e],u.O(0,[509],()=>{[509].map(u.E)},5);var p={};return(()=>{u.r(p),u.d(p,{default:()=>v});var e=u(184);let t=JSON.parse('{"UU":"@ohif/extension-cornerstone-dicom-pmap"}').UU,r=`${t}.sopClassHandlerModule.dicom-pmap`;var o=u(326),n=u(2),a=u(545),i=u.n(a),s=u(557),l=u(142),c=u(669);let f=["1.2.840.10008.5.1.4.1.1.30"];async function d(e,t,r,o){let n=`${c.VOLUME_LOADER_SCHEME}:${e.displaySetInstanceUID}`,a=s.cache.getVolumeLoadObject(n);if(a)return a.promise;e.loading=!0,e.isLoaded=!1;let i=m({extensionManager:r,displaySet:e,headers:o});return s.cache.putVolumeLoadObject(n,{promise:i}).catch(e=>{throw e}),i.then(()=>{e.loading=!1,e.isLoaded=!0,t.services.segmentationService._broadcastEvent(t.services.segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE,{pmapDisplaySet:e})}).catch(t=>{throw e.loading=!1,e.isLoaded=!1,t}),i}async function m({displaySet:e,headers:t}){let r=await c.dicomLoaderService.findDicomDataPromise(e,null,t),o=e.getReferencedVolumeId(),n=s.cache.getVolume(o);if(!n)throw Error("Referenced Volume is missing for the PMAP, and stack viewport PMAP is not supported yet");let{imageIds:a}=n,{pixelData:i}=await l.adaptersPMAP.Cornerstone3D.ParametricMap.generateToolState(a,r,s.metaData),u=i.constructor,p=e.displaySetInstanceUID,f=await s.volumeLoader.createAndCacheDerivedVolume(o,{volumeId:p,targetBuffer:{type:u.name}}),d=new u(i.length);for(let e=0;e<i.length;e++)d[e]=100*i[e];f.voxelManager.setCompleteScalarDataArray(d);let y=(e=>{let t=e[0],r=e[0];for(let o=1;o<e.length;o++)e[o]<t&&(t=e[o]),e[o]>r&&(r=e[o]);return[t,r]})(d),S=s.utilities.windowLevel.toWindowLevel(y[0],y[1]);return f.metadata.voiLut=[S],f.loadStatus={loaded:!0},f}var y=u(870);let S=o.lazy(()=>Promise.resolve().then(u.bind(u,224))),h=t=>{let r,n,a=(0,e.c)(3);return a[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,y.jsx)("div",{children:"Loading..."}),a[0]=r):r=a[0],a[1]!==t?(n=(0,y.jsx)(o.Suspense,{fallback:r,children:(0,y.jsx)(S,{...t})}),a[1]=t,a[2]=n):n=a[2],n},v={id:t,getViewportModule:({servicesManager:t,extensionManager:r,commandsManager:o})=>[{name:"dicom-pmap",component:n=>{let a,i=(0,e.c)(2);return i[0]!==n?(a=(0,y.jsx)(h,{servicesManager:t,extensionManager:r,commandsManager:o,...n}),i[0]=n,i[1]=a):a=i[1],a}}],getSopClassHandlerModule:function(e){let{servicesManager:t,extensionManager:o}=e;return[{name:"dicom-pmap",sopClassUids:f,getDisplaySetsFromSeries:e=>(function(e,t,o){let a=e[0],{StudyInstanceUID:s,SeriesInstanceUID:l,SOPInstanceUID:u,SeriesDescription:p,SeriesNumber:m,SOPClassUID:y,wadoRoot:S,wadoUri:h,wadoUriRoot:v}=a,{SeriesDate:I,SeriesTime:_}=n.utils.getLatestInstanceDateTime(a),g={Modality:"PMAP",isReconstructable:!0,displaySetInstanceUID:`pmap.${n.utils.guid()}`,SeriesDescription:p,SeriesNumber:m,SeriesDate:I,SeriesTime:_,SOPInstanceUID:u,SeriesInstanceUID:l,StudyInstanceUID:s,SOPClassHandlerId:r,SOPClassUID:y,referencedImages:null,referencedSeriesInstanceUID:null,referencedDisplaySetInstanceUID:null,referencedVolumeURI:null,referencedVolumeId:null,isDerivedDisplaySet:!0,loadStatus:{loading:!1,loaded:!1},sopClassUids:f,instance:a,instances:[a],wadoRoot:S,wadoUriRoot:v,wadoUri:h,supportsWindowLevel:!0,label:p||`${i().t("Series")} ${m} - ${i().t("PMAP")}`},b=a.ReferencedSeriesSequence;if(!b)return void console.error("ReferencedSeriesSequence is missing for the parametric map");let E=b[0]||b;return g.referencedImages=a.ReferencedSeriesSequence.ReferencedInstanceSequence,g.referencedSeriesInstanceUID=E.SeriesInstanceUID,g.getReferenceDisplaySet=()=>{let{displaySetService:e}=t.services;if(g.referencedDisplaySetInstanceUID)return e.getDisplaySetByUID(g.referencedDisplaySetInstanceUID);let r=e.getDisplaySetsForSeries(g.referencedSeriesInstanceUID);if(!r||0===r.length)throw Error("Referenced displaySet is missing for the parametric map");let o=r[0];return g.referencedDisplaySetInstanceUID=o.displaySetInstanceUID,o},g.getReferencedVolumeId=()=>{if(g.referencedVolumeId)return g.referencedVolumeId;let e=g.getReferenceDisplaySet().displaySetInstanceUID,t=`${c.VOLUME_LOADER_SCHEME}:${e}`;return g.referencedVolumeURI=e,g.referencedVolumeId=t,t},g.load=async({headers:e})=>await d(g,t,o,e),[g]})(e,t,o)}]}}})(),p=u.O(p)})());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohif/extension-cornerstone-dicom-pmap",
|
|
3
|
-
"version": "3.14.0-beta.
|
|
3
|
+
"version": "3.14.0-beta.36",
|
|
4
4
|
"description": "DICOM Parametric Map read workflow",
|
|
5
5
|
"author": "OHIF",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,21 +22,20 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"
|
|
26
|
-
"react": "
|
|
27
|
-
"react-dom": "18.3.1",
|
|
25
|
+
"react": "19.2.7",
|
|
26
|
+
"react-dom": "19.2.7",
|
|
28
27
|
"react-i18next": "12.3.1",
|
|
29
28
|
"react-router": "6.30.3",
|
|
30
29
|
"react-router-dom": "6.30.3",
|
|
31
|
-
"@ohif/core": "3.14.0-beta.
|
|
32
|
-
"@ohif/extension-cornerstone": "3.14.0-beta.
|
|
33
|
-
"@ohif/i18n": "3.14.0-beta.
|
|
34
|
-
"@ohif/extension-default": "3.14.0-beta.
|
|
30
|
+
"@ohif/core": "3.14.0-beta.36",
|
|
31
|
+
"@ohif/extension-cornerstone": "3.14.0-beta.36",
|
|
32
|
+
"@ohif/i18n": "3.14.0-beta.36",
|
|
33
|
+
"@ohif/extension-default": "3.14.0-beta.36"
|
|
35
34
|
},
|
|
36
35
|
"dependencies": {
|
|
37
36
|
"@babel/runtime": "7.29.7",
|
|
38
|
-
"@cornerstonejs/adapters": "5.
|
|
39
|
-
"@cornerstonejs/core": "5.
|
|
37
|
+
"@cornerstonejs/adapters": "5.10.3",
|
|
38
|
+
"@cornerstonejs/core": "5.10.3",
|
|
40
39
|
"@kitware/vtk.js": "36.4.1"
|
|
41
40
|
},
|
|
42
41
|
"devDependencies": {
|