@fnndsc/argus 0.7.1 → 0.8.0
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-CMzJFOfL.js +4204 -0
- package/dist/assets/Texture-BDt8D144.js +204 -0
- package/dist/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/dist/assets/addVolumesToViewports-BJ9Z0Fli.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/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-qc8bYyDr.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-10pyAQdJ.js +1 -0
- package/dist/assets/index-B4T3qklv.js +4146 -0
- package/dist/assets/index-BAUvhEVf.js +2 -0
- package/dist/assets/index-BSAANhUs.js +9 -0
- package/dist/assets/index-CH659Lsh.js +1 -0
- package/dist/assets/index-CIsP81Nj.js +1 -0
- package/dist/assets/index-CLU1nvoG.css +1 -0
- package/dist/assets/index-DqTe_N1t.js +320 -0
- package/dist/assets/index-zZYmeu9b.js +2456 -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-Cm8JnIlj.js +2 -0
- package/dist/assets/openjpegwasm_decode-B3gWTHpv.wasm +0 -0
- package/dist/assets/openjphjs-B5O5ikHp.wasm +0 -0
- package/dist/assets/slabScene-Cj6qXA56.js +559 -0
- package/dist/assets/throttle-CjIII7Yf.js +1 -0
- package/dist/assets/zstd-u5eweWyS.js +15 -0
- package/dist/index.html +667 -0
- package/dist/sounds/arrive.wav +0 -0
- package/dist/sounds/press.wav +0 -0
- package/dist/sounds/refuse.wav +0 -0
- package/dist/sounds/retreat.wav +0 -0
- package/package.json +4 -3
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _={Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},$=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),ee=4017,re=799,ne=3406,ae=2276,ie=1567,fe=3784,R=5793,se=2896;function ce(g,s){for(var e=0,P=[],h,r,c=16;c>0&&!g[c-1];)c--;P.push({children:[],index:0});var t=P[0],n;for(h=0;h<c;h++){for(r=0;r<g[h];r++){for(t=P.pop(),t.children[t.index]=s[e];t.index>0;)t=P.pop();for(t.index++,P.push(t);P.length<=h;)P.push(n={children:[],index:0}),t.children[t.index]=n.children,t=n;e++}h+1<c&&(P.push(n={children:[],index:0}),t.children[t.index]=n.children,t=n)}return P[0].children}function j(g,s,e){return 64*((g.blocksPerLine+1)*s+e)}function he(g,s,e,P,h,r,c,t,n){e.precision,e.samplesPerLine,e.scanLines;var d=e.mcusPerLine,v=e.progressive;e.maxH,e.maxV;var x=s,a=0,l=0;function i(){if(l>0)return l--,a>>l&1;if(a=g[s++],a==255){var o=g[s++];if(o)throw"unexpected marker: "+(a<<8|o).toString(16)}return l=7,a>>>7}function f(o){for(var b=o,m;(m=i())!==null;){if(b=b[m],typeof b=="number")return b;if(typeof b!="object")throw"invalid huffman sequence"}return null}function G(o){for(var b=0;o>0;){var m=i();if(m===null)return;b=b<<1|m,o--}return b}function u(o){var b=G(o);return b>=1<<o-1?b:b+(-1<<o)+1}function V(o,b){var m=f(o.huffmanTableDC),O=m===0?0:u(m);o.blockData[b]=o.pred+=O;for(var A=1;A<64;){var k=f(o.huffmanTableAC),M=k&15,q=k>>4;if(M===0){if(q<15)break;A+=16;continue}A+=q;var Q=$[A];o.blockData[b+Q]=u(M),A++}}function D(o,b){var m=f(o.huffmanTableDC),O=m===0?0:u(m)<<n;o.blockData[b]=o.pred+=O}function L(o,b){o.blockData[b]|=i()<<n}var T=0;function S(o,b){if(T>0){T--;return}for(var m=r,O=c;m<=O;){var A=f(o.huffmanTableAC),k=A&15,M=A>>4;if(k===0){if(M<15){T=G(M)+(1<<M)-1;break}m+=16;continue}m+=M;var q=$[m];o.blockData[b+q]=u(k)*(1<<n),m++}}var y=0,X;function K(o,b){for(var m=r,O=c,A=0;m<=O;){var k=$[m];switch(y){case 0:var M=f(o.huffmanTableAC),q=M&15;if(A=M>>4,q===0)A<15?(T=G(A)+(1<<A),y=4):(A=16,y=1);else{if(q!==1)throw"invalid ACn encoding";X=u(q),y=A?2:3}continue;case 1:case 2:o.blockData[b+k]?o.blockData[b+k]+=i()<<n:(A--,A===0&&(y=y==2?3:0));break;case 3:o.blockData[b+k]?o.blockData[b+k]+=i()<<n:(o.blockData[b+k]=X<<n,y=0);break;case 4:o.blockData[b+k]&&(o.blockData[b+k]+=i()<<n);break}m++}y===4&&(T--,T===0&&(y=0))}function Z(o,b,m,O,A){var k=m/d|0,M=m%d,q=k*o.v+O,Q=M*o.h+A,ve=j(o,q,Q);b(o,ve)}function E(o,b,m){var O=m/o.blocksPerLine|0,A=m%o.blocksPerLine,k=j(o,O,A);b(o,k)}var B=P.length,U,Y,w,z,I,H;v?r===0?H=t===0?D:L:H=t===0?S:K:H=V;var F=0,N,J;B==1?J=P[0].blocksPerLine*P[0].blocksPerColumn:J=d*e.mcusPerColumn,h||(h=J);for(var C,p;F<J;){for(Y=0;Y<B;Y++)P[Y].pred=0;if(T=0,B==1)for(U=P[0],I=0;I<h;I++)E(U,H,F),F++;else for(I=0;I<h;I++){for(Y=0;Y<B;Y++)for(U=P[Y],C=U.h,p=U.v,w=0;w<p;w++)for(z=0;z<C;z++)Z(U,H,F,w,z);F++}if(l=0,N=g[s]<<8|g[s+1],N<=65280)throw"marker was not found";if(N>=65488&&N<=65495)s+=2;else break}return s-x}function be(g,s,e){var P=g.quantizationTable,h,r,c,t,n,d,v,x,a,l;for(l=0;l<64;l++)e[l]=g.blockData[s+l]*P[l];for(l=0;l<8;++l){var i=8*l;if(e[1+i]===0&&e[2+i]===0&&e[3+i]===0&&e[4+i]===0&&e[5+i]===0&&e[6+i]===0&&e[7+i]===0){a=R*e[0+i]+512>>10,e[0+i]=a,e[1+i]=a,e[2+i]=a,e[3+i]=a,e[4+i]=a,e[5+i]=a,e[6+i]=a,e[7+i]=a;continue}h=R*e[0+i]+128>>8,r=R*e[4+i]+128>>8,c=e[2+i],t=e[6+i],n=se*(e[1+i]-e[7+i])+128>>8,x=se*(e[1+i]+e[7+i])+128>>8,d=e[3+i]<<4,v=e[5+i]<<4,a=h-r+1>>1,h=h+r+1>>1,r=a,a=c*fe+t*ie+128>>8,c=c*ie-t*fe+128>>8,t=a,a=n-v+1>>1,n=n+v+1>>1,v=a,a=x+d+1>>1,d=x-d+1>>1,x=a,a=h-t+1>>1,h=h+t+1>>1,t=a,a=r-c+1>>1,r=r+c+1>>1,c=a,a=n*ae+x*ne+2048>>12,n=n*ne-x*ae+2048>>12,x=a,a=d*re+v*ee+2048>>12,d=d*ee-v*re+2048>>12,v=a,e[0+i]=h+x,e[7+i]=h-x,e[1+i]=r+v,e[6+i]=r-v,e[2+i]=c+d,e[5+i]=c-d,e[3+i]=t+n,e[4+i]=t-n}for(l=0;l<8;++l){var f=l;if(e[8+f]===0&&e[16+f]===0&&e[24+f]===0&&e[32+f]===0&&e[40+f]===0&&e[48+f]===0&&e[56+f]===0){a=R*e[l+0]+8192>>14,e[0+f]=a,e[8+f]=a,e[16+f]=a,e[24+f]=a,e[32+f]=a,e[40+f]=a,e[48+f]=a,e[56+f]=a;continue}h=R*e[0+f]+2048>>12,r=R*e[32+f]+2048>>12,c=e[16+f],t=e[48+f],n=se*(e[8+f]-e[56+f])+2048>>12,x=se*(e[8+f]+e[56+f])+2048>>12,d=e[24+f],v=e[40+f],a=h-r+1>>1,h=h+r+1>>1,r=a,a=c*fe+t*ie+2048>>12,c=c*ie-t*fe+2048>>12,t=a,a=n-v+1>>1,n=n+v+1>>1,v=a,a=x+d+1>>1,d=x-d+1>>1,x=a,a=h-t+1>>1,h=h+t+1>>1,t=a,a=r-c+1>>1,r=r+c+1>>1,c=a,a=n*ae+x*ne+2048>>12,n=n*ne-x*ae+2048>>12,x=a,a=d*re+v*ee+2048>>12,d=d*ee-v*re+2048>>12,v=a,e[0+f]=h+x,e[56+f]=h-x,e[8+f]=r+v,e[48+f]=r-v,e[16+f]=c+d,e[40+f]=c-d,e[24+f]=t+n,e[32+f]=t-n}for(l=0;l<64;++l){var G=s+l,u=e[l];u=u<=-2056/g.bitConversion?0:u>=2024/g.bitConversion?255/g.bitConversion:u+2056/g.bitConversion>>4,g.blockData[G]=u}}function de(g,s){for(var e=s.blocksPerLine,P=s.blocksPerColumn,h=new Int32Array(64),r=0;r<P;r++)for(var c=0;c<e;c++){var t=j(s,r,c);be(s,t,h)}return s.blockData}function W(g){return g<=0?0:g>=255?255:g|0}class xe{constructor(){}load(s){var e=(function(n){this.parse(n),this.onload&&this.onload()}).bind(this);if(s.indexOf("data:")>-1){for(var P=s.indexOf("base64,")+7,h=atob(s.substring(P)),r=new Uint8Array(h.length),c=h.length-1;c>=0;c--)r[c]=h.charCodeAt(c);e(h)}else{var t=new XMLHttpRequest;t.open("GET",s,!0),t.responseType="arraybuffer",t.onload=(function(){var n=new Uint8Array(t.response);e(n)}).bind(this),t.send(null)}}parse(s){function e(){var k=s[r]<<8|s[r+1];return r+=2,k}function P(){var k=e(),M=s.subarray(r,r+k-2);return r+=M.length,M}function h(k){for(var M=Math.ceil(k.samplesPerLine/8/k.maxH),q=Math.ceil(k.scanLines/8/k.maxV),Q=0;Q<k.components.length;Q++){C=k.components[Q];var ve=Math.ceil(Math.ceil(k.samplesPerLine/8)*C.h/k.maxH),te=Math.ceil(Math.ceil(k.scanLines/8)*C.v/k.maxV),oe=M*C.h,le=q*C.v,ue=64*le*(oe+1);C.blockData=new Int16Array(ue),C.blocksPerLine=ve,C.blocksPerColumn=te}k.mcusPerLine=M,k.mcusPerColumn=q}var r=0;s.length;var c=null,t=null,n,d,v=[],x=[],a=[],l=e();if(l!=65496)throw"SOI not found";for(l=e();l!=65497;){var i,f,G;switch(l){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var u=P();l===65504&&u[0]===74&&u[1]===70&&u[2]===73&&u[3]===70&&u[4]===0&&(c={version:{major:u[5],minor:u[6]},densityUnits:u[7],xDensity:u[8]<<8|u[9],yDensity:u[10]<<8|u[11],thumbWidth:u[12],thumbHeight:u[13],thumbData:u.subarray(14,14+3*u[12]*u[13])}),l===65518&&u[0]===65&&u[1]===100&&u[2]===111&&u[3]===98&&u[4]===101&&u[5]===0&&(t={version:u[6],flags0:u[7]<<8|u[8],flags1:u[9]<<8|u[10],transformCode:u[11]});break;case 65499:for(var V=e(),D=V+r-2;r<D;){var L=s[r++],T=new Int32Array(64);if(L>>4===0)for(f=0;f<64;f++){var S=$[f];T[S]=s[r++]}else if(L>>4===1)for(f=0;f<64;f++){var y=$[f];T[y]=e()}else throw"DQT: invalid table spec";v[L&15]=T}break;case 65472:case 65473:case 65474:if(n)throw"Only single frame JPEGs supported";e(),n={},n.extended=l===65473,n.progressive=l===65474,n.precision=s[r++],n.scanLines=e(),n.samplesPerLine=e(),n.components=[],n.componentIds={};var X=s[r++],K,Z=0,E=0;for(i=0;i<X;i++){K=s[r];var B=s[r+1]>>4,U=s[r+1]&15;Z<B&&(Z=B),E<U&&(E=U);var Y=s[r+2];G=n.components.push({h:B,v:U,quantizationTable:v[Y],quantizationTableId:Y,bitConversion:255/((1<<n.precision)-1)}),n.componentIds[K]=G-1,r+=3}n.maxH=Z,n.maxV=E,h(n);break;case 65476:var w=e();for(i=2;i<w;){var z=s[r++],I=new Uint8Array(16),H=0;for(f=0;f<16;f++,r++)H+=I[f]=s[r];var F=new Uint8Array(H);for(f=0;f<H;f++,r++)F[f]=s[r];i+=17+H,(z>>4===0?a:x)[z&15]=ce(I,F)}break;case 65501:e(),d=e();break;case 65498:e();var N=s[r++],J=[],C;for(i=0;i<N;i++){var p=n.componentIds[s[r++]];C=n.components[p];var o=s[r++];C.huffmanTableDC=a[o>>4],C.huffmanTableAC=x[o&15],J.push(C)}var b=s[r++],m=s[r++],O=s[r++],A=he(s,r,n,J,d,b,m,O>>4,O&15);r+=A;break;case 65535:s[r]!==255&&r--;break;default:if(s[r-3]==255&&s[r-2]>=192&&s[r-2]<=254){r-=3;break}throw"unknown JPEG marker "+l.toString(16)}l=e()}switch(this.width=n.samplesPerLine,this.height=n.scanLines,this.jfif=c,this.adobe=t,this.components=[],n.components.length){case 1:this.colorspace=_.Grayscale;break;case 3:this.adobe?this.colorspace=_.AdobeRGB:this.colorspace=_.RGB;break;case 4:this.colorspace=_.CYMK;break;default:this.colorspace=_.Unknown}for(var i=0;i<n.components.length;i++){var C=n.components[i];!C.quantizationTable&&C.quantizationTableId!==null&&(C.quantizationTable=v[C.quantizationTableId]),this.components.push({output:de(n,C),scaleX:C.h/n.maxH,scaleY:C.v/n.maxV,blocksPerLine:C.blocksPerLine,blocksPerColumn:C.blocksPerColumn,bitConversion:C.bitConversion})}}getData16(s,e){if(this.components.length!==1)throw"Unsupported color mode";var P=this.width/s,h=this.height/e,r,c,t,n,d,v,x=0,a=this.components.length,l=s*e*a,i=new Uint16Array(l),f=new Uint16Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(v=0;v<a;v++){r=this.components[v];for(var G=r.blocksPerLine,u=r.blocksPerColumn,V=G<<3,D,L,T=0,S=0;S<u;S++)for(var y=S<<3,X=0;X<G;X++){var K=j(r,S,X),x=0,Z=X<<3;for(D=0;D<8;D++){var T=(y+D)*V;for(L=0;L<8;L++)f[T+Z+L]=r.output[K+x++]}}c=r.scaleX*P,t=r.scaleY*h,x=v;var E,B,U;for(d=0;d<e;d++)for(n=0;n<s;n++)B=0|d*t,E=0|n*c,U=B*V+E,i[x]=f[U],x+=a}return i}getData(s,e){var P=this.width/s,h=this.height/e,r,c,t,n,d,v,x=0,a,l,i,f,G,u,V,D,L,T=this.components.length,S=s*e*T,y=new Uint8Array(S),X=new Uint8Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(v=0;v<T;v++){r=this.components[v];for(var K=r.blocksPerLine,Z=r.blocksPerColumn,E=K<<3,B,U,Y=0,w=0;w<Z;w++)for(var z=w<<3,I=0;I<K;I++){var H=j(r,w,I),x=0,F=I<<3;for(B=0;B<8;B++){var Y=(z+B)*E;for(U=0;U<8;U++)X[Y+F+U]=r.output[H+x++]*r.bitConversion}}c=r.scaleX*P,t=r.scaleY*h,x=v;var N,J,C;for(d=0;d<e;d++)for(n=0;n<s;n++)J=0|d*t,N=0|n*c,C=J*E+N,y[x]=X[C],x+=T}switch(T){case 1:case 2:break;case 3:if(L=!0,this.adobe&&this.adobe.transformCode?L=!0:typeof this.colorTransform<"u"&&(L=!!this.colorTransform),L)for(v=0;v<S;v+=T)a=y[v],l=y[v+1],i=y[v+2],u=W(a-179.456+1.402*i),V=W(a+135.459-.344*l-.714*i),D=W(a-226.816+1.772*l),y[v]=u,y[v+1]=V,y[v+2]=D;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";if(L=!1,this.adobe&&this.adobe.transformCode?L=!0:typeof this.colorTransform<"u"&&(L=!!this.colorTransform),L)for(v=0;v<S;v+=T)a=y[v],l=y[v+1],i=y[v+2],f=W(434.456-a-1.402*i),G=W(119.541-a+.344*l+.714*i),a=W(481.816-a-1.772*l),y[v]=f,y[v+1]=G,y[v+2]=a;break;default:throw"Unsupported color mode"}return y}}export{xe as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var T=Object.defineProperty,b=(n,t)=>{for(var e in t)T(n,e,{get:t[e],enumerable:!0})},k={hSamp:0,quantTableSel:0,vSamp:0},y=class{buffer;index;constructor(n,t,e){this.buffer=new Uint8Array(n,t,e),this.index=0}get16(){const n=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,n}get8(){const n=this.buffer[this.index];return this.index+=1,n}},D=class{dimX=0;dimY=0;numComp=0;precision=0;components=[];read(n){let t=0,e;const r=n.get16();t+=2,this.precision=n.get8(),t+=1,this.dimY=n.get16(),t+=2,this.dimX=n.get16(),t+=2,this.numComp=n.get8(),t+=1;for(let o=1;o<=this.numComp;o+=1){if(t>r)throw new Error("ERROR: frame format error");const s=n.get8();if(t+=1,t>=r)throw new Error("ERROR: frame format error [c>=Lf]");e=n.get8(),t+=1,this.components[s]||(this.components[s]={...k}),this.components[s].hSamp=e>>4,this.components[s].vSamp=e&15,this.components[s].quantTableSel=n.get8(),t+=1}if(t!==r)throw new Error("ERROR: frame format error [Lf!=count]");return 1}},L={};b(L,{crc32:()=>v,crcTable:()=>d,createArray:()=>m,makeCRCTable:()=>R});var m=(...n)=>{if(n.length>1){const t=n[0],e=n.slice(1),r=[];for(let o=0;o<t;o++)r[o]=m(...e);return r}else return Array(n[0]).fill(void 0)},R=function(){let n;const t=[];for(let e=0;e<256;e++){n=e;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;t[e]=n}return t},d=R(),v=function(n){const t=new Uint8Array(n);let e=-1;for(let r=0;r<t.length;r++)e=e>>>8^d[(e^t[r])&255];return(e^-1)>>>0},S=class E{static MSB=2147483648;l;th;v;tc;constructor(){this.l=m(4,2,16),this.th=[0,0,0,0],this.v=m(4,2,16,200),this.tc=[[0,0],[0,0],[0,0],[0,0]]}read(t,e){let r=0,o,s,h,i,a;const u=t.get16();for(r+=2;r<u;){if(o=t.get8(),r+=1,s=o&15,s>3)throw new Error("ERROR: Huffman table ID > 3");if(h=o>>4,h>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[s]=1,this.tc[s][h]=1,i=0;i<16;i+=1)this.l[s][h][i]=t.get8(),r+=1;for(i=0;i<16;i+=1)for(a=0;a<this.l[s][h][i];a+=1){if(r>u)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[s][h][i][a]=t.get8(),r+=1}}if(r!==u)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(i=0;i<4;i+=1)for(a=0;a<2;a+=1)this.tc[i][a]!==0&&this.buildHuffTable(e[i][a],this.l[i][a],this.v[i][a]);return 1}buildHuffTable(t,e,r){let o,s,h,i,a;for(s=0,h=0;h<8;h+=1)for(i=0;i<e[h];i+=1)for(a=0;a<256>>h+1;a+=1)t[s]=r[h][i]|h+1<<8,s+=1;for(h=1;s<256;h+=1,s+=1)t[s]=h|E.MSB;for(o=1,s=0,h=8;h<16;h+=1)for(i=0;i<e[h];i+=1){for(a=0;a<256>>h-7;a+=1)t[o*256+s]=r[h][i]|h+1<<8,s+=1;if(s>=256){if(s>256)throw new Error("ERROR: Huffman table error(1)!");s=0,o+=1}}}},x=class w{precision=[];tq=[0,0,0,0];quantTables=m(4,64);static enhanceQuantizationTable=function(t,e){for(let r=0;r<8;r+=1)t[e[0+r]]*=90,t[e[32+r]]*=90,t[e[16+r]]*=118,t[e[48+r]]*=49,t[e[40+r]]*=71,t[e[8+r]]*=126,t[e[56+r]]*=25,t[e[24+r]]*=106;for(let r=0;r<8;r+=1)t[e[0+8*r]]*=90,t[e[4+8*r]]*=90,t[e[2+8*r]]*=118,t[e[6+8*r]]*=49,t[e[5+8*r]]*=71,t[e[1+8*r]]*=126,t[e[7+8*r]]*=25,t[e[3+8*r]]*=106;for(let r=0;r<64;r+=1)t[r]>>=6};read(t,e){let r=0,o,s,h;const i=t.get16();for(r+=2;r<i;){if(o=t.get8(),r+=1,s=o&15,s>3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[s]=o>>4,this.precision[s]===0)this.precision[s]=8;else if(this.precision[s]===1)this.precision[s]=16;else throw new Error("ERROR: Quantization table precision error");if(this.tq[s]=1,this.precision[s]===8){for(h=0;h<64;h+=1){if(r>i)throw new Error("ERROR: Quantization table format error");this.quantTables[s][h]=t.get8(),r+=1}w.enhanceQuantizationTable(this.quantTables[s],e)}else{for(h=0;h<64;h+=1){if(r>i)throw new Error("ERROR: Quantization table format error");this.quantTables[s][h]=t.get16(),r+=2}w.enhanceQuantizationTable(this.quantTables[s],e)}}if(r!==i)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1}},I={acTabSel:0,dcTabSel:0,scanCompSel:0},C=class{ah=0;al=0;numComp=0;selection=0;spectralEnd=0;components=[];read(n){let t=0,e,r;const o=n.get16();for(t+=2,this.numComp=n.get8(),t+=1,e=0;e<this.numComp;e+=1){if(this.components[e]={...I},t>o)throw new Error("ERROR: scan header format error");this.components[e].scanCompSel=n.get8(),t+=1,r=n.get8(),t+=1,this.components[e].dcTabSel=r>>4,this.components[e].acTabSel=r&15}if(this.selection=n.get8(),t+=1,this.spectralEnd=n.get8(),t+=1,r=n.get8(),this.ah=r>>4,this.al=r&15,t+=1,t!==o)throw new Error("ERROR: scan header format error [count!=Ns]");return 1}},p=(function(){const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),B=class g{static IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54];static TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63];static MAX_HUFFMAN_SUBTREE=50;static MSB=2147483648;static RESTART_MARKER_BEGIN=65488;static RESTART_MARKER_END=65495;buffer=null;stream=null;frame=new D;huffTable=new S;quantTable=new x;scan=new C;DU=m(10,4,64);HuffTab=m(4,2,50*256);IDCT_Source=[];nBlock=[];acTab=m(10,1);dcTab=m(10,1);qTab=m(10,1);marker=0;markerIndex=0;numComp=0;restartInterval=0;selection=0;xDim=0;yDim=0;xLoc=0;yLoc=0;outputData=null;restarting=!1;mask=0;numBytes=0;precision=void 0;components=[];getter=null;setter=null;output=null;selector=null;constructor(t,e){this.buffer=t??null,this.numBytes=e??0}decompress(t,e,r){return this.decode(t,e,r).buffer}decode(t,e,r,o){let s=0;const h=[];let i,a;const u=[],f=[];let l;t&&(this.buffer=t),o!==void 0&&(this.numBytes=o),this.stream=new y(this.buffer,e,r),this.buffer=null,this.xLoc=0,this.yLoc=0;let c=this.stream.get16();if(c!==65496)throw new Error("Not a JPEG file");for(c=this.stream.get16();c>>4!==4092||c===65476;){switch(c){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,g.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(c>>8!==255)throw new Error("ERROR: format throw new IOException! (decode)")}c=this.stream.get16()}if(c<65472||c>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),c=this.stream.get16();do{for(;c!==65498;){switch(c){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,g.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(c>>8!==255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}c=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=Math.round(Math.ceil(this.precision/8))),this.numBytes===1?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,this.numBytes===1?this.numComp===3?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}for(i=0;i<this.numComp;i+=1)a=this.scan.components[i].scanCompSel,this.qTab[i]=this.quantTable.quantTables[this.components[a].quantTableSel],this.nBlock[i]=this.components[a].vSamp*this.components[a].hSamp,this.dcTab[i]=this.HuffTab[this.scan.components[i].dcTabSel][0],this.acTab[i]=this.HuffTab[this.scan.components[i].acTabSel][1];for(this.xDim=this.frame.dimX,this.yDim=this.frame.dimY,this.numBytes===1?this.outputData=new Uint8Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)):this.outputData=new Uint16Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)),s+=1;;){for(u[0]=0,f[0]=0,i=0;i<10;i+=1)h[i]=1<<this.precision-1;if(this.restartInterval===0){for(c=this.decodeUnit(h,u,f);c===0&&this.xLoc<this.xDim&&this.yLoc<this.yDim;)this.output(h),c=this.decodeUnit(h,u,f);break}for(l=0;l<this.restartInterval&&(this.restarting=l===0,c=this.decodeUnit(h,u,f),this.output(h),c===0);l+=1);if(c===0&&(this.markerIndex!==0?(c=65280|this.marker,this.markerIndex=0):c=this.stream.get16()),!(c>=g.RESTART_MARKER_BEGIN&&c<=g.RESTART_MARKER_END))break}c===65500&&s===1&&(this.readNumber(),c=this.stream.get16())}while(c!==65497&&this.xLoc<this.xDim&&this.yLoc<this.yDim&&s===0);return this.outputData}decodeUnit(t,e,r){return this.numComp===1?this.decodeSingle(t,e,r):this.numComp===3?this.decodeRGB(t,e,r):-1}select1(t){return this.getPreviousX(t)}select2(t){return this.getPreviousY(t)}select3(t){return this.getPreviousXY(t)}select4(t){return this.getPreviousX(t)+this.getPreviousY(t)-this.getPreviousXY(t)}select5(t){return this.getPreviousX(t)+(this.getPreviousY(t)-this.getPreviousXY(t)>>1)}select6(t){return this.getPreviousY(t)+(this.getPreviousX(t)-this.getPreviousXY(t)>>1)}select7(t){return(this.getPreviousX(t)+this.getPreviousY(t))/2}decodeRGB(t,e,r){if(this.selector===null)throw new Error("decode hasn't run yet");let o,s,h,i,a,u,f;for(t[0]=this.selector(0),t[1]=this.selector(1),t[2]=this.selector(2),i=0;i<this.numComp;i+=1)for(h=this.qTab[i],o=this.acTab[i],s=this.dcTab[i],a=0;a<this.nBlock[i];a+=1){for(u=0;u<this.IDCT_Source.length;u+=1)this.IDCT_Source[u]=0;let l=this.getHuffmanValue(s,e,r);if(l>=65280)return l;for(t[i]=this.IDCT_Source[0]=t[i]+this.getn(r,l,e,r),this.IDCT_Source[0]*=h[0],f=1;f<64;f+=1){if(l=this.getHuffmanValue(o,e,r),l>=65280)return l;if(f+=l>>4,(l&15)===0){if(l>>4===0)break}else this.IDCT_Source[g.IDCT_P[f]]=this.getn(r,l&15,e,r)*h[f]}}return 0}decodeSingle(t,e,r){if(this.selector===null)throw new Error("decode hasn't run yet");let o,s,h,i;for(this.restarting?(this.restarting=!1,t[0]=1<<this.frame.precision-1):t[0]=this.selector(),s=0;s<this.nBlock[0];s+=1){if(o=this.getHuffmanValue(this.dcTab[0],e,r),o>=65280)return o;if(h=this.getn(t,o,e,r),i=h>>8,i>=g.RESTART_MARKER_BEGIN&&i<=g.RESTART_MARKER_END)return i;t[0]+=h}return 0}getHuffmanValue(t,e,r){let o,s;if(!this.stream)throw new Error("stream not initialized");if(r[0]<8?(e[0]<<=8,s=this.stream.get8(),s===255&&(this.marker=this.stream.get8(),this.marker!==0&&(this.markerIndex=9)),e[0]|=s):r[0]-=8,o=t[e[0]>>r[0]],(o&g.MSB)!==0){if(this.markerIndex!==0)return this.markerIndex=0,65280|this.marker;e[0]&=65535>>16-r[0],e[0]<<=8,s=this.stream.get8(),s===255&&(this.marker=this.stream.get8(),this.marker!==0&&(this.markerIndex=9)),e[0]|=s,o=t[(o&255)*256+(e[0]>>r[0])],r[0]+=8}if(r[0]+=8-(o>>8),r[0]<0)throw new Error("index="+r[0]+" temp="+e[0]+" code="+o+" in HuffmanValue()");return r[0]<this.markerIndex?(this.markerIndex=0,65280|this.marker):(e[0]&=65535>>16-r[0],o&255)}getn(t,e,r,o){let s,h;if(this.stream===null)throw new Error("stream not initialized");if(e===0)return 0;if(e===16)return t[0]>=0?-32768:32768;if(o[0]-=e,o[0]>=0){if(o[0]<this.markerIndex&&!this.isLastPixel())return this.markerIndex=0,(65280|this.marker)<<8;s=r[0]>>o[0],r[0]&=65535>>16-o[0]}else{if(r[0]<<=8,h=this.stream.get8(),h===255&&(this.marker=this.stream.get8(),this.marker!==0&&(this.markerIndex=9)),r[0]|=h,o[0]+=8,o[0]<0){if(this.markerIndex!==0)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,h=this.stream.get8(),h===255&&(this.marker=this.stream.get8(),this.marker!==0&&(this.markerIndex=9)),r[0]|=h,o[0]+=8}if(o[0]<0)throw new Error("index="+o[0]+" in getn()");if(o[0]<this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;s=r[0]>>o[0],r[0]&=65535>>16-o[0]}return s<1<<e-1&&(s+=(-1<<e)+1),s}getPreviousX(t=0){if(this.getter===null)throw new Error("decode hasn't run yet");return this.xLoc>0?this.getter(this.yLoc*this.xDim+this.xLoc-1,t):this.yLoc>0?this.getPreviousY(t):1<<this.frame.precision-1}getPreviousXY(t=0){if(this.getter===null)throw new Error("decode hasn't run yet");return this.xLoc>0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,t):this.getPreviousY(t)}getPreviousY(t=0){if(this.getter===null)throw new Error("decode hasn't run yet");return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,t):this.getPreviousX(t)}isLastPixel(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1}outputSingle(t){if(this.setter===null)throw new Error("decode hasn't run yet");this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(this.yLoc*this.xDim+this.xLoc,this.mask&t[0]),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))}outputRGB(t){if(this.setter===null)throw new Error("decode hasn't run yet");const e=this.yLoc*this.xDim+this.xLoc;this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(e,t[0],0),this.setter(e,t[1],1),this.setter(e,t[2],2),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))}setValue8(t,e){if(!this.outputData)throw new Error("output data not ready");p?this.outputData[t]=e:this.outputData[t]=(e&255)<<8|e>>8&255}getValue8(t){if(this.outputData===null)throw new Error("output data not ready");if(p)return this.outputData[t];{const e=this.outputData[t];return(e&255)<<8|e>>8&255}}setValueRGB(t,e,r=0){this.outputData!==null&&(this.outputData[t*3+r]=e)}getValueRGB(t,e){if(this.outputData===null)throw new Error("output data not ready");return this.outputData[t*3+e]}readApp(){if(this.stream===null)return null;let t=0;const e=this.stream.get16();for(t+=2;t<e;)this.stream.get8(),t+=1;return e}readComment(){if(this.stream===null)return null;let t="",e=0;const r=this.stream.get16();for(e+=2;e<r;)t+=this.stream.get8(),e+=1;return t}readNumber(){if(this.stream===null)return null;if(this.stream.get16()!==4)throw new Error("ERROR: Define number format throw new IOException [Ld!=4]");return this.stream.get16()}};export{k as ComponentSpec,y as DataStream,B as Decoder,D as FrameHeader,S as HuffmanTable,x as QuantizationTable,I as ScanComponent,C as ScanHeader,L as Utils};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{_ as CI}from"./chunk-INHXZS53-D3tQiqtZ.js";var EI=(typeof document<"u"&&document.currentScript&&document.currentScript.src,function(BA={}){var Q=BA,R,d;Q.ready=new Promise((A,I)=>{R=A,d=I});var W=Object.assign({},Q),p=Q.printErr||console.error.bind(console);Object.assign(Q,W),W=null;var b;Q.wasmBinary&&(b=Q.wasmBinary),typeof WebAssembly!="object"&&O("no native wasm support detected");var T,gA=!1,j,D,L,q,S,h,QA,CA;function EA(){var A=T.buffer;Q.HEAP8=j=new Int8Array(A),Q.HEAP16=L=new Int16Array(A),Q.HEAPU8=D=new Uint8Array(A),Q.HEAPU16=q=new Uint16Array(A),Q.HEAP32=S=new Int32Array(A),Q.HEAPU32=h=new Uint32Array(A),Q.HEAPF32=QA=new Float32Array(A),Q.HEAPF64=CA=new Float64Array(A)}var iA=[],rA=[],tA=[];function kA(){var A=Q.preRun.shift();iA.unshift(A)}var U=0,Z=null;function O(A){throw Q.onAbort?.(A),A="Aborted("+A+")",p(A),gA=!0,A=new WebAssembly.RuntimeError(A+". Build with -sASSERTIONS for more info."),d(A),A}var eA=A=>A.startsWith("data:application/octet-stream;base64,"),WA=A=>A.startsWith("file://"),m;if(m="lz4_codec.wasm",!eA(m)){var oA=m;m=Q.locateFile?Q.locateFile(oA,""):""+oA}function SA(A){return Promise.resolve().then(()=>{if(A==m&&b)var I=new Uint8Array(b);else throw"both async and sync fetching of the wasm failed";return I})}function aA(A,I,B){return SA(A).then(g=>WebAssembly.instantiate(g,I)).then(g=>g).then(B,g=>{p(`failed to asynchronously prepare wasm: ${g}`),O(g)})}function mA(A,I){var B=m;return b||typeof WebAssembly.instantiateStreaming!="function"||eA(B)||WA(B)||typeof fetch!="function"?aA(B,A,I):fetch(B,{credentials:"same-origin"}).then(g=>WebAssembly.instantiateStreaming(g,A).then(I,function(C){return p(`wasm streaming compile failed: ${C}`),p("falling back to ArrayBuffer instantiation"),aA(B,A,I)}))}var V=A=>{for(;0<A.length;)A.shift()(Q)};function YA(A){this.D=A-24,this.K=function(I){h[this.D+4>>2]=I},this.J=function(I){h[this.D+8>>2]=I},this.F=function(I,B){this.G(),this.K(I),this.J(B)},this.G=function(){h[this.D+16>>2]=0}}var nA=0,sA,F=A=>{for(var I="";D[A];)I+=sA[D[A++]];return I},Y={},k={},X={},f,HA=A=>{throw new f(A)},x,vA=(A,I)=>{function B(t){if(t=I(t),t.length!==g.length)throw new x("Mismatched type converter count");for(var E=0;E<g.length;++E)N(g[E],t[E])}var g=[];g.forEach(function(t){X[t]=A});var C=Array(A.length),i=[],r=0;A.forEach((t,E)=>{k.hasOwnProperty(t)?C[E]=k[t]:(i.push(t),Y.hasOwnProperty(t)||(Y[t]=[]),Y[t].push(()=>{C[E]=k[t],++r,r===i.length&&B(C)}))}),i.length===0&&B(C)};function MA(A,I,B={}){var g=I.name;if(!A)throw new f(`type "${g}" must have a positive integer typeid pointer`);if(k.hasOwnProperty(A)){if(B.M)return;throw new f(`Cannot register type '${g}' twice`)}k[A]=I,delete X[A],Y.hasOwnProperty(A)&&(I=Y[A],delete Y[A],I.forEach(C=>C()))}function N(A,I,B={}){if(!("argPackAdvance"in I))throw new TypeError("registerType registeredInstance requires argPackAdvance");MA(A,I,B)}function DA(){this.B=[void 0],this.H=[]}var c=new DA,hA=A=>{A>=c.D&&--c.get(A).I===0&&c.G(A)},fA=A=>{switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return c.F({I:1,value:A})}};function wA(A){return this.fromWireType(S[A>>2])}var LA=(A,I)=>{switch(I){case 4:return function(B){return this.fromWireType(QA[B>>2])};case 8:return function(B){return this.fromWireType(CA[B>>3])};default:throw new TypeError(`invalid float width (${I}): ${A}`)}},z=(A,I)=>Object.defineProperty(I,"name",{value:A}),ZA=A=>{for(;A.length;){var I=A.pop();A.pop()(I)}};function cA(A){for(var I=1;I<A.length;++I)if(A[I]!==null&&A[I].C===void 0)return!0;return!1}function bA(A){var I=Function;if(!(I instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof I} which is not a function`);var B=z(I.name||"unknownFunctionName",function(){});return B.prototype=I.prototype,B=new B,A=I.apply(B,A),A instanceof Object?A:B}var TA=(A,I)=>{if(Q[A].A===void 0){var B=Q[A];Q[A]=function(){if(!Q[A].A.hasOwnProperty(arguments.length))throw new f(`Function '${I}' called with an invalid number of arguments (${arguments.length}) - expects one of (${Q[A].A})!`);return Q[A].A[arguments.length].apply(this,arguments)},Q[A].A=[],Q[A].A[B.L]=B}},qA=(A,I,B)=>{if(Q.hasOwnProperty(A)){if(B===void 0||Q[A].A!==void 0&&Q[A].A[B]!==void 0)throw new f(`Cannot register public name '${A}' twice`);if(TA(A,A),Q.hasOwnProperty(B))throw new f(`Cannot register multiple overloads of a function with the same number of arguments (${B})!`);Q[A].A[B]=I}else Q[A]=I,B!==void 0&&(Q[A].O=B)},XA=(A,I)=>{for(var B=[],g=0;g<A;g++)B.push(h[I+4*g>>2]);return B},$,PA=(A,I)=>{var B=[];return function(){if(B.length=0,Object.assign(B,arguments),A.includes("j")){var g=Q["dynCall_"+A];g=B&&B.length?g.apply(null,[I].concat(B)):g.call(null,I)}else g=$.get(I).apply(null,B);return g}},KA=(A,I)=>{A=F(A);var B=A.includes("j")?PA(A,I):$.get(I);if(typeof B!="function")throw new f(`unknown function pointer with signature ${A}: ${I}`);return B},lA,FA=A=>{A=dA(A);var I=F(A);return G(A),I},jA=(A,I)=>{function B(i){C[i]||k[i]||(X[i]?X[i].forEach(B):(g.push(i),C[i]=!0))}var g=[],C={};throw I.forEach(B),new lA(`${A}: `+g.map(FA).join([", "]))},OA=A=>{A=A.trim();const I=A.indexOf("(");return I!==-1?A.substr(0,I):A},VA=(A,I,B)=>{switch(I){case 1:return B?g=>j[g>>0]:g=>D[g>>0];case 2:return B?g=>L[g>>1]:g=>q[g>>1];case 4:return B?g=>S[g>>2]:g=>h[g>>2];default:throw new TypeError(`invalid integer width (${I}): ${A}`)}};function xA(A){return this.fromWireType(h[A>>2])}for(var yA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,uA=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,zA=(A,I)=>{for(var B=A>>1,g=B+I/2;!(B>=g)&&q[B];)++B;if(B<<=1,32<B-A&&uA)return uA.decode(D.subarray(A,B));for(B="",g=0;!(g>=I/2);++g){var C=L[A+2*g>>1];if(C==0)break;B+=String.fromCharCode(C)}return B},$A=(A,I,B)=>{if(B??=2147483647,2>B)return 0;B-=2;var g=I;B=B<2*A.length?B/2:A.length;for(var C=0;C<B;++C)L[I>>1]=A.charCodeAt(C),I+=2;return L[I>>1]=0,I-g},_A=A=>2*A.length,AI=(A,I)=>{for(var B=0,g="";!(B>=I/4);){var C=S[A+4*B>>2];if(C==0)break;++B,65536<=C?(C-=65536,g+=String.fromCharCode(55296|C>>10,56320|C&1023)):g+=String.fromCharCode(C)}return g},II=(A,I,B)=>{if(B??=2147483647,4>B)return 0;var g=I;B=g+B-4;for(var C=0;C<A.length;++C){var i=A.charCodeAt(C);if(55296<=i&&57343>=i){var r=A.charCodeAt(++C);i=65536+((i&1023)<<10)|r&1023}if(S[I>>2]=i,I+=4,I+4>B)break}return S[I>>2]=0,I-g},BI=A=>{for(var I=0,B=0;B<A.length;++B){var g=A.charCodeAt(B);55296<=g&&57343>=g&&++B,I+=4}return I},RA=Array(256),P=0;256>P;++P)RA[P]=String.fromCharCode(P);sA=RA,f=Q.BindingError=class extends Error{constructor(A){super(A),this.name="BindingError"}},x=Q.InternalError=class extends Error{constructor(A){super(A),this.name="InternalError"}},Object.assign(DA.prototype,{get(A){return this.B[A]},has(A){return this.B[A]!==void 0},F(A){var I=this.H.pop()||this.B.length;return this.B[I]=A,I},G(A){this.B[A]=void 0,this.H.push(A)}}),c.B.push({value:void 0},{value:null},{value:!0},{value:!1}),c.D=c.B.length,Q.count_emval_handles=()=>{for(var A=0,I=c.D;I<c.B.length;++I)c.B[I]!==void 0&&++A;return A},lA=Q.UnboundTypeError=((A,I)=>{var B=z(I,function(g){this.name=I,this.message=g,g=Error(g).stack,g!==void 0&&(this.stack=this.toString()+`
|
|
2
|
+
`+g.replace(/^Error(:[^\n]*)?\n/,""))});return B.prototype=Object.create(A.prototype),B.prototype.constructor=B,B.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},B})(Error,"UnboundTypeError");var gI={n:(A,I,B)=>{throw new YA(A).F(I,B),nA=A,nA},o:()=>{},l:(A,I,B,g)=>{I=F(I),N(A,{name:I,fromWireType:function(C){return!!C},toWireType:function(C,i){return i?B:g},argPackAdvance:8,readValueFromPointer:function(C){return this.fromWireType(D[C])},C:null})},k:(A,I)=>{I=F(I),N(A,{name:I,fromWireType:B=>{if(!B)throw new f("Cannot use deleted val. handle = "+B);var g=c.get(B).value;return hA(B),g},toWireType:(B,g)=>fA(g),argPackAdvance:8,readValueFromPointer:wA,C:null})},i:(A,I,B)=>{I=F(I),N(A,{name:I,fromWireType:g=>g,toWireType:(g,C)=>C,argPackAdvance:8,readValueFromPointer:LA(I,B),C:null})},d:(A,I,B,g,C,i,r)=>{var t=XA(I,B);A=F(A),A=OA(A),C=KA(g,C),qA(A,function(){jA(`Cannot call ${A} due to unbound types`,t)},I-1),vA(t,function(E){var o=A,a=A;E=[E[0],null].concat(E.slice(1));var n=C,e=E.length;if(2>e)throw new f("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=E[1]!==null&&!1,l=cA(E),y=E[0].name!=="void";n=[HA,n,i,ZA,E[0],E[1]];for(var w=0;w<e-2;++w)n.push(E[w+2]);if(!l)for(w=s?1:2;w<E.length;++w)E[w].C!==null&&n.push(E[w].C);l=cA(E),w=E.length;var u="",H="";for(e=0;e<w-2;++e)u+=(e!==0?", ":"")+"arg"+e,H+=(e!==0?", ":"")+"arg"+e+"Wired";u=`
|
|
3
|
+
return function (${u}) {
|
|
4
|
+
if (arguments.length !== ${w-2}) {
|
|
5
|
+
throwBindingError('function ${a} called with ' + arguments.length + ' arguments, expected ${w-2}');
|
|
6
|
+
}`,l&&(u+=`var destructors = [];
|
|
7
|
+
`);var GA=l?"destructors":"null",AA="throwBindingError invoker fn runDestructors retType classParam".split(" ");for(s&&(u+="var thisWired = classParam['toWireType']("+GA+`, this);
|
|
8
|
+
`),e=0;e<w-2;++e)u+="var arg"+e+"Wired = argType"+e+"['toWireType']("+GA+", arg"+e+"); // "+E[e+2].name+`
|
|
9
|
+
`,AA.push("argType"+e);if(s&&(H="thisWired"+(0<H.length?", ":"")+H),u+=(y||r?"var rv = ":"")+"invoker(fn"+(0<H.length?", ":"")+H+`);
|
|
10
|
+
`,l)u+=`runDestructors(destructors);
|
|
11
|
+
`;else for(e=s?1:2;e<E.length;++e)s=e===1?"thisWired":"arg"+(e-2)+"Wired",E[e].C!==null&&(u+=s+"_dtor("+s+"); // "+E[e].name+`
|
|
12
|
+
`,AA.push(s+"_dtor"));y&&(u+=`var ret = retType['fromWireType'](rv);
|
|
13
|
+
return ret;
|
|
14
|
+
`);let[pA,QI]=[AA,u+`}
|
|
15
|
+
`];if(pA.push(QI),E=bA(pA).apply(null,n),a=z(a,E),E=I-1,!Q.hasOwnProperty(o))throw new x("Replacing nonexistant public symbol");return Q[o].A!==void 0&&E!==void 0?Q[o].A[E]=a:(Q[o]=a,Q[o].L=E),[]})},b:(A,I,B,g,C)=>{if(I=F(I),C===-1&&(C=4294967295),C=t=>t,g===0){var i=32-8*B;C=t=>t<<i>>>i}var r=I.includes("unsigned")?function(t,E){return E>>>0}:function(t,E){return E};N(A,{name:I,fromWireType:C,toWireType:r,argPackAdvance:8,readValueFromPointer:VA(I,B,g!==0),C:null})},a:(A,I,B)=>{function g(i){return new C(j.buffer,h[i+4>>2],h[i>>2])}var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];B=F(B),N(A,{name:B,fromWireType:g,argPackAdvance:8,readValueFromPointer:g},{M:!0})},e:(A,I)=>{I=F(I);var B=I==="std::string";N(A,{name:I,fromWireType:function(g){var C=h[g>>2],i=g+4;if(B)for(var r=i,t=0;t<=C;++t){var E=i+t;if(t==C||D[E]==0){if(r){var o=r,a=D,n=o+(E-r);for(r=o;a[r]&&!(r>=n);)++r;if(16<r-o&&a.buffer&&yA)o=yA.decode(a.subarray(o,r));else{for(n="";o<r;){var e=a[o++];if(e&128){var s=a[o++]&63;if((e&224)==192)n+=String.fromCharCode((e&31)<<6|s);else{var l=a[o++]&63;e=(e&240)==224?(e&15)<<12|s<<6|l:(e&7)<<18|s<<12|l<<6|a[o++]&63,65536>e?n+=String.fromCharCode(e):(e-=65536,n+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else n+=String.fromCharCode(e)}o=n}}else o="";if(y===void 0)var y=o;else y+="\0",y+=o;r=E+1}}else{for(y=Array(C),t=0;t<C;++t)y[t]=String.fromCharCode(D[i+t]);y=y.join("")}return G(g),y},toWireType:function(g,C){C instanceof ArrayBuffer&&(C=new Uint8Array(C));var i,r=typeof C=="string";if(!(r||C instanceof Uint8Array||C instanceof Uint8ClampedArray||C instanceof Int8Array))throw new f("Cannot pass non-string to std::string");var t;if(B&&r)for(i=t=0;i<C.length;++i){var E=C.charCodeAt(i);127>=E?t++:2047>=E?t+=2:55296<=E&&57343>=E?(t+=4,++i):t+=3}else t=C.length;if(i=t,t=_(4+i+1),E=t+4,h[t>>2]=i,B&&r){if(r=E,E=i+1,i=D,0<E){E=r+E-1;for(var o=0;o<C.length;++o){var a=C.charCodeAt(o);if(55296<=a&&57343>=a){var n=C.charCodeAt(++o);a=65536+((a&1023)<<10)|n&1023}if(127>=a){if(r>=E)break;i[r++]=a}else{if(2047>=a){if(r+1>=E)break;i[r++]=192|a>>6}else{if(65535>=a){if(r+2>=E)break;i[r++]=224|a>>12}else{if(r+3>=E)break;i[r++]=240|a>>18,i[r++]=128|a>>12&63}i[r++]=128|a>>6&63}i[r++]=128|a&63}}i[r]=0}}else if(r)for(r=0;r<i;++r){if(o=C.charCodeAt(r),255<o)throw G(E),new f("String has UTF-16 code units that do not fit in 8 bits");D[E+r]=o}else for(r=0;r<i;++r)D[E+r]=C[r];return g!==null&&g.push(G,t),t},argPackAdvance:8,readValueFromPointer:xA,C(g){G(g)}})},c:(A,I,B)=>{if(B=F(B),I===2)var g=zA,C=$A,i=_A,r=()=>q,t=1;else I===4&&(g=AI,C=II,i=BI,r=()=>h,t=2);N(A,{name:B,fromWireType:E=>{for(var o=h[E>>2],a=r(),n,e=E+4,s=0;s<=o;++s){var l=E+4+s*I;(s==o||a[l>>t]==0)&&(e=g(e,l-e),n===void 0?n=e:(n+="\0",n+=e),e=l+I)}return G(E),n},toWireType:(E,o)=>{if(typeof o!="string")throw new f(`Cannot pass non-string to C++ string type ${B}`);var a=i(o),n=_(4+a+I);return h[n>>2]=a>>t,C(o,n+4,a+I),E!==null&&E.push(G,n),n},argPackAdvance:8,readValueFromPointer:wA,C(E){G(E)}})},m:(A,I)=>{I=F(I),N(A,{N:!0,name:I,argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},g:hA,j:A=>{4<A&&(c.get(A).I+=1)},f:(A,I)=>{var B=k[A];if(B===void 0)throw A="_emval_take_value has unknown type "+FA(A),new f(A);return A=B,A=A.readValueFromPointer(I),fA(A)},h:()=>{O("")},q:(A,I,B)=>D.copyWithin(A,I,I+B),p:A=>{var I=D.length;if(A>>>=0,2147483648<A)return!1;for(var B=1;4>=B;B*=2){var g=I*(1+.2/B);g=Math.min(g,A+100663296);var C=Math;g=Math.max(A,g);A:{C=(C.min.call(C,2147483648,g+(65536-g%65536)%65536)-T.buffer.byteLength+65535)/65536;try{T.grow(C),EA();var i=1;break A}catch{}i=void 0}if(i)return!0}return!1}},J=(function(){function A(B){return J=B.exports,T=J.r,EA(),$=J.w,rA.unshift(J.s),U--,Q.monitorRunDependencies?.(U),U==0&&Z&&(B=Z,Z=null,B()),J}var I={a:gI};if(U++,Q.monitorRunDependencies?.(U),Q.instantiateWasm)try{return Q.instantiateWasm(I,A)}catch(B){p(`Module.instantiateWasm callback failed with error: ${B}`),d(B)}return mA(I,function(B){A(B.instance)}).catch(d),{}})(),_=A=>(_=J.t)(A),G=A=>(G=J.u)(A),dA=A=>(dA=J.v)(A),K;Z=function A(){K||NA(),K||(Z=A)};function NA(){function A(){if(!K&&(K=!0,Q.calledRun=!0,!gA)){if(V(rA),R(Q),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;){var I=Q.postRun.shift();tA.unshift(I)}V(tA)}}if(!(0<U)){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)kA();V(iA),0<U||(Q.setStatus?(Q.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Q.setStatus("")},1),A()},1)):A())}}if(Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);0<Q.preInit.length;)Q.preInit.pop()();return NA(),BA.ready}),iI=EI,rI=CI("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ZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgAAAABkCQAAIAgAAGlpaQBkCQAAIAgAANwMAABpaWlpAAAAAIgMAAB2aQAAAAAAAAEAAAACAAAAAQAAAAAAAAAEAAAABAAAAAQAQcwPC5UN//////z///8BAAAAAgAAAAMAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAA6A0AAOAHAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAA6A0AACgIAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAA6A0AAHAIAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAOgNAAC4CAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAADoDQAABAkAAE4xMGVtc2NyaXB0ZW4zdmFsRQAA6A0AAFAJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAOgNAABsCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAADoDQAAlAkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAA6A0AALwJAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAAOgNAADkCQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAADoDQAADAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAA6A0AADQKAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAAOgNAABcCgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAADoDQAAhAoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAA6A0AAKwKAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAAOgNAADUCgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeUVFAADoDQAA/AoAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAA6A0AACQLAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAOgNAABMCwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAKA4AAHQLAAAYDgAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAKA4AAKQLAACYCwAATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAAAAKA4AANQLAACYCwAATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UAKA4AAAQMAAD4CwAAAAAAAHgMAAALAAAADAAAAA0AAAAOAAAADwAAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQAoDgAAUAwAAJgLAAB2AAAAPAwAAIQMAABiAAAAPAwAAJAMAABjAAAAPAwAAJwMAABoAAAAPAwAAKgMAABhAAAAPAwAALQMAABzAAAAPAwAAMAMAAB0AAAAPAwAAMwMAABpAAAAPAwAANgMAABqAAAAPAwAAOQMAABsAAAAPAwAAPAMAABtAAAAPAwAAPwMAAB4AAAAPAwAAAgNAAB5AAAAPAwAABQNAABmAAAAPAwAACANAABkAAAAPAwAACwNAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAKA4AADgNAADICwAAU3Q5ZXhjZXB0aW9uAAAAAAAAAACgDQAACAAAABAAAAARAAAAU3QxMWxvZ2ljX2Vycm9yACgOAACQDQAASA4AAAAAAADUDQAACAAAABIAAAARAAAAU3QxMmxlbmd0aF9lcnJvcgAAAAAoDgAAwA0AAKANAAAAAAAAyAsAAAsAAAATAAAADQAAAA4AAAAUAAAAFQAAABYAAAAXAAAAU3Q5dHlwZV9pbmZvAAAAAOgNAAAIDgAAAAAAAGANAAALAAAAGAAAAA0AAAAOAAAAFAAAABkAAAAaAAAAGwAAAOgNAABsDQAAAAAAAEgOAAAcAAAAHQAAAB4AQeQcCwNwEwEAQYAdCwEqAEHIHQsCSBMAQewdCwEK"),IA=1,v=2113929216,M,JA=()=>iI({noInitialRun:!0,wasmBinary:rI}),tI=class UA{static codecId="lz4";static DEFAULT_ACCELERATION=IA;static max_buffer_size=v;max_buffer_size=v;acceleration;constructor(Q=IA){if(!Number.isInteger(Q))throw Error(`Invalid acceleration "${Q}". Must be a positive integer.`);this.acceleration=Q<=0?IA:Q}static fromConfig({acceleration:Q}){return new UA(Q)}async encode(Q){if(M||(M=JA()),Q.length>v)throw Error(`Codec does not support buffers of > ${v} bytes.`);const R=await M,d=R.compress(Q,this.acceleration),W=new Uint8Array(d);return R.free_result(),W}async decode(Q,R){if(M||(M=JA()),Q.length>v)throw Error(`Codec does not support buffers of > ${v} bytes.`);const d=await M,W=d.decompress(Q),p=new Uint8Array(W);return d.free_result(),R!==void 0?(R.set(p),R):p}},oI=tI;export{oI as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-zZYmeu9b.js","./_commonjsHelpers-CE1G-McA.js","./index-B4T3qklv.js","./index-CLU1nvoG.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as h,I as u}from"./index-B4T3qklv.js";const c={gray:"gray",hot:"hot",jet:"jet",cool:"cool"},d={wl:"contrast",pan:"pan",length:"measurement",angle:"angle"};class v{name="niivue";host;path;nv=null;module=null;layout="mpr";tool="wl";colormap="gray";slice=0;slices=0;refused=0;disposed=!1;constructor(s,t){this.host=s,this.path=t}async open(s){const t=document.createElement("canvas");t.className="image-canvas",s.appendChild(t),this.host.readout_set("LOADING"),this.host.progress_set({label:"READING VOLUME",done:0,total:0});const e=performance.now();if(this.module=await h(()=>import("./index-zZYmeu9b.js"),__vite__mapDeps([0,1,2,3]),import.meta.url),this.disposed)return;const i=new this.module.Niivue({isResizeCanvas:!0,logLevel:"error",dragAndDropEnabled:!1,crosshairWidth:.4,crosshairWidthUnit:"percent"});i.onLocationChange=o=>{const r=o,l=r.vox?.[2];l!==void 0&&(this.slice=l+1),this.host.readout_set(`${this.slices>0?`SLICE ${this.slice} OF ${this.slices} · `:""}${r.string??""}`)},await i.attachToCanvas(t);const n=this.path.split("/").pop()??"volume.nii.gz";try{await i.loadVolumes([{url:`${location.origin}${this.host.source.url_of(this.path)}`,name:n}])}catch(o){this.refused=1,this.host.progress_set(null),this.host.readout_set("REFUSED 1 OF 1"),this.host.note(`image: ${this.path}: ${o instanceof Error?o.message:String(o)}`);return}if(this.host.progress_set(null),this.disposed)return;this.nv=i;const a=i.volumes[0]?.dims;this.slices=a?.[3]??0,i.setSliceType(i.sliceTypeMultiplanar),this.layout="mpr",this.host.readout_set(`${this.slices} SLICES`),this.host.note(`image: ${n} drawn in ${Math.round(performance.now()-e)} ms`),this.host.regard(this.path)}async layout_set(s){return s==="slab"||this.nv===null?!1:(this.nv.setSliceType(s==="single"?this.nv.sliceTypeAxial:s==="mpr"?this.nv.sliceTypeMultiplanar:this.nv.sliceTypeRender),this.layout=s,this.host.readout_set(`${this.slices} SLICES`),!0)}slice_set(s){if(this.nv===null||this.slices===0)return!1;const t=Math.max(1,Math.min(s,this.slices)),e=this.slice>0?this.slice:Math.ceil(this.slices/2);return this.nv.moveCrosshairInVox(0,0,t-e),this.slice=t,!0}wl_set(s,t){const e=this.nv?.volumes[0];return this.nv===null||e===void 0?!1:(e.cal_min=s,e.cal_max=t,this.nv.updateGLVolume(),!0)}colormap_set(s){const t=this.nv?.volumes[0];return this.nv===null||t?.id===void 0?!1:(this.colormap=s,this.nv.setColormap(t.id,c[s]),!0)}toolsOffered_get(){return u}ghost_set(s){return!1}tool_set(s){const t=d[s];return this.nv===null||t===void 0?!1:(this.nv.setDragMode(t),this.tool=s,!0)}annotations_export(){return Promise.resolve(null)}annotations_import(){return Promise.resolve(0)}async slices_fill(){return this.nv!==null}state_get(){return{engine:"niivue",layout:this.layout,slice:this.slice,slices:this.slices,tool:this.tool,primaryTool:this.tool,refused:this.refused,annotations:0,filled:this.nv!==null,colormap:this.colormap}}dispose(){this.disposed=!0,this.nv=null}}export{v as NiivueEngine};
|
|
Binary file
|
|
Binary file
|