@fnndsc/argus 0.7.0 → 0.7.2
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.
- package/dist/assets/ChRISlogo-color-t-i99soF.svg +164 -0
- package/dist/assets/MesloLGS-NF-Bold-DbxbaV6p.ttf +0 -0
- package/dist/assets/MesloLGS-NF-Regular-DAUcZJjt.ttf +0 -0
- package/dist/assets/Settings-B_WPNkCE.js +4407 -0
- package/dist/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/dist/assets/addVolumesToViewports-kPbPUzG1.js +1 -0
- package/dist/assets/antonio-latin-400-normal-CZjzwNAN.woff2 +0 -0
- package/dist/assets/antonio-latin-700-normal-DSH-lEDG.woff2 +0 -0
- package/dist/assets/arrive-ClURnB_N.wav +0 -0
- package/dist/assets/blosc-CrUiACa7.js +17 -0
- package/dist/assets/chakra-petch-latin-400-normal-SafcrIr2.woff2 +0 -0
- package/dist/assets/chakra-petch-latin-500-normal-BR1ody1F.woff2 +0 -0
- package/dist/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2 +0 -0
- package/dist/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2 +0 -0
- package/dist/assets/charlswasm_decode-BrO4esUm.wasm +0 -0
- package/dist/assets/chunk-INHXZS53-D3tQiqtZ.js +1 -0
- package/dist/assets/computeWorker-D8XJyv-f.js +4095 -0
- package/dist/assets/cornerstoneEngine-COmMRWtq.js +2 -0
- package/dist/assets/dcmjs.es-DfWkgqfk.js +18 -0
- package/dist/assets/decodeImageFrameWorker-BtcTb_T6.js +5 -0
- package/dist/assets/index-B1IRr1ii.js +4145 -0
- package/dist/assets/index-BEqlmVJ8.js +2456 -0
- package/dist/assets/index-BbgujRGq.css +1 -0
- package/dist/assets/index-BivV2-EJ.js +9 -0
- package/dist/assets/index-CH659Lsh.js +1 -0
- package/dist/assets/index-DRvbvdZm.js +320 -0
- package/dist/assets/index-Ddoc1eo6.js +1 -0
- package/dist/assets/index-WxcTPiRU.js +2 -0
- package/dist/assets/index-oaz5IMVa.js +1 -0
- package/dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/dist/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/dist/assets/jpeg-B-x1txLf.js +1 -0
- package/dist/assets/libjpegturbowasm_decode-7ZJ2wGuU.wasm +0 -0
- package/dist/assets/lossless-CyYqoyFe.js +1 -0
- package/dist/assets/lz4-B_Exjfmr.js +15 -0
- package/dist/assets/niivueEngine-B2PDgoH7.js +2 -0
- package/dist/assets/openjpegwasm_decode-B3gWTHpv.wasm +0 -0
- package/dist/assets/openjphjs-B5O5ikHp.wasm +0 -0
- package/dist/assets/press-Cr6-1MeH.wav +0 -0
- package/dist/assets/refuse-DQOeTs-N.wav +0 -0
- package/dist/assets/retreat-CxfXQVOC.wav +0 -0
- package/dist/assets/throttle-CjIII7Yf.js +1 -0
- package/dist/assets/zstd-u5eweWyS.js +15 -0
- package/dist/index.html +626 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-oaz5IMVa.js","./Settings-B_WPNkCE.js","./_commonjsHelpers-CE1G-McA.js","./dcmjs.es-DfWkgqfk.js","./index-Ddoc1eo6.js","./addVolumesToViewports-kPbPUzG1.js","./index-DRvbvdZm.js","./throttle-CjIII7Yf.js","./index-BivV2-EJ.js","./index-B1IRr1ii.js","./index-BbgujRGq.css","./index-WxcTPiRU.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{I as w,_ as I}from"./index-B1IRr1ii.js";let v=null;function y(){return v===null&&(v=(async()=>{const[T,e,t]=await Promise.all([I(()=>import("./index-oaz5IMVa.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),I(()=>import("./index-DRvbvdZm.js"),__vite__mapDeps([6,1,2,3,4,7,5]),import.meta.url),I(()=>import("./index-BivV2-EJ.js"),__vite__mapDeps([8,1,2,3,4,9,10]),import.meta.url)]);await T.init(),t.init({maxWebWorkers:2}),e.init();for(const o of[e.StackScrollTool,e.WindowLevelTool,e.ZoomTool,e.PanTool,e.LengthTool,e.AngleTool,e.ProbeTool,e.CrosshairsTool,e.TrackballRotateTool])e.addTool(o);return{core:T,tools:e,loader:t}})()),v}const b={gray:"Grayscale",hot:"Black-Body Radiation",jet:"jet",cool:"Cool to Warm"},f={wl:"WindowLevel",zoom:"Zoom",pan:"Pan",length:"Length",angle:"Angle",probe:"Probe"};let A=0;class ${name="cornerstone";host;series;serial=A++;imageIds;pathByImageId=new Map;sopByImageId=new Map;libraries=null;field=null;renderingEngine=null;layout="single";tool="wl";slice=0;refused=new Set;startAt;disposed=!1;metadataRegistered=!1;constructor(e,t,o=1){this.host=e,this.series=t,this.startAt=Math.max(1,Math.min(o,t.files.length)),this.imageIds=t.files.length===1&&t.frames>1?Array.from({length:t.frames},(i,r)=>`wadouri:${location.origin}${e.source.url_of(t.files[0]??"")}&frame=${r}`):t.files.map(i=>`wadouri:${location.origin}${e.source.url_of(i)}`),this.imageIds.forEach((i,r)=>{this.pathByImageId.set(i,t.files.length===1?t.files[0]??"":t.files[r]??"")})}async open(e){this.field=e,this.host.readout_set(`LOADING 1 OF ${this.imageIds.length}`),this.libraries=await y(),!this.disposed&&(this.metadata_register(),this.loadFailures_watch(),await this.stack_show())}async layout_set(e){return this.libraries===null||this.field===null?!1:e===this.layout?!0:e==="single"?(await this.stack_show(),!0):(await this.volume_show(e),!0)}slice_set(e){if(this.layout!=="single"||this.renderingEngine===null)return!1;const t=this.stackViewport_get();if(t===null)return!1;const o=Math.max(0,Math.min(e-1,this.imageIds.length-1));return t.setImageIdIndex(o),!0}wl_set(e,t){if(this.renderingEngine===null)return!1;for(const o of this.renderingEngine.getViewports())o.setProperties?.({voiRange:{lower:e,upper:t}}),o.render();return!0}colormap_set(e){if(this.renderingEngine===null)return!1;const t=b[e];for(const o of this.renderingEngine.getViewports())try{o.setProperties?.({colormap:{name:t}}),o.render()}catch{return!1}return!0}tool_set(e){if(this.libraries===null)return!1;const t=this.libraries.tools.ToolGroupManager.getToolGroup(this.toolGroupId_get());if(t===void 0)return!1;const o=this.libraries.tools.Enums.MouseBindings;for(const i of w)i!==e&&t.setToolPassive(f[i]);return t.setToolActive(f[e],{bindings:[{mouseButton:o.Primary}]}),this.tool=e,!0}async annotations_export(){if(this.libraries===null)return null;const{tools:e,core:t}=this.libraries,o=e.annotation.state.getAllAnnotations();if(o.length===0)return null;const i={};for(const s of o){const c=s.metadata.referencedImageId??"";if(!this.pathByImageId.has(c))continue;const m=i[c]??={};(m[s.metadata.toolName]??={data:[]}).data.push(s)}if(Object.keys(i).length===0)return null;const{adaptersSR:r}=await I(async()=>{const{adaptersSR:s}=await import("./index-WxcTPiRU.js");return{adaptersSR:s}},__vite__mapDeps([11,3,1,2,7]),import.meta.url),l=r.Cornerstone3D.MeasurementReport.generateReport(i,t.metaData,{});return globalThis.Buffer===void 0&&(globalThis.Buffer=(await I(async()=>{const{Buffer:s}=await import("./index-CH659Lsh.js").then(c=>c.i);return{Buffer:s}},[],import.meta.url)).Buffer),(await I(async()=>{const{default:s}=await import("./dcmjs.es-DfWkgqfk.js");return{default:s}},[],import.meta.url)).default.data.datasetToBlob(l.dataset)}async annotations_import(e){if(this.libraries===null||this.renderingEngine===null)return 0;const{core:t,tools:o}=this.libraries,i=(await I(async()=>{const{default:n}=await import("./dcmjs.es-DfWkgqfk.js");return{default:n}},[],import.meta.url)).default,{adaptersSR:r}=await I(async()=>{const{adaptersSR:n}=await import("./index-WxcTPiRU.js");return{adaptersSR:n}},__vite__mapDeps([11,3,1,2,7]),import.meta.url);let l;try{l=i.data.DicomMetaDictionary.naturalizeDataset(i.data.DicomMessage.readFile(e,{ignoreErrors:!0}).dict)}catch(n){return this.host.note(`image: annotation file could not be read: ${n instanceof Error?n.message:String(n)}`),0}const h=l.ContentTemplateSequence;Array.isArray(h)&&(l.ContentTemplateSequence=h[0]);const s={};for(const[n,u]of this.sopByImageId)s[`${u}:1`]=n,s[`${u}:undefined`]=n;const c=new Set,m=n=>{if(Array.isArray(n)){n.forEach(m);return}if(n===null||typeof n!="object")return;const u=n,a=u.ReferencedSOPSequence?.ReferencedSOPInstanceUID;typeof a=="string"&&s[`${a}:1`]!==void 0&&c.add(s[`${a}:1`]??"");for(const p of Object.values(u))typeof p=="object"&&m(p)};m(l.ContentSequence),await Promise.all([...c].map(n=>t.imageLoader.loadAndCacheImage(n).catch(()=>null)));let g=0;try{const n=r.Cornerstone3D.MeasurementReport.generateToolState(l,s,t.metaData,{}),u=this.field?.querySelector(".image-viewport")??void 0,a=[];for(const[p,d]of Object.entries(n)){a.push(`${p}×${d.length}`);for(const _ of d){if(_.annotation.metadata.referencedImageId===void 0){this.host.note(`image: a ${p} in the report references a slice not in this series`);continue}u!==void 0&&(o.annotation.state.addAnnotation(_.annotation,u),g++)}}g===0&&this.host.note(`image: the report holds ${a.length===0?"no measurement group this build reads":a.join(", ")}`)}catch(n){this.host.note(`image: annotation file could not be placed: ${n instanceof Error?n.message:String(n)}`)}return g>0&&this.renderingEngine.render(),g}state_get(){const e=this.libraries===null?0:this.libraries.tools.annotation.state.getAllAnnotations().filter(t=>this.pathByImageId.has(t.metadata.referencedImageId??"")).length;return{engine:"cornerstone",layout:this.layout,slice:this.slice,slices:this.imageIds.length,tool:this.tool,refused:this.refused.size,annotations:e}}dispose(){this.disposed=!0,this.field_clear(),this.field=null}metadata_register(){if(this.metadataRegistered||this.libraries===null)return;this.metadataRegistered=!0;const e=this.series,t=this.sopByImageId;for(const[i,r]of this.pathByImageId){const l=r.split("/").pop()??"",h=/^\d+-(.+)\.dcm$/i.exec(l)?.[1];t.set(i,h??`${e.seriesInstanceUID??"0"}.${t.size+1}`)}const o="1.2.840.10008.5.1.4.1.1.4";this.libraries.core.metaData.addProvider((i,r)=>{const l=t.get(r);if(l!==void 0){if(i==="sopCommonModule")return{sopInstanceUID:l,sopClassUID:o};if(i==="instance")return{SOPInstanceUID:l,SOPClassUID:o,SeriesInstanceUID:e.seriesInstanceUID??"",StudyInstanceUID:e.studyInstanceUID??"",Modality:e.modality,SeriesDescription:e.seriesDescription,SeriesNumber:e.seriesNumber??0,PatientID:"",PatientName:"",StudyDate:"",StudyTime:"",AccessionNumber:"",StudyID:""}}},1e4)}loadFailures_watch(){if(this.libraries===null)return;const{core:e}=this.libraries;e.eventTarget.addEventListener(e.Enums.Events.IMAGE_LOAD_FAILED,t=>{const o=t.detail??{};if(o.imageId===void 0||!this.pathByImageId.has(o.imageId))return;this.refused.add(o.imageId);const i=o.error?.message??"",r=/transfer syntax[^0-9]*([0-9.]+)/i.exec(i)?.[1];this.host.readout_set(r!==void 0?`UNSUPPORTED TRANSFER SYNTAX ${r}`:`REFUSED ${this.refused.size} OF ${this.imageIds.length}`),this.host.note(`image: ${this.pathByImageId.get(o.imageId)??o.imageId}: ${i||"could not be read"}`)})}engineId_get(){return`image-${this.serial}`}toolGroupId_get(){return`${this.engineId_get()}-${this.layout}`}stackViewport_get(){return this.renderingEngine===null?null:this.renderingEngine.getViewport(`${this.engineId_get()}-stack`)??null}async stack_show(){if(this.libraries===null||this.field===null)return;const{core:e,tools:t}=this.libraries;this.field_clear(),this.layout="single";const o=this.viewport_make("stack"),i=this.engineId_get(),r=`${i}-stack`;this.renderingEngine=new e.RenderingEngine(i),this.renderingEngine.enableElement({viewportId:r,type:e.Enums.ViewportType.STACK,element:o});const l=this.renderingEngine.getViewport(r);o.addEventListener(e.Enums.Events.STACK_NEW_IMAGE,m=>{const g=m.detail;this.slice=g.imageIdIndex+1;const n=this.pathByImageId.get(g.imageId)??"";this.host.readout_set(`SLICE ${this.slice} OF ${this.imageIds.length}${this.refused.size>0?` · REFUSED ${this.refused.size}`:""}`),this.host.regard(n)});const h=performance.now();if(this.host.progress_set({label:`READING ${this.imageIds.length} SLICES`,done:0,total:0}),await l.setStack(this.imageIds,this.startAt-1),l.render(),this.host.progress_set(null),this.disposed)return;this.host.note(`image: ${this.imageIds.length} slices, first on screen in ${Math.round(performance.now()-h)} ms`);const s=t.ToolGroupManager.getToolGroup(this.toolGroupId_get())??t.ToolGroupManager.createToolGroup(this.toolGroupId_get());if(s===void 0)return;for(const m of Object.values(f))s.addTool(m);s.addTool(t.StackScrollTool.toolName),s.addViewport(r,i);const c=t.Enums.MouseBindings;s.setToolActive(t.StackScrollTool.toolName,{bindings:[{mouseButton:c.Wheel}]}),s.setToolActive(f[this.tool],{bindings:[{mouseButton:c.Primary}]}),s.setToolActive(f.zoom,{bindings:[{mouseButton:c.Secondary}]}),s.setToolActive(f.pan,{bindings:[{mouseButton:c.Auxiliary}]})}async volume_show(e){if(this.libraries===null||this.field===null)return;const{core:t,tools:o}=this.libraries,i=performance.now(),r=this.imageIds.length;this.host.readout_set(`LOADING ${r} SLICES FOR ${e.toUpperCase()}`),this.field_clear(),this.layout=e,this.host.progress_set({label:`BUILDING ${e.toUpperCase()}`,done:0,total:r});let l=0;if(await Promise.all(this.imageIds.map(d=>t.imageLoader.loadAndCacheImage(d).catch(()=>null).finally(()=>{l++,this.host.progress_set({label:`BUILDING ${e.toUpperCase()}`,done:l,total:r})}))),this.disposed)return;const h=this.engineId_get(),s=`cornerstoneStreamingImageVolume:${h}`,c=document.createElement("div");c.className=e==="mpr"?"image-mpr":"image-render",this.field.appendChild(c);const m=e==="mpr"?[["axial",t.Enums.OrientationAxis.AXIAL],["coronal",t.Enums.OrientationAxis.CORONAL],["sagittal",t.Enums.OrientationAxis.SAGITTAL]]:[["render",void 0]];this.renderingEngine=new t.RenderingEngine(h);const g=m.map(([d,_])=>{const E=document.createElement("div");return E.className=`image-viewport image-viewport-${d}`,c.appendChild(E),{viewportId:`${h}-${d}`,type:e==="mpr"?t.Enums.ViewportType.ORTHOGRAPHIC:t.Enums.ViewportType.VOLUME_3D,element:E,..._!==void 0?{defaultOptions:{orientation:_}}:{}}});this.renderingEngine.setViewports(g),(await t.volumeLoader.createAndCacheVolume(s,{imageIds:this.imageIds})).load();const u=g.map(d=>d.viewportId);await t.setVolumesForViewports(this.renderingEngine,[{volumeId:s}],u),e==="3d"&&this.renderingEngine.getViewport(u[0]??"")?.setProperties?.({preset:this.series.modality.toUpperCase()==="CT"?"CT-Bone":"MR-Default"});const a=o.ToolGroupManager.getToolGroup(this.toolGroupId_get())??o.ToolGroupManager.createToolGroup(this.toolGroupId_get());if(a===void 0)return;const p=o.Enums.MouseBindings;for(const d of u)a.addViewport(d,h);if(e==="mpr"){a.addTool(o.CrosshairsTool.toolName,{getReferenceLineColor:d=>d.endsWith("axial")?"rgb(200, 0, 0)":d.endsWith("coronal")?"rgb(200, 200, 0)":"rgb(0, 200, 0)"}),a.addTool(o.StackScrollTool.toolName),a.addTool(f.zoom),a.setToolActive(o.CrosshairsTool.toolName,{bindings:[{mouseButton:p.Primary}]}),a.setToolActive(o.StackScrollTool.toolName,{bindings:[{mouseButton:p.Wheel}]}),a.setToolActive(f.zoom,{bindings:[{mouseButton:p.Secondary}]});for(const d of g)d.element.addEventListener(t.Enums.Events.VOLUME_NEW_IMAGE,_=>{const E=_.detail;this.host.readout_set(`MPR ${d.viewportId.split("-").pop()?.toUpperCase()??""} ${E.imageIndex??""}`)})}else a.addTool(o.TrackballRotateTool.toolName),a.addTool(f.zoom),a.setToolActive(o.TrackballRotateTool.toolName,{bindings:[{mouseButton:p.Primary}]}),a.setToolActive(f.zoom,{bindings:[{mouseButton:p.Secondary}]});this.renderingEngine.renderViewports(u),this.host.readout_set(`${this.imageIds.length} SLICES${this.refused.size>0?` · REFUSED ${this.refused.size}`:""}`),this.host.note(`image: ${e} up in ${Math.round(performance.now()-i)} ms`)}viewport_make(e){const t=document.createElement("div");return t.className=`image-viewport image-viewport-${e}`,this.field?.appendChild(t),t}field_clear(){if(this.renderingEngine!==null&&this.libraries!==null){for(const e of["single","mpr","3d"])this.libraries.tools.ToolGroupManager.destroyToolGroup(`${this.engineId_get()}-${e}`);this.renderingEngine.destroy(),this.renderingEngine=null}this.field?.replaceChildren()}}export{$ as CornerstoneEngine};
|