@hscmap/healpix
Version:
## Introduction
1 lines • 7.09 kB
JavaScript
var healpix;(()=>{"use strict";var r={};(()=>{var n=r;function t(r,n){var t=C(r,n);return function(r,n,t,i){var e=Math.floor(n/4),a=(e+2)*r-(t+i)-1;if(a<r)return 2*a*(a-1)+a*(n%4)+r-i-1;if(a<3*r)return 2*r*(r-1)+4*(a-r)*r+(((n%4*2-e%2+1)*r+(t-i)+8*r)%(8*r)>>1);var u=4*r-a;return 12*r*r-2*u*(u-1)-(4*u-(4*u-u*(3-n%4)-i)+1)}(r,t.f,t.x,t.y)}function i(r,n){if(1==r)return n;var t=e(r,n);return O(r,t.f,t.x,t.y)}function e(r,n){var t=2*r*(r-1);if(n<t){var i=n-2*(h=Math.floor((Math.sqrt(1+2*n)+1)/2))*(h-1);return{f:Math.floor(i/h),x:r-h+(v=i%h),y:r-1-v}}if(n<t+8*r*r){var e=4*r,a=(i=(v=n-t)%e*2+((h=r-Math.floor(v/e))%2==0?1:0))-4*r,u=h+5*r-1,o=(u+a)/2,f=(u-a)/2,c=Math.floor(o/r),s=Math.floor(f/r);return{f:4*(5-(c+s))+(c-s+4>>1)%4,x:o%r,y:f%r}}var h,v,x=12*r*r-n-1;return i=x-2*(h=Math.floor((Math.sqrt(1+2*x)+1)/2))*(h-1),{f:11-Math.floor(i/h),x:h-(v=i%h)-1,y:v}}function a(r,n){var t=C(r,n),i=D(r,t.f,t.x,t.y),e=k(i.t,i.u);return E(e.z,e.a)}function u(r,n){var t=C(r,n),i=D(r,t.f,t.x,t.y),e=k(i.t,i.u),a=e.z,u=e.a;return{theta:Math.acos(a),phi:u}}function o(r,n,t,i){if(t>b)throw new Error("query_disc: radius must < PI/2");var e=f(r),u=P/r,o=j(n[0],n[1],n[2]),s=o.z,v=o.a,M=Math.sqrt(1-s*s),_=Math.cos(t),p=Math.sin(t),d=s*_-M*p,g=w(s*_+M*p,0).u,y=w(d,0).u,l=M*_-s*p<0,q=M*_+s*p<0,z=Math.floor((b-g)/u),I=Math.floor((b-y)/u+1);if(l){++z;for(var m=1;m<=z;++m)x(r,m,i);++z}if(0==z&&(x(r,1,i),z=2),q){for(m=--I;m<=4*r-1;++m)x(r,m,i);--I}I==4*r&&(x(r,4*r-1,i),I=4*r-2);var k=Math.acos(s);for(m=z;m<=I;++m)h(r,m,v,k,t+e,(function(u){c(a(r,u),n)<=t+e&&i(u)}))}function f(r){var n=P/r;return c(s(n,r*n),s(n,(r+1)*n))}function c(r,n){return 2*Math.asin(Math.sqrt(function(r,n){var t=r[0]-n[0],i=r[1]-n[1],e=r[2]-n[2];return t*t+i*i+e*e}(r,n))/2)}function s(r,n){var t=k(r,n);return E(t.z,t.a)}function h(r,n,t,i,e,a){if(i<e||i+e>z)return x(r,n,a);var u=P*(2-n/r),o=k(P,u).z,f=Math.sin(i),c=Math.cos(i),s=Math.sin(e),h=Math.cos(e),p=Math.atan2(Math.sqrt(-G(o-c*h)/(G(f)*s*s)+1)*s,(-o*c+h)/f);if(p>=z)return x(r,n,a);for(var d=v(r,n,w(o,l(t-p,q)).t),g=v(r,n,w(o,l(t+p,q)).t),b=y(r,d,u),I=_(r,y(r,g,u)),m=b;!M(m,I);m=_(r,m))a(O(r,m.f,m.x,m.y))}function v(r,n,t){var i=P/r;return(t=1+((t/=i)+n%2>>1<<1)-n%2)*i}function x(r,n,t){var i=y(r,P*(1+(1-n%2)/r),P*(2-n/r)),e=i;do{t(O(r,e.f,e.x,e.y)),e=_(r,e)}while(!M(e,i))}function M(r,n){return r.x==n.x&&r.y==n.y&&r.f==n.f}function _(r,n){var t=n.f,i=n.x,e=n.y;if(++i==r)switch(Math.floor(t/4)){case 0:t=(t+1)%4,i=e,e=r;break;case 1:t-=4,i=0;break;case 2:t=4+(t+1)%4,i=0}if(-1==--e)switch(Math.floor(t/4)){case 0:t=4+(t+1)%4,e=r-1;break;case 1:t+=4,e=r-1;break;case 2:t=8+(t+1)%4,e=i-1,i=0}return{f:t,x:i,y:e}}function p(r,n){for(var t=C(r,n),i=D(r,t.f,t.x,t.y),e=i.t,a=i.u,u=P/r,o=[],f=0,c=[[0,u],[-u,0],[0,-u],[u,0]];f<c.length;f++){var s=c[f],h=k(e+s[0],a+s[1]),v=h.z,x=h.a;o.push(E(v,x))}return o}function d(r,n,t,i){var e=C(r,n),a=D(r,e.f,e.x,e.y),u=a.t,o=a.u,f=P/r,c=k(u+f*(t-i),o+f*(t+i-1));return E(c.z,c.a)}function g(r,n,t){var i=w(n,t),e=y(r,i.t,i.u);return O(r,e.f,e.x,e.y)}function y(r,n,t){var i=function(r,n){n/=P,r=l(r/=P,8);var t=H(((n+=5)+(r+=-4))/2,0,5),i=Math.floor(t),e=H((n-r)/2,3-i,6-i),a=Math.floor(e),u=5-(i+a);return u<0?{f:0,p:1,q:1}:{f:4*u+(i-a+4>>1)%4,p:t%1,q:e%1}}(n,t),e=i.f,a=i.p,u=i.q;return{f:e,x:H(Math.floor(r*a),0,r-1),y:H(Math.floor(r*u),0,r-1)}}function l(r,n){return r<0?n- -r%n:r%n}Object.defineProperty(n,"__esModule",{value:!0}),n.uniq2orderpix=n.orderpix2uniq=n.fxy2tu=n.bit_decombine=n.bit_combine=n.fxy2nest=n.vec2ang=n.ang2vec=n.tu2za=n.za2tu=n.tu2fxy=n.pixcoord2vec_ring=n.pixcoord2vec_nest=n.nside2resol=n.nside2pixarea=n.corners_ring=n.corners_nest=n.max_pixrad=n.query_disc_inclusive_ring=n.query_disc_inclusive_nest=n.pix2ang_ring=n.pix2vec_ring=n.pix2ang_nest=n.pix2vec_nest=n.ring2fxy=n.ring2nest=n.nest2ring=n.ang2pix_ring=n.ang2pix_nest=n.vec2pix_ring=n.vec2pix_nest=n.nside2npix=n.nside2order=n.order2nside=void 0,n.order2nside=function(r){return 1<<r},n.nside2order=function(r){return function(r){for(var n=-1;r>0;)r>>=1,++n;return n}(r)},n.nside2npix=function(r){return 12*r*r},n.vec2pix_nest=function(r,n){var t=j(n[0],n[1],n[2]);return g(r,t.z,t.a)},n.vec2pix_ring=function(r,n){var i=j(n[0],n[1],n[2]);return t(r,g(r,i.z,i.a))},n.ang2pix_nest=function(r,n,t){return g(r,Math.cos(n),t)},n.ang2pix_ring=function(r,n,i){return t(r,g(r,Math.cos(n),i))},n.nest2ring=t,n.ring2nest=i,n.ring2fxy=e,n.pix2vec_nest=a,n.pix2ang_nest=u,n.pix2vec_ring=function(r,n){return a(r,i(r,n))},n.pix2ang_ring=function(r,n){return u(r,i(r,n))},n.query_disc_inclusive_nest=o,n.query_disc_inclusive_ring=function(r,n,i,e){return o(r,n,i,(function(n){e(t(r,n))}))},n.max_pixrad=f,n.corners_nest=p,n.corners_ring=function(r,n){return p(r,i(r,n))},n.nside2pixarea=function(r){return z/(3*r*r)},n.nside2resol=function(r){return Math.sqrt(z/3)/r},n.pixcoord2vec_nest=d,n.pixcoord2vec_ring=function(r,n,t,e){return d(r,i(r,n),t,e)},n.tu2fxy=y;var q=2*Math.PI,z=Math.PI,b=Math.PI/2,P=Math.PI/4,I=Math.PI/8;function m(r){return r<0?-m(-r):2-Math.sqrt(3*(1-r))}function w(r,n){if(Math.abs(r)<=2/3)return{t:n,u:3*I*r};var t=n%b,i=m(r);return{t:n-(Math.abs(i)-1)*(t-P),u:P*i}}function k(r,n){var t=Math.abs(n);if(t>=b)return{z:F(n),a:0};if(t<=Math.PI/4)return{z:8/(3*z)*n,a:e=r};var i=r%(Math.PI/2),e=r-(t-P)/(t-b)*(i-P);return{z:F(n)*(1-1/3*G(2-4*t/z)),a:e}}function j(r,n,t){var i=r*r+n*n;if(0==i)return{z:t<0?-1:1,a:0};var e=(Math.atan2(n,r)+q)%q;return{z:t/=Math.sqrt(t*t+i),a:e}}function E(r,n){var t=Math.sqrt(1-r*r);return[t*Math.cos(n),t*Math.sin(n),r]}function O(r,n,t,i){return n*r*r+A(t,i)}function A(r,n){return J(r<65536),J(n<32768),1&r|(2&r|1&n)<<1|(4&r|2&n)<<2|(8&r|4&n)<<3|(16&r|8&n)<<4|(32&r|16&n)<<5|(64&r|32&n)<<6|(128&r|64&n)<<7|(256&r|128&n)<<8|(512&r|256&n)<<9|(1024&r|512&n)<<10|(2048&r|1024&n)<<11|(4096&r|2048&n)<<12|(8192&r|4096&n)<<13|(16384&r|8192&n)<<14|(32768&r|16384&n)<<15|n&32768<<16}function B(r){return J(r<=2147483647),{x:(1&r)>>0|(4&r)>>1|(16&r)>>2|(64&r)>>3|(256&r)>>4|(1024&r)>>5|(4096&r)>>6|(16384&r)>>7|(65536&r)>>8|(262144&r)>>9|(1048576&r)>>10|(4194304&r)>>11|(16777216&r)>>12|(67108864&r)>>13|(268435456&r)>>14|(1073741824&r)>>15,y:(2&r)>>1|(8&r)>>2|(32&r)>>3|(128&r)>>4|(512&r)>>5|(2048&r)>>6|(8192&r)>>7|(32768&r)>>8|(131072&r)>>9|(524288&r)>>10|(2097152&r)>>11|(8388608&r)>>12|(33554432&r)>>13|(134217728&r)>>14|(536870912&r)>>15}}function C(r,n){var t=r*r,i=Math.floor(n/t),e=B(n%t);return{f:i,x:e.x,y:e.y}}function D(r,n,t,i){var e=Math.floor(n/4);return{t:((n%4*2-e%2+1)*r+(t-i)+8*r)/r*P,u:b-((e+2)*r-(t+i)-1)/r*P}}n.za2tu=w,n.tu2za=k,n.ang2vec=function(r,n){return E(Math.cos(r),n)},n.vec2ang=function(r){var n=j(r[0],r[1],r[2]),t=n.z,i=n.a;return{theta:Math.acos(t),phi:i}},n.fxy2nest=O,n.bit_combine=A,n.bit_decombine=B,n.fxy2tu=D,n.orderpix2uniq=function(r,n){return 4*((1<<2*r)-1)+n},n.uniq2orderpix=function(r){J(r<=2147483647);for(var n=0,t=1+(r>>2);t>=4;)t>>=2,++n;return{order:n,ipix:r-((1<<2*n)-1<<2)}};var F=Math.sign||function(r){return r>0?1:r<0?-1:0};function G(r){return r*r}function H(r,n,t){return r<n?n:r>t?t:r}function J(r){console.assert(r)}})(),healpix=r})();