diff --git a/package.json b/package.json
index 6ed3c57..fd6badf 100644
--- a/package.json
+++ b/package.json
@@ -7,13 +7,13 @@
"@fortawesome/fontawesome-svg-core": "^7.2.0",
"@fortawesome/free-solid-svg-icons": "^7.2.0",
"@fortawesome/vue-fontawesome": "^3.1.3",
- "@google/model-viewer": "^4.2.0",
"@mdi/font": "^7.4.47",
- "@wwtelescope/engine": "^7.31.0",
- "@wwtelescope/engine-pinia": "^0.11.0",
+ "@vueuse/core": "^14.3.0",
+ "@wwtelescope/engine": "^7.37.1",
+ "@wwtelescope/engine-pinia": "^0.14.0",
+ "double-range-slider-web": "^0.1.3",
"focus-trap": "^7.0.1",
"focus-trap-vue": "^4.1.0",
- "three": "^0.182.0",
"vue": "^3.5.31",
"vuetify": "^3.4.11"
},
@@ -21,7 +21,6 @@
"@eslint/js": "latest",
"@tsconfig/node22": "^22.0.5",
"@types/node": "^25.5.0",
- "@types/three": "^0",
"@vitejs/plugin-legacy": "^7.0.1",
"@vitejs/plugin-vue": "^6.0.5",
"@vue/tsconfig": "^0.9.1",
@@ -32,7 +31,6 @@
"less": "^4.6.4",
"less-loader": "^12.3.2",
"npm-run-all2": "^8.0.4",
- "pinia": "^3.0.4",
"rimraf": "^6.1.3",
"terser": "^5.46.1",
"typescript": "^5.9.3",
@@ -58,7 +56,7 @@
"name": "@cosmicds/bubbling-galaxies",
"packageManager": "yarn@4.12.0",
"resolutions": {
- "@wwtelescope/engine-pinia": "^0.11.0",
- "pinia": "^3.0.4"
+ "@wwtelescope/engine-pinia": "^0.14.0",
+ "pinia": "^2.3.1"
}
}
diff --git a/public/HIPS_TEMPLATE.wtml b/public/HIPS_TEMPLATE.wtml
new file mode 100644
index 0000000..5cffd42
--- /dev/null
+++ b/public/HIPS_TEMPLATE.wtml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ Pull from HiPS properties file
+ hips_service_url
+ obs_description
+ [[URL]]/preview.jpg
+
+
+
+
+
diff --git a/public/decaps_dr1.wtml b/public/decaps_dr1.wtml
new file mode 100644
index 0000000..aeb3b84
--- /dev/null
+++ b/public/decaps_dr1.wtml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ DECaM Plane Survey / NOAO
+ http://decaps.skymaps.info/
+ HiPS List ID: CDS/P/DECaPS/DR1/color
+ https://alasky.cds.unistra.fr/DECaPS/DR1/color/preview.jpg
+
+
+
+
+
+
diff --git a/public/decaps_dr2.wtml b/public/decaps_dr2.wtml
new file mode 100644
index 0000000..6c5611e
--- /dev/null
+++ b/public/decaps_dr2.wtml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ DECaM Plane Survey / NOIRLab
+ http://decaps.skymaps.info/
+ DECaPS2 is a five-band optical and near-infrared survey of the southern Galactic plane with the Dark Energy Camera (DECam) on the 4.0m Blanco telescope at the Cerro Tololo Inter-American Observatory in Chile. The survey is designed to reach past the main-sequence turn-off at the distance of the Galactic center through a reddening E(B-V) of 1.5 mag, with a typical single-exposure depth of 23.7, 22.7, 22.2, 21.7, and 20.9 mag in the grizY bands, and with average seeing around 1''. The footprint covers | b | < 10 deg , 6 deg > l > - 124 deg (essentially the low latitude Galactic plane south of delta < - 24 deg , a total of about 2700 square degrees (6.5% of the sky). DECaPS2 simultaneously solves for the positions and fluxes of all the sources in each image, delivering positions and fluxes of 3.32 billion stars with up to 5 mmag repeatability. Most of these objects are highly reddened and deep in the Galactic disk, probing the structure and properties of the Milky Way and its interstellar medium.
+ https://alasky.cds.unistra.fr/DECaPS/DR2/CDS_P_DECaPS_DR2_color/preview.jpg
+
+
+
+
diff --git a/public/gal_plane_toast/0/0/0_0.fits b/public/gal_plane_toast/0/0/0_0.fits
deleted file mode 100644
index c54a1d4..0000000
Binary files a/public/gal_plane_toast/0/0/0_0.fits and /dev/null differ
diff --git a/public/gal_plane_toast/1/1/1_0.fits b/public/gal_plane_toast/1/1/1_0.fits
deleted file mode 100644
index 2b647f8..0000000
Binary files a/public/gal_plane_toast/1/1/1_0.fits and /dev/null differ
diff --git a/public/gal_plane_toast/1/1/1_1.fits b/public/gal_plane_toast/1/1/1_1.fits
deleted file mode 100644
index 8b77a41..0000000
Binary files a/public/gal_plane_toast/1/1/1_1.fits and /dev/null differ
diff --git a/public/gal_plane_toast/10/905/905_102.fits b/public/gal_plane_toast/10/905/905_102.fits
deleted file mode 100644
index 89a22a8..0000000
Binary files a/public/gal_plane_toast/10/905/905_102.fits and /dev/null differ
diff --git a/public/gal_plane_toast/10/906/906_102.fits b/public/gal_plane_toast/10/906/906_102.fits
deleted file mode 100644
index 9179f8d..0000000
Binary files a/public/gal_plane_toast/10/906/906_102.fits and /dev/null differ
diff --git a/public/gal_plane_toast/10/976/976_610.fits b/public/gal_plane_toast/10/976/976_610.fits
deleted file mode 100644
index ce62fb6..0000000
Binary files a/public/gal_plane_toast/10/976/976_610.fits and /dev/null differ
diff --git a/public/gal_plane_toast/11/1811/1811_205.fits b/public/gal_plane_toast/11/1811/1811_205.fits
deleted file mode 100644
index f40e74b..0000000
Binary files a/public/gal_plane_toast/11/1811/1811_205.fits and /dev/null differ
diff --git a/public/gal_plane_toast/11/1812/1812_205.fits b/public/gal_plane_toast/11/1812/1812_205.fits
deleted file mode 100644
index adca12e..0000000
Binary files a/public/gal_plane_toast/11/1812/1812_205.fits and /dev/null differ
diff --git a/public/gal_plane_toast/11/1952/1952_1220.fits b/public/gal_plane_toast/11/1952/1952_1220.fits
deleted file mode 100644
index 7450ee5..0000000
Binary files a/public/gal_plane_toast/11/1952/1952_1220.fits and /dev/null differ
diff --git a/public/gal_plane_toast/12/3622/3622_410.fits b/public/gal_plane_toast/12/3622/3622_410.fits
deleted file mode 100644
index 87bd4ae..0000000
Binary files a/public/gal_plane_toast/12/3622/3622_410.fits and /dev/null differ
diff --git a/public/gal_plane_toast/12/3624/3624_410.fits b/public/gal_plane_toast/12/3624/3624_410.fits
deleted file mode 100644
index a3634ad..0000000
Binary files a/public/gal_plane_toast/12/3624/3624_410.fits and /dev/null differ
diff --git a/public/gal_plane_toast/12/3625/3625_411.fits b/public/gal_plane_toast/12/3625/3625_411.fits
deleted file mode 100644
index 13b39c7..0000000
Binary files a/public/gal_plane_toast/12/3625/3625_411.fits and /dev/null differ
diff --git a/public/gal_plane_toast/12/3904/3904_2440.fits b/public/gal_plane_toast/12/3904/3904_2440.fits
deleted file mode 100644
index ebfecab..0000000
Binary files a/public/gal_plane_toast/12/3904/3904_2440.fits and /dev/null differ
diff --git a/public/gal_plane_toast/12/3904/3904_2441.fits b/public/gal_plane_toast/12/3904/3904_2441.fits
deleted file mode 100644
index cd8b799..0000000
Binary files a/public/gal_plane_toast/12/3904/3904_2441.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7244/7244_820.fits b/public/gal_plane_toast/13/7244/7244_820.fits
deleted file mode 100644
index 64a06dd..0000000
Binary files a/public/gal_plane_toast/13/7244/7244_820.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7249/7249_821.fits b/public/gal_plane_toast/13/7249/7249_821.fits
deleted file mode 100644
index ed320e8..0000000
Binary files a/public/gal_plane_toast/13/7249/7249_821.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7251/7251_822.fits b/public/gal_plane_toast/13/7251/7251_822.fits
deleted file mode 100644
index b8164d4..0000000
Binary files a/public/gal_plane_toast/13/7251/7251_822.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7251/7251_823.fits b/public/gal_plane_toast/13/7251/7251_823.fits
deleted file mode 100644
index a5b6ae9..0000000
Binary files a/public/gal_plane_toast/13/7251/7251_823.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7808/7808_4881.fits b/public/gal_plane_toast/13/7808/7808_4881.fits
deleted file mode 100644
index 68b3972..0000000
Binary files a/public/gal_plane_toast/13/7808/7808_4881.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7808/7808_4882.fits b/public/gal_plane_toast/13/7808/7808_4882.fits
deleted file mode 100644
index 22ad585..0000000
Binary files a/public/gal_plane_toast/13/7808/7808_4882.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7809/7809_4881.fits b/public/gal_plane_toast/13/7809/7809_4881.fits
deleted file mode 100644
index 83ecce7..0000000
Binary files a/public/gal_plane_toast/13/7809/7809_4881.fits and /dev/null differ
diff --git a/public/gal_plane_toast/13/7809/7809_4882.fits b/public/gal_plane_toast/13/7809/7809_4882.fits
deleted file mode 100644
index 06dc6f2..0000000
Binary files a/public/gal_plane_toast/13/7809/7809_4882.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/14489/14489_1641.fits b/public/gal_plane_toast/14/14489/14489_1641.fits
deleted file mode 100644
index 79b29a9..0000000
Binary files a/public/gal_plane_toast/14/14489/14489_1641.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/14498/14498_1643.fits b/public/gal_plane_toast/14/14498/14498_1643.fits
deleted file mode 100644
index 8b176ec..0000000
Binary files a/public/gal_plane_toast/14/14498/14498_1643.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/14499/14499_1643.fits b/public/gal_plane_toast/14/14499/14499_1643.fits
deleted file mode 100644
index 61df21e..0000000
Binary files a/public/gal_plane_toast/14/14499/14499_1643.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/14502/14502_1645.fits b/public/gal_plane_toast/14/14502/14502_1645.fits
deleted file mode 100644
index 3d0de64..0000000
Binary files a/public/gal_plane_toast/14/14502/14502_1645.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/14502/14502_1646.fits b/public/gal_plane_toast/14/14502/14502_1646.fits
deleted file mode 100644
index d0d7c4d..0000000
Binary files a/public/gal_plane_toast/14/14502/14502_1646.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/15617/15617_9763.fits b/public/gal_plane_toast/14/15617/15617_9763.fits
deleted file mode 100644
index 65dd2ee..0000000
Binary files a/public/gal_plane_toast/14/15617/15617_9763.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/15617/15617_9764.fits b/public/gal_plane_toast/14/15617/15617_9764.fits
deleted file mode 100644
index af90be1..0000000
Binary files a/public/gal_plane_toast/14/15617/15617_9764.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/15618/15618_9762.fits b/public/gal_plane_toast/14/15618/15618_9762.fits
deleted file mode 100644
index 0b242a0..0000000
Binary files a/public/gal_plane_toast/14/15618/15618_9762.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/15618/15618_9763.fits b/public/gal_plane_toast/14/15618/15618_9763.fits
deleted file mode 100644
index 8a10cdc..0000000
Binary files a/public/gal_plane_toast/14/15618/15618_9763.fits and /dev/null differ
diff --git a/public/gal_plane_toast/14/15618/15618_9764.fits b/public/gal_plane_toast/14/15618/15618_9764.fits
deleted file mode 100644
index a7fac65..0000000
Binary files a/public/gal_plane_toast/14/15618/15618_9764.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28978/28978_3282.fits b/public/gal_plane_toast/15/28978/28978_3282.fits
deleted file mode 100644
index 4609cce..0000000
Binary files a/public/gal_plane_toast/15/28978/28978_3282.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28978/28978_3283.fits b/public/gal_plane_toast/15/28978/28978_3283.fits
deleted file mode 100644
index 9782ae1..0000000
Binary files a/public/gal_plane_toast/15/28978/28978_3283.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28979/28979_3282.fits b/public/gal_plane_toast/15/28979/28979_3282.fits
deleted file mode 100644
index 361c8ed..0000000
Binary files a/public/gal_plane_toast/15/28979/28979_3282.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28979/28979_3283.fits b/public/gal_plane_toast/15/28979/28979_3283.fits
deleted file mode 100644
index ffaa022..0000000
Binary files a/public/gal_plane_toast/15/28979/28979_3283.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28997/28997_3286.fits b/public/gal_plane_toast/15/28997/28997_3286.fits
deleted file mode 100644
index 300e74f..0000000
Binary files a/public/gal_plane_toast/15/28997/28997_3286.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28997/28997_3287.fits b/public/gal_plane_toast/15/28997/28997_3287.fits
deleted file mode 100644
index 28bbe95..0000000
Binary files a/public/gal_plane_toast/15/28997/28997_3287.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28998/28998_3286.fits b/public/gal_plane_toast/15/28998/28998_3286.fits
deleted file mode 100644
index 8db6229..0000000
Binary files a/public/gal_plane_toast/15/28998/28998_3286.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/28998/28998_3287.fits b/public/gal_plane_toast/15/28998/28998_3287.fits
deleted file mode 100644
index d2b9eac..0000000
Binary files a/public/gal_plane_toast/15/28998/28998_3287.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29004/29004_3290.fits b/public/gal_plane_toast/15/29004/29004_3290.fits
deleted file mode 100644
index c35e41b..0000000
Binary files a/public/gal_plane_toast/15/29004/29004_3290.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29004/29004_3291.fits b/public/gal_plane_toast/15/29004/29004_3291.fits
deleted file mode 100644
index 9b5e7ea..0000000
Binary files a/public/gal_plane_toast/15/29004/29004_3291.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29004/29004_3292.fits b/public/gal_plane_toast/15/29004/29004_3292.fits
deleted file mode 100644
index 67758d5..0000000
Binary files a/public/gal_plane_toast/15/29004/29004_3292.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29005/29005_3290.fits b/public/gal_plane_toast/15/29005/29005_3290.fits
deleted file mode 100644
index 58f7bc2..0000000
Binary files a/public/gal_plane_toast/15/29005/29005_3290.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29005/29005_3291.fits b/public/gal_plane_toast/15/29005/29005_3291.fits
deleted file mode 100644
index f0a7cc6..0000000
Binary files a/public/gal_plane_toast/15/29005/29005_3291.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/29005/29005_3292.fits b/public/gal_plane_toast/15/29005/29005_3292.fits
deleted file mode 100644
index 4c0cbeb..0000000
Binary files a/public/gal_plane_toast/15/29005/29005_3292.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31235/31235_19527.fits b/public/gal_plane_toast/15/31235/31235_19527.fits
deleted file mode 100644
index f791c73..0000000
Binary files a/public/gal_plane_toast/15/31235/31235_19527.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31235/31235_19528.fits b/public/gal_plane_toast/15/31235/31235_19528.fits
deleted file mode 100644
index 64cf3cf..0000000
Binary files a/public/gal_plane_toast/15/31235/31235_19528.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31236/31236_19526.fits b/public/gal_plane_toast/15/31236/31236_19526.fits
deleted file mode 100644
index dc7a4f0..0000000
Binary files a/public/gal_plane_toast/15/31236/31236_19526.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31236/31236_19527.fits b/public/gal_plane_toast/15/31236/31236_19527.fits
deleted file mode 100644
index dece54d..0000000
Binary files a/public/gal_plane_toast/15/31236/31236_19527.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31236/31236_19528.fits b/public/gal_plane_toast/15/31236/31236_19528.fits
deleted file mode 100644
index 3c56af9..0000000
Binary files a/public/gal_plane_toast/15/31236/31236_19528.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31237/31237_19525.fits b/public/gal_plane_toast/15/31237/31237_19525.fits
deleted file mode 100644
index 5586b45..0000000
Binary files a/public/gal_plane_toast/15/31237/31237_19525.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31237/31237_19526.fits b/public/gal_plane_toast/15/31237/31237_19526.fits
deleted file mode 100644
index b73f1df..0000000
Binary files a/public/gal_plane_toast/15/31237/31237_19526.fits and /dev/null differ
diff --git a/public/gal_plane_toast/15/31237/31237_19527.fits b/public/gal_plane_toast/15/31237/31237_19527.fits
deleted file mode 100644
index 04a68a8..0000000
Binary files a/public/gal_plane_toast/15/31237/31237_19527.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57956/57956_6564.fits b/public/gal_plane_toast/16/57956/57956_6564.fits
deleted file mode 100644
index c369bb7..0000000
Binary files a/public/gal_plane_toast/16/57956/57956_6564.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57956/57956_6565.fits b/public/gal_plane_toast/16/57956/57956_6565.fits
deleted file mode 100644
index c0aed74..0000000
Binary files a/public/gal_plane_toast/16/57956/57956_6565.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57956/57956_6566.fits b/public/gal_plane_toast/16/57956/57956_6566.fits
deleted file mode 100644
index d41a4dc..0000000
Binary files a/public/gal_plane_toast/16/57956/57956_6566.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57957/57957_6564.fits b/public/gal_plane_toast/16/57957/57957_6564.fits
deleted file mode 100644
index d529fee..0000000
Binary files a/public/gal_plane_toast/16/57957/57957_6564.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57957/57957_6565.fits b/public/gal_plane_toast/16/57957/57957_6565.fits
deleted file mode 100644
index e2b7ca7..0000000
Binary files a/public/gal_plane_toast/16/57957/57957_6565.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57957/57957_6566.fits b/public/gal_plane_toast/16/57957/57957_6566.fits
deleted file mode 100644
index 7ca730c..0000000
Binary files a/public/gal_plane_toast/16/57957/57957_6566.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57957/57957_6567.fits b/public/gal_plane_toast/16/57957/57957_6567.fits
deleted file mode 100644
index e123eed..0000000
Binary files a/public/gal_plane_toast/16/57957/57957_6567.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57958/57958_6564.fits b/public/gal_plane_toast/16/57958/57958_6564.fits
deleted file mode 100644
index 4206cf4..0000000
Binary files a/public/gal_plane_toast/16/57958/57958_6564.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57958/57958_6565.fits b/public/gal_plane_toast/16/57958/57958_6565.fits
deleted file mode 100644
index 601c1c9..0000000
Binary files a/public/gal_plane_toast/16/57958/57958_6565.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57958/57958_6566.fits b/public/gal_plane_toast/16/57958/57958_6566.fits
deleted file mode 100644
index 5ea6cae..0000000
Binary files a/public/gal_plane_toast/16/57958/57958_6566.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57958/57958_6567.fits b/public/gal_plane_toast/16/57958/57958_6567.fits
deleted file mode 100644
index d6f7b2d..0000000
Binary files a/public/gal_plane_toast/16/57958/57958_6567.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57959/57959_6564.fits b/public/gal_plane_toast/16/57959/57959_6564.fits
deleted file mode 100644
index 554aa2a..0000000
Binary files a/public/gal_plane_toast/16/57959/57959_6564.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57959/57959_6565.fits b/public/gal_plane_toast/16/57959/57959_6565.fits
deleted file mode 100644
index 2bdc912..0000000
Binary files a/public/gal_plane_toast/16/57959/57959_6565.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57959/57959_6566.fits b/public/gal_plane_toast/16/57959/57959_6566.fits
deleted file mode 100644
index 0209a4b..0000000
Binary files a/public/gal_plane_toast/16/57959/57959_6566.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57959/57959_6567.fits b/public/gal_plane_toast/16/57959/57959_6567.fits
deleted file mode 100644
index bcbd063..0000000
Binary files a/public/gal_plane_toast/16/57959/57959_6567.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57994/57994_6572.fits b/public/gal_plane_toast/16/57994/57994_6572.fits
deleted file mode 100644
index ca8d4cb..0000000
Binary files a/public/gal_plane_toast/16/57994/57994_6572.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57994/57994_6573.fits b/public/gal_plane_toast/16/57994/57994_6573.fits
deleted file mode 100644
index 755d7bf..0000000
Binary files a/public/gal_plane_toast/16/57994/57994_6573.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57994/57994_6574.fits b/public/gal_plane_toast/16/57994/57994_6574.fits
deleted file mode 100644
index fb98290..0000000
Binary files a/public/gal_plane_toast/16/57994/57994_6574.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57994/57994_6575.fits b/public/gal_plane_toast/16/57994/57994_6575.fits
deleted file mode 100644
index e147fa3..0000000
Binary files a/public/gal_plane_toast/16/57994/57994_6575.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57995/57995_6572.fits b/public/gal_plane_toast/16/57995/57995_6572.fits
deleted file mode 100644
index 53c2d3d..0000000
Binary files a/public/gal_plane_toast/16/57995/57995_6572.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57995/57995_6573.fits b/public/gal_plane_toast/16/57995/57995_6573.fits
deleted file mode 100644
index cd31fd6..0000000
Binary files a/public/gal_plane_toast/16/57995/57995_6573.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57995/57995_6574.fits b/public/gal_plane_toast/16/57995/57995_6574.fits
deleted file mode 100644
index 9f05834..0000000
Binary files a/public/gal_plane_toast/16/57995/57995_6574.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57995/57995_6575.fits b/public/gal_plane_toast/16/57995/57995_6575.fits
deleted file mode 100644
index 23d08bb..0000000
Binary files a/public/gal_plane_toast/16/57995/57995_6575.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57996/57996_6572.fits b/public/gal_plane_toast/16/57996/57996_6572.fits
deleted file mode 100644
index d7fa097..0000000
Binary files a/public/gal_plane_toast/16/57996/57996_6572.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57996/57996_6573.fits b/public/gal_plane_toast/16/57996/57996_6573.fits
deleted file mode 100644
index 20e2bc6..0000000
Binary files a/public/gal_plane_toast/16/57996/57996_6573.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57996/57996_6574.fits b/public/gal_plane_toast/16/57996/57996_6574.fits
deleted file mode 100644
index dd7b040..0000000
Binary files a/public/gal_plane_toast/16/57996/57996_6574.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57996/57996_6575.fits b/public/gal_plane_toast/16/57996/57996_6575.fits
deleted file mode 100644
index 0c1421c..0000000
Binary files a/public/gal_plane_toast/16/57996/57996_6575.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57997/57997_6573.fits b/public/gal_plane_toast/16/57997/57997_6573.fits
deleted file mode 100644
index 07d6e3a..0000000
Binary files a/public/gal_plane_toast/16/57997/57997_6573.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57997/57997_6574.fits b/public/gal_plane_toast/16/57997/57997_6574.fits
deleted file mode 100644
index 81b8395..0000000
Binary files a/public/gal_plane_toast/16/57997/57997_6574.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/57997/57997_6575.fits b/public/gal_plane_toast/16/57997/57997_6575.fits
deleted file mode 100644
index 12b2850..0000000
Binary files a/public/gal_plane_toast/16/57997/57997_6575.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58008/58008_6581.fits b/public/gal_plane_toast/16/58008/58008_6581.fits
deleted file mode 100644
index 701b63c..0000000
Binary files a/public/gal_plane_toast/16/58008/58008_6581.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58008/58008_6582.fits b/public/gal_plane_toast/16/58008/58008_6582.fits
deleted file mode 100644
index f626883..0000000
Binary files a/public/gal_plane_toast/16/58008/58008_6582.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58008/58008_6583.fits b/public/gal_plane_toast/16/58008/58008_6583.fits
deleted file mode 100644
index a38464a..0000000
Binary files a/public/gal_plane_toast/16/58008/58008_6583.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58009/58009_6580.fits b/public/gal_plane_toast/16/58009/58009_6580.fits
deleted file mode 100644
index c1d7811..0000000
Binary files a/public/gal_plane_toast/16/58009/58009_6580.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58009/58009_6581.fits b/public/gal_plane_toast/16/58009/58009_6581.fits
deleted file mode 100644
index 337241a..0000000
Binary files a/public/gal_plane_toast/16/58009/58009_6581.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58009/58009_6582.fits b/public/gal_plane_toast/16/58009/58009_6582.fits
deleted file mode 100644
index b50ec8e..0000000
Binary files a/public/gal_plane_toast/16/58009/58009_6582.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58009/58009_6583.fits b/public/gal_plane_toast/16/58009/58009_6583.fits
deleted file mode 100644
index 8725a13..0000000
Binary files a/public/gal_plane_toast/16/58009/58009_6583.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58009/58009_6584.fits b/public/gal_plane_toast/16/58009/58009_6584.fits
deleted file mode 100644
index 3e16972..0000000
Binary files a/public/gal_plane_toast/16/58009/58009_6584.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58010/58010_6581.fits b/public/gal_plane_toast/16/58010/58010_6581.fits
deleted file mode 100644
index 236b391..0000000
Binary files a/public/gal_plane_toast/16/58010/58010_6581.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58010/58010_6582.fits b/public/gal_plane_toast/16/58010/58010_6582.fits
deleted file mode 100644
index 3101ee1..0000000
Binary files a/public/gal_plane_toast/16/58010/58010_6582.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58010/58010_6583.fits b/public/gal_plane_toast/16/58010/58010_6583.fits
deleted file mode 100644
index fc43db9..0000000
Binary files a/public/gal_plane_toast/16/58010/58010_6583.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58010/58010_6584.fits b/public/gal_plane_toast/16/58010/58010_6584.fits
deleted file mode 100644
index f92c229..0000000
Binary files a/public/gal_plane_toast/16/58010/58010_6584.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58011/58011_6581.fits b/public/gal_plane_toast/16/58011/58011_6581.fits
deleted file mode 100644
index 0625d72..0000000
Binary files a/public/gal_plane_toast/16/58011/58011_6581.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58011/58011_6582.fits b/public/gal_plane_toast/16/58011/58011_6582.fits
deleted file mode 100644
index bbdb6d7..0000000
Binary files a/public/gal_plane_toast/16/58011/58011_6582.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/58011/58011_6583.fits b/public/gal_plane_toast/16/58011/58011_6583.fits
deleted file mode 100644
index dba66bd..0000000
Binary files a/public/gal_plane_toast/16/58011/58011_6583.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62471/62471_39055.fits b/public/gal_plane_toast/16/62471/62471_39055.fits
deleted file mode 100644
index 730e823..0000000
Binary files a/public/gal_plane_toast/16/62471/62471_39055.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62471/62471_39056.fits b/public/gal_plane_toast/16/62471/62471_39056.fits
deleted file mode 100644
index b74f9d2..0000000
Binary files a/public/gal_plane_toast/16/62471/62471_39056.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62472/62472_39053.fits b/public/gal_plane_toast/16/62472/62472_39053.fits
deleted file mode 100644
index f9c83b7..0000000
Binary files a/public/gal_plane_toast/16/62472/62472_39053.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62472/62472_39054.fits b/public/gal_plane_toast/16/62472/62472_39054.fits
deleted file mode 100644
index 26a20e1..0000000
Binary files a/public/gal_plane_toast/16/62472/62472_39054.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62472/62472_39055.fits b/public/gal_plane_toast/16/62472/62472_39055.fits
deleted file mode 100644
index ba2425d..0000000
Binary files a/public/gal_plane_toast/16/62472/62472_39055.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62472/62472_39056.fits b/public/gal_plane_toast/16/62472/62472_39056.fits
deleted file mode 100644
index e6901f6..0000000
Binary files a/public/gal_plane_toast/16/62472/62472_39056.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62473/62473_39052.fits b/public/gal_plane_toast/16/62473/62473_39052.fits
deleted file mode 100644
index d1fde6a..0000000
Binary files a/public/gal_plane_toast/16/62473/62473_39052.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62473/62473_39053.fits b/public/gal_plane_toast/16/62473/62473_39053.fits
deleted file mode 100644
index 06b9c72..0000000
Binary files a/public/gal_plane_toast/16/62473/62473_39053.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62473/62473_39054.fits b/public/gal_plane_toast/16/62473/62473_39054.fits
deleted file mode 100644
index 3b2dff0..0000000
Binary files a/public/gal_plane_toast/16/62473/62473_39054.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62473/62473_39055.fits b/public/gal_plane_toast/16/62473/62473_39055.fits
deleted file mode 100644
index 824806e..0000000
Binary files a/public/gal_plane_toast/16/62473/62473_39055.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62473/62473_39056.fits b/public/gal_plane_toast/16/62473/62473_39056.fits
deleted file mode 100644
index cdd6d98..0000000
Binary files a/public/gal_plane_toast/16/62473/62473_39056.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62474/62474_39051.fits b/public/gal_plane_toast/16/62474/62474_39051.fits
deleted file mode 100644
index fa6f908..0000000
Binary files a/public/gal_plane_toast/16/62474/62474_39051.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62474/62474_39052.fits b/public/gal_plane_toast/16/62474/62474_39052.fits
deleted file mode 100644
index 647943c..0000000
Binary files a/public/gal_plane_toast/16/62474/62474_39052.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62474/62474_39053.fits b/public/gal_plane_toast/16/62474/62474_39053.fits
deleted file mode 100644
index 800f092..0000000
Binary files a/public/gal_plane_toast/16/62474/62474_39053.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62474/62474_39054.fits b/public/gal_plane_toast/16/62474/62474_39054.fits
deleted file mode 100644
index 4331752..0000000
Binary files a/public/gal_plane_toast/16/62474/62474_39054.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62474/62474_39055.fits b/public/gal_plane_toast/16/62474/62474_39055.fits
deleted file mode 100644
index 50666f7..0000000
Binary files a/public/gal_plane_toast/16/62474/62474_39055.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62475/62475_39051.fits b/public/gal_plane_toast/16/62475/62475_39051.fits
deleted file mode 100644
index d2adb5f..0000000
Binary files a/public/gal_plane_toast/16/62475/62475_39051.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62475/62475_39052.fits b/public/gal_plane_toast/16/62475/62475_39052.fits
deleted file mode 100644
index 05582dd..0000000
Binary files a/public/gal_plane_toast/16/62475/62475_39052.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62475/62475_39053.fits b/public/gal_plane_toast/16/62475/62475_39053.fits
deleted file mode 100644
index 95be966..0000000
Binary files a/public/gal_plane_toast/16/62475/62475_39053.fits and /dev/null differ
diff --git a/public/gal_plane_toast/16/62475/62475_39054.fits b/public/gal_plane_toast/16/62475/62475_39054.fits
deleted file mode 100644
index 5f9b087..0000000
Binary files a/public/gal_plane_toast/16/62475/62475_39054.fits and /dev/null differ
diff --git a/public/gal_plane_toast/2/3/3_0.fits b/public/gal_plane_toast/2/3/3_0.fits
deleted file mode 100644
index 27a06d6..0000000
Binary files a/public/gal_plane_toast/2/3/3_0.fits and /dev/null differ
diff --git a/public/gal_plane_toast/2/3/3_2.fits b/public/gal_plane_toast/2/3/3_2.fits
deleted file mode 100644
index ed90c0b..0000000
Binary files a/public/gal_plane_toast/2/3/3_2.fits and /dev/null differ
diff --git a/public/gal_plane_toast/3/7/7_0.fits b/public/gal_plane_toast/3/7/7_0.fits
deleted file mode 100644
index c5cc869..0000000
Binary files a/public/gal_plane_toast/3/7/7_0.fits and /dev/null differ
diff --git a/public/gal_plane_toast/3/7/7_4.fits b/public/gal_plane_toast/3/7/7_4.fits
deleted file mode 100644
index 6bac911..0000000
Binary files a/public/gal_plane_toast/3/7/7_4.fits and /dev/null differ
diff --git a/public/gal_plane_toast/4/14/14_1.fits b/public/gal_plane_toast/4/14/14_1.fits
deleted file mode 100644
index 9734edf..0000000
Binary files a/public/gal_plane_toast/4/14/14_1.fits and /dev/null differ
diff --git a/public/gal_plane_toast/4/15/15_9.fits b/public/gal_plane_toast/4/15/15_9.fits
deleted file mode 100644
index efb4c2b..0000000
Binary files a/public/gal_plane_toast/4/15/15_9.fits and /dev/null differ
diff --git a/public/gal_plane_toast/5/28/28_3.fits b/public/gal_plane_toast/5/28/28_3.fits
deleted file mode 100644
index 8c5e9dd..0000000
Binary files a/public/gal_plane_toast/5/28/28_3.fits and /dev/null differ
diff --git a/public/gal_plane_toast/5/30/30_19.fits b/public/gal_plane_toast/5/30/30_19.fits
deleted file mode 100644
index 2cbb06c..0000000
Binary files a/public/gal_plane_toast/5/30/30_19.fits and /dev/null differ
diff --git a/public/gal_plane_toast/6/56/56_6.fits b/public/gal_plane_toast/6/56/56_6.fits
deleted file mode 100644
index 72f26c7..0000000
Binary files a/public/gal_plane_toast/6/56/56_6.fits and /dev/null differ
diff --git a/public/gal_plane_toast/6/61/61_38.fits b/public/gal_plane_toast/6/61/61_38.fits
deleted file mode 100644
index 48d2d58..0000000
Binary files a/public/gal_plane_toast/6/61/61_38.fits and /dev/null differ
diff --git a/public/gal_plane_toast/7/113/113_12.fits b/public/gal_plane_toast/7/113/113_12.fits
deleted file mode 100644
index 962c4cc..0000000
Binary files a/public/gal_plane_toast/7/113/113_12.fits and /dev/null differ
diff --git a/public/gal_plane_toast/7/122/122_76.fits b/public/gal_plane_toast/7/122/122_76.fits
deleted file mode 100644
index 5e4167a..0000000
Binary files a/public/gal_plane_toast/7/122/122_76.fits and /dev/null differ
diff --git a/public/gal_plane_toast/8/226/226_25.fits b/public/gal_plane_toast/8/226/226_25.fits
deleted file mode 100644
index f059ce3..0000000
Binary files a/public/gal_plane_toast/8/226/226_25.fits and /dev/null differ
diff --git a/public/gal_plane_toast/8/244/244_152.fits b/public/gal_plane_toast/8/244/244_152.fits
deleted file mode 100644
index d8202c7..0000000
Binary files a/public/gal_plane_toast/8/244/244_152.fits and /dev/null differ
diff --git a/public/gal_plane_toast/9/452/452_51.fits b/public/gal_plane_toast/9/452/452_51.fits
deleted file mode 100644
index d1da653..0000000
Binary files a/public/gal_plane_toast/9/452/452_51.fits and /dev/null differ
diff --git a/public/gal_plane_toast/9/453/453_51.fits b/public/gal_plane_toast/9/453/453_51.fits
deleted file mode 100644
index 1711f6e..0000000
Binary files a/public/gal_plane_toast/9/453/453_51.fits and /dev/null differ
diff --git a/public/gal_plane_toast/9/488/488_305.fits b/public/gal_plane_toast/9/488/488_305.fits
deleted file mode 100644
index fc2d37f..0000000
Binary files a/public/gal_plane_toast/9/488/488_305.fits and /dev/null differ
diff --git a/public/gal_plane_toast/index_rel.wtml b/public/gal_plane_toast/index_rel.wtml
deleted file mode 100644
index f19c60f..0000000
--- a/public/gal_plane_toast/index_rel.wtml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/public/herschel_spire_rgb.wtml b/public/herschel_spire_rgb.wtml
new file mode 100644
index 0000000..bea67f1
--- /dev/null
+++ b/public/herschel_spire_rgb.wtml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ ESA/HSA
+ http://www.cosmos.esa.int/web/herschel/publishing-rules-guidelines
+ A color composition using all public SPIRE observations from the Herschel Science Archive at 250 micron (blue), 350 micron (green) and 500 micron (red). The data have been normalised using Herschel-optimised cuts and stretch prior to the HiPS generation.
+ https://skies.esac.esa.int/Herschel/normalized/SPIRE_pnorm_RGB/preview.jpg
+
+
+
+
diff --git a/public/hips2wtml.py b/public/hips2wtml.py
new file mode 100644
index 0000000..3011cff
--- /dev/null
+++ b/public/hips2wtml.py
@@ -0,0 +1,261 @@
+# based on @wwtelescope/wwt-hips-list-importer
+
+import argparse
+import html
+import sys
+
+import requests
+
+from wwt_data_formats import write_xml_doc
+from wwt_data_formats.enums import Bandpass, DataSetType, ProjectionType
+from wwt_data_formats.folder import Folder
+from wwt_data_formats.imageset import ImageSet
+from wwt_data_formats.place import Place
+
+PLANETS_CATEGORY_NAME = "Planets & Moons"
+
+# get the properties and conver it to a dictionary and make sure it is compatible with
+# what the globalhipslist returned
+def fetch_properties(service_url: str) -> dict:
+ """Fetch a HiPS ``properties`` file and shape it like a global-list entry.
+
+ The properties format is a simple ``key = value`` text file. We inject
+ ``hips_service_url`` and ``ID`` so the helpers pasted from
+ ``hips_list_parser.py`` (which expect a global-list JSON entry) work
+ unchanged.
+ """
+ props_url = service_url.rstrip("/") + "/properties"
+ resp = requests.get(props_url)
+ resp.raise_for_status()
+
+ info = {}
+ for line in resp.text.splitlines():
+ line = line.strip()
+ if not line or line.startswith("#"):
+ continue
+ if "=" not in line:
+ continue
+ key, _, value = line.partition("=")
+ info[key.strip()] = value.strip()
+
+ info["hips_service_url"] = service_url
+ info.setdefault("ID", info.get("creator_did", "").replace("ivo://", ""))
+ return info
+
+
+
+
+# From hips_list_parser.py - Convert()
+def get_credits_url(info: dict):
+ credits_url = info.get("obs_copyright_url", "")
+ if isinstance(credits_url, list):
+ return info.get("hips_service_url", "").strip("/") + "/properties"
+ else:
+ return credits_url
+
+
+def get_credits(info: dict):
+ credits = info.get("obs_copyright", "")
+ if isinstance(credits, list):
+ return ", ".join(credits)
+ else:
+ return credits
+
+
+def get_name(info: dict):
+ name = info.get("obs_title", "")
+ if not name:
+ name = info.get("ID", "")
+
+ return name
+
+
+def get_file_type(info: dict):
+ file_formats = info.get("hips_tile_format", "")
+ if isinstance(file_formats, list):
+ file_formats = " ".join(file_formats)
+ file_formats_arr = file_formats.split(" ")
+
+ if "fits" in file_formats_arr and len(file_formats_arr) > 1:
+ file_formats_arr.remove("fits")
+ file_formats = " ".join(file_formats_arr)
+ file_formats += " fits"
+
+ return file_formats
+
+
+def get_bandpass_name(info: dict):
+ regime = info.get("obs_regime", "")
+
+ if isinstance(regime, list):
+ regime = regime[0]
+
+ regime = regime.lower()
+
+ if "radio" in regime:
+ return "Radio"
+ elif "gamma-ray" in regime or "gamma" in regime:
+ return "Gamma"
+ elif "x-ray" in regime or "xray" in regime:
+ return "XRay"
+ elif "infrared" in regime or "ir" in regime:
+ return "Infrared"
+ elif "uv" in regime or "ultraviolet" in regime:
+ return "Ultraviolet"
+ elif "optical" in regime:
+ return "Visible"
+ elif "millimeter" in regime or "microwave" in regime:
+ return "Microwave"
+ else:
+ hips_frame = info.get("hips_frame", "").lower()
+ if (
+ "galactic" in hips_frame
+ or "ecliptic" in hips_frame
+ or "equatorial" in hips_frame
+ ):
+ return "Uncategorized"
+ else:
+ return PLANETS_CATEGORY_NAME
+
+
+def build_image_data(info: dict):
+ """
+ Create our "yaml record hips_list_parser.Convert.add_image_set
+ """
+ ident = info["ID"]
+
+ bandpass_name = get_bandpass_name(info)
+
+ dataset_type = "Sky"
+ if bandpass_name == PLANETS_CATEGORY_NAME:
+ bandpass_name = "Uncategorized"
+
+ if "panorama" in info.get("obs_title", "").lower():
+ dataset_type = "Panorama"
+ else:
+ dataset_type = "Planet"
+
+ url = info.get("hips_service_url", "").strip("/") + "/Norder{0}/Dir{1}/Npix{2}"
+ tile_levels = info.get("hips_order", "")
+ name = get_name(info)
+ file_type = get_file_type(info)
+ credits = get_credits(info)
+ credits_url = get_credits_url(info)
+ thumbnail_url = info.get("hips_service_url", "").strip("/") + "/preview.jpg"
+ description = info.get("obs_description") or f"HiPS List ID: {ident}"
+
+ return {
+ "_id": ident,
+ "_name": name,
+ "bandpass": bandpass_name,
+ "credits": credits,
+ "credits_url": credits_url,
+ "description": description,
+ "file_type": file_type,
+ "tile_levels": int(tile_levels),
+ "thumbnail_url": thumbnail_url,
+ "type": dataset_type,
+ "url": url,
+ # Initial-view hints for the enclosing Place, if the survey provides them.
+ "ra": info.get("hips_initial_ra", ""),
+ "dec": info.get("hips_initial_dec", ""),
+ "fov": info.get("hips_initial_fov", ""),
+ }
+
+
+# Realizing the WTML objects --- pasted from create_wtml.py
+def realize_imageset(info: dict):
+ imgset = ImageSet()
+
+ if info["bandpass"] != "Uncategorized":
+ imgset.band_pass = Bandpass[info["bandpass"].upper()]
+
+ imgset.base_degrees_per_tile = 180
+ imgset.credits = info["credits"]
+ imgset.credits_url = info["credits_url"]
+
+ if info["type"] != "Uncategorized":
+ imgset.data_set_type = DataSetType[info["type"].upper()]
+
+ imgset.description = html.escape(info["description"])
+ imgset.file_type = info["file_type"]
+ imgset.mean_radius = 1
+ imgset.name = info["_name"]
+ imgset.projection = ProjectionType.HEALPIX
+ imgset.quad_tree_map = "0123"
+ imgset.reference_frame = "Sky"
+ imgset.thumbnail_url = info["thumbnail_url"]
+ imgset.tile_levels = int(info["tile_levels"])
+ imgset.width_factor = 1
+ imgset.url = info["url"]
+ return imgset
+
+# need to create a place. either use original ra/dec (hr/deg) or just 0 0
+def realize_place(info: dict, imgset: ImageSet):
+ place = Place()
+ place.name = info["_name"]
+ place.data_set_type = imgset.data_set_type
+ place.foreground_image_set = imgset
+ place.thumbnail = info["thumbnail_url"]
+
+ # HiPS initial-view hints are optional; fall back to (0, 0) if absent.
+ try:
+ place.set_ra_dec(float(info["ra"]) / 15.0, float(info["dec"]))
+ except (KeyError, ValueError):
+ place.set_ra_dec(0.0, 0.0)
+
+ # WWT's zoom level is six times the vertical field of view in degrees.
+ try:
+ place.zoom_level = float(info["fov"]) * 6.0
+ except (KeyError, ValueError):
+ place.zoom_level = 360.0
+
+ place.update_constellation()
+ return place
+
+# simplified from create_wtml.py since we are never nesting
+def realize_folder(info: dict, place: Place):
+ f = Folder(name=info["_name"])
+ f.group = "Explorer"
+ f.searchable = True
+ f.children.append(place)
+ return f
+
+
+def entrypoint():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument("service_url", help="The HiPS service base URL")
+ parser.add_argument(
+ "-o",
+ "--output",
+ help="Output WTML path (default: derived from the survey name, or stdout with '-')",
+ )
+ args = parser.parse_args()
+
+ info = build_image_data(fetch_properties(args.service_url))
+ imgset = realize_imageset(info)
+ place = realize_place(info, imgset)
+ folder = realize_folder(info, place)
+
+ if args.output == "-":
+ write_xml_doc(
+ folder.to_xml(), indent=True, dest_stream=sys.stdout, dest_wants_bytes=False
+ )
+ return
+
+ if args.output:
+ out_path = args.output
+ else:
+ safe_name = info["_name"].replace("/", "_").replace(" ", "_")
+ out_path = f"{safe_name}.wtml"
+
+ with open(out_path, "wt", encoding="utf-8") as f:
+ write_xml_doc(
+ folder.to_xml(), indent=True, dest_stream=f, dest_wants_bytes=False
+ )
+
+ print(f"Wrote {out_path}")
+
+
+if __name__ == "__main__":
+ entrypoint()
diff --git a/public/index.wtml b/public/index.wtml
deleted file mode 100644
index d038721..0000000
--- a/public/index.wtml
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/public/make_colormap.ipynb b/public/make_colormap.ipynb
new file mode 100644
index 0000000..766cb1a
--- /dev/null
+++ b/public/make_colormap.ipynb
@@ -0,0 +1,184 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "a5074b6d",
+ "metadata": {},
+ "source": [
+ "From [wwt-webgl-engine#402](https://github.com/WorldWideTelescope/wwt-webgl-engine/pull/402)\n",
+ "```ts\n",
+ "colors = wwtlib.ColorMapContainer.viridis.colors.map((color, index) => [index, color.r, color.g, color.b]);\n",
+ "cm=wwtlib.ColorMapContainer.fromArgbList(colors); // also is a .fromStringList which takes hex\n",
+ "wwtlib.ColorMapContainer.registerNamedColormap(\"viridisalpha\", cm);\n",
+ "layer.get_imageSet().get_fitsProperties().colorMapName = \"viridisalpha\"\n",
+ "```\n",
+ "\n",
+ "\n",
+ "Need a `.ts` file with \n",
+ "```ts\n",
+ "export colors = [\n",
+ " [1, r1, g1, b1],\n",
+ " [1, r2, g2, b2],\n",
+ " ...\n",
+ "]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "97ee8970",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# import matplotlib colormaps\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import rgb2hex"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "193b4738",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/q0/vk33_nv518v9_pzs4ny5_b8r0000gn/T/ipykernel_52944/3314592701.py:1: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed in 3.11. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap()`` or ``pyplot.get_cmap()`` instead.\n",
+ " cm.get_cmap('coolwarm')\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAF3RFWHRUaXRsZQBjb29sd2FybSBjb2xvcm1hcPHW9i4AAAAddEVYdERlc2NyaXB0aW9uAGNvb2x3YXJtIGNvbG9ybWFw2KgRBwAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuOCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ5+cXbEAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuOCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZzq4TkUAAAIhSURBVHic7dY7cttAEEXRBpblNXjR3pdMjBMIKjYxBBg4euckqvk1GKnu8uv3n1FVtSxLVVUt61pVVev6vO7nSztfZ+e35y77+fn+cX7xnfXlu7P3/ffXR/Ne9+t8/vec6fyafO/5/vF+9r39vM+73D++cz5vfq/e37vYn98bF+/Hvf2a3W/za3Je/XeM87nHvXvnL9+bnd/cX/t+bffe9/uj7Y/tw/XzfvV74/2c6u9H/33n977n1mQ9nXus39875m597vm92vrvOd+/eje2e/cu3+3r0dbf58f9lznv37+stzavzZ/N69/v94+/4+re5N1/2t8e7+//nLd7+/7W5z+253ePybzj/T7va1//HZ+tv57/XwEAQQQAAAQSAAAQSAAAQCABAACBBAAABBIAABBIAABAIAEAAIEEAAAEEgAAEEgAAEAgAQAAgQQAAAQSAAAQSAAAQCABAACBBAAABBIAABBIAABAIAEAAIEEAAAEEgAAEEgAAEAgAQAAgQQAAAQSAAAQSAAAQCABAACBBAAABBIAABBIAABAIAEAAIEEAAAEEgAAEEgAAEAgAQAAgQQAAAQSAAAQSAAAQCABAACBBAAABBIAABBIAABAIAEAAIEEAAAEEgAAEEgAAEAgAQAAgQQAAAQSAAAQSAAAQCABAACBBAAABBIAABBIAABAIAEAAIEEAAAEEgAAEEgAAEAgAQAAgQQAAAQSAAAQ6B/oZlRqViVuDwAAAABJRU5ErkJggg==",
+ "text/html": [
+ "
coolwarm

"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "COLORMAP = 'coolwarm'\n",
+ "cm.get_cmap(COLORMAP)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "e9819a50",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/q0/vk33_nv518v9_pzs4ny5_b8r0000gn/T/ipykernel_52944/3009298746.py:2: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed in 3.11. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap()`` or ``pyplot.get_cmap()`` instead.\n",
+ " cm.get_cmap(COLORMAP)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFXRFWHRUaXRsZQBSZEJ1X3IgY29sb3JtYXAIzTWIAAAAG3RFWHREZXNjcmlwdGlvbgBSZEJ1X3IgY29sb3JtYXBBWi1sAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC44LCBodHRwczovL21hdHBsb3RsaWIub3Jnn5xdsQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC44LCBodHRwczovL21hdHBsb3RsaWIub3JnOrhORQAAAiVJREFUeJzt1ktupDAARVED6f30lrL/NQA9aOPIgFMf1eydM0H+FlWRojv9+fu9l1LKNM/l/3N577n04/nt8/fv8fx9c90/1XH/nKdjXPr58/5pMH+5p79vPp1/+/76XOq+Zf7M8+vlc/Nn7ju+b/s+pR+39dKdG62ff5927vS7Lsf+8z0P10/3nf4O9ViZ2vk6Lv37tPW2f7Q+9eN2X/9+T6+PPq/t78dl326f0zHeRuv7r+cv9wzue3TP5fzgPfZ1rfevdfkYb8/Nn84f6z/7n5z/0Hvs6/E5W13ebuf3wfxl/+Xc2u8b3fex99jreO/2tfE2mG/n+nt+7n+0735+eG67n9/qfJ0u6/7auP6VXz736fHxHsf/CQAgiAAAgEACAAACCQAACCQAACCQAACAQAIAAAIJAAAIJAAAIJAAAIBAAgAAAgkAAAgkAAAgkAAAgEACAAACCQAACCQAACCQAACAQAIAAAIJAAAIJAAAIJAAAIBAAgAAAgkAAAgkAAAgkAAAgEACAAACCQAACCQAACCQAACAQAIAAAIJAAAIJAAAIJAAAIBAAgAAAgkAAAgkAAAgkAAAgEACAAACCQAACCQAACCQAACAQAIAAAIJAAAIJAAAIJAAAIBAAgAAAgkAAAgkAAAgkAAAgEACAAACCQAACCQAACCQAACAQAIAAAIJAAAIJAAAIJAAAIBAAgAAAgkAAAgkAAAgkAAAgEACAAAC/QMweEYUM64mGAAAAABJRU5ErkJggg==",
+ "text/html": [
+ "RdBu_r

"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "COLORMAP = 'RdBu_r'\n",
+ "cm.get_cmap(COLORMAP)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "cadc3df7",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/q0/vk33_nv518v9_pzs4ny5_b8r0000gn/T/ipykernel_52944/3732969970.py:2: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed in 3.11. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap()`` or ``pyplot.get_cmap()`` instead.\n",
+ " colors = cm.get_cmap(COLORMAP)(range(256))\n"
+ ]
+ }
+ ],
+ "source": [
+ "# need 256 colors\n",
+ "colors = cm.get_cmap(COLORMAP)(range(256))\n",
+ "hexColors = [rgb2hex(c) for c in colors]\n",
+ "# separate into sets of 8\n",
+ "hexColors = [hexColors[i:i+8] for i in range(0, len(hexColors), 8)]\n",
+ "with open(f'../src/assets/{COLORMAP}.ts', 'w') as f:\n",
+ " f.write('export default [\\n')\n",
+ " for c in hexColors:\n",
+ " line = ', '.join(f\"'{color}'\" for color in c)\n",
+ " f.write(f' {line},\\n')\n",
+ " f.write('];\\n')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ee3b0e36",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "32.0"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "f0f227ec",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "base",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.13.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/public/reprojected/101899_cont_7MTM2TM1_jointdeconv.image.pbcor.fits b/public/reprojected/101899_cont_7MTM2TM1_jointdeconv.image.pbcor.fits
deleted file mode 100644
index 010c8b6..0000000
--- a/public/reprojected/101899_cont_7MTM2TM1_jointdeconv.image.pbcor.fits
+++ /dev/null
@@ -1,3573 +0,0 @@
-SIMPLE = T / conforms to FITS standard BITPIX = -32 / array data type NAXIS = 2 / number of array dimensions NAXIS1 = 613 NAXIS2 = 613 WCSAXES = 2 / Number of coordinate axes CRPIX1 = 307.0 / Pixel coordinate of reference point CRPIX2 = 307.0 / Pixel coordinate of reference point CDELT1 = -1.666666666667E-05 / [deg] Coordinate increment at reference point CDELT2 = 1.666666666667E-05 / [deg] Coordinate increment at reference point CUNIT1 = 'deg' / Units of coordinate increment and value CUNIT2 = 'deg' / Units of coordinate increment and value CTYPE1 = 'RA---TAN' / Right ascension, gnomonic projection CTYPE2 = 'DEC--TAN' / Declination, gnomonic projection CRVAL1 = 278.6679166667 / [deg] Coordinate value at reference point CRVAL2 = -9.009511111119 / [deg] Coordinate value at reference point PV2_1 = 0.0 / TAN projection parameter PV2_2 = 0.0 / TAN projection parameter LONPOLE = 180.0 / [deg] Native longitude of celestial pole LATPOLE = -9.009511111119 / [deg] Native latitude of celestial pole TIMESYS = 'UTC' / Time scale MJDREF = 0.0 / [d] MJD of fiducial time DATE-OBS= '2019-10-29T23:21:45.600000' / ISO-8601 time of observation MJD-OBS = 58785.973444444 / [d] MJD of observation OBSGEO-X= 2225142.180269 / [m] observatory X-coordinate OBSGEO-Y= -5440307.370349 / [m] observatory Y-coordinate OBSGEO-Z= -2481029.851874 / [m] observatory Z-coordinate RADESYS = 'ICRS' / Equatorial coordinate system DATAMIN = -0.00236479495652019 DATAMAX = 0.04673318937420845 BMAJ = 0.0001067512234052 BMIN = 9.615850945314E-05 BPA = -63.40249633789 BTYPE = 'Intensity' OBJECT = '101899 ' BUNIT = 'Jy/beam ' PC1_1 = 1.0 PC2_1 = 0.0 PC1_2 = 0.0 PC2_2 = 1.0 TELESCOP= 'ALMA ' OBSERVER= 'almagal ' OBSRA = 278.6679166667 OBSDEC = -9.009511111119 INSTRUME= 'ALMA ' DISTANCE= 0.0 MPIPROCS= 1 CHNCHNKS= 1 MEMREQ = 0.078125 MEMAVAIL= 38.208 USEWEIGH= T AGMADRES= 0.0001254239468835 AGSTDRES= 0.0001765267516021 AGMADREM= 0.0001200923434226 AGSTDREM= 0.0001701752189547 AGMADIMM= 0.000134346424602 AGSTDIMM= 0.0001937855267897 AGJVM = 0.2563180442497 DATE = '2022-10-25T11:03:12.132000' ORIGIN = 'CASA 6.2.0-124 CASAtools:v1.0.0' AGCRPX1 = 114 AGCRPX2 = 727 AGCRPY1 = 114 AGCRPY2 = 727 HISTORY CASA START LOGTABLE END =7 999ǯ]83PzvlϺL繙 99`9y9
-Գ{DPFkwYIº-\xغQgŹ2ϖq] +F/_@[C;ڭ
J<ڒ(F8,9VE9/8:8H9U9z9(m2)>0zN!:FP99V9H8kfM{7acv¹Vx88:Cʺ6ܕ|8nYnɲ1S'Ew$} :ʹչ6TϹj?eoa㹫Y鸥̹n0%Zn/-8 PR?P7T9Q9ӹF~ToP-ְ~PVm3zy89|В9T9!wHDYo(%*}8Q8;~7Pys-j!!vӹ(s5Uw#PȺyڲ![z90,7#`QnD繧6ܫCI{r6wYMhźt G8 :3:8dt9ϝ:!9+9 ;P8DV9i w9˸ݺC溉ϭ%y9*F8q8猅8v'!% VV;;_葹d$Ϲ۹7@G&2d>kLźHFy);o99m@ ؆C7ur8k_828o9XI998WOf9*^ R#dxWg2>T.TjUe: E"ܹ#9'$ 0ѺPz#8g{駹O"9e: : 98Ѥ>&%ʺ