mirror of
https://github.com/cds-astro/aladin-lite.git
synced 2025-12-22 15:26:11 -08:00
fix refresh bugs, remove link of the old css in examples
This commit is contained in:
@@ -2,8 +2,6 @@
|
|||||||
<HTML>
|
<HTML>
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
|
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var hipsDir=null;</script>
|
var hipsDir=null;</script>
|
||||||
</HEAD>
|
</HEAD>
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -18,7 +15,7 @@
|
|||||||
aladin = A.aladin('#aladin-lite-div', {survey: ["P/PanSTARRS/DR1/color-i-r-g"], showReticle: false, gridOptions: {opacity: 0.5}, projection: "AIT", cooFrame: 'galactic', target: "93.2721132 -20.9942421", fov: 1000, showGotoControl: false, showFrame: false, fullScreen: true, showLayersControl: true, showCooGrid: false, showCooGridControl: false});
|
aladin = A.aladin('#aladin-lite-div', {survey: ["P/PanSTARRS/DR1/color-i-r-g"], showReticle: false, gridOptions: {opacity: 0.5}, projection: "AIT", cooFrame: 'galactic', target: "93.2721132 -20.9942421", fov: 1000, showGotoControl: false, showFrame: false, fullScreen: true, showLayersControl: true, showCooGrid: false, showCooGridControl: false});
|
||||||
|
|
||||||
const chft = aladin.createImageSurvey('CFHT', "CFHT deep view of NGC7331 and Stephan's quintet u+g+r", "https://cds.unistra.fr/~derriere/PR_HiPS/2022_Duc/", null, null, {imgFormat: 'png'});
|
const chft = aladin.createImageSurvey('CFHT', "CFHT deep view of NGC7331 and Stephan's quintet u+g+r", "https://cds.unistra.fr/~derriere/PR_HiPS/2022_Duc/", null, null, {imgFormat: 'png'});
|
||||||
const nircamJWST = aladin.createImageSurvey('Nircam', "Stephans Quintet NIRCam+MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_NIRCam+MIRI/", null, null, {imgFormat: 'png'});
|
const nircamJWST = aladin.createImageSurvey('Nircam', "Stephans Quintet NIRCam+MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_NIRCam+MIRI/", null, null, {imgFormat: 'png', colormap: "viridis"});
|
||||||
|
|
||||||
aladin.setOverlayImageLayer("CFHT", "CFHT");
|
aladin.setOverlayImageLayer("CFHT", "CFHT");
|
||||||
aladin.setOverlayImageLayer("Nircam", "Nircam");
|
aladin.setOverlayImageLayer("Nircam", "Nircam");
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
<!--<link rel="stylesheet" href="./layers.css" />-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
<!--<link rel="stylesheet" href="./layers.css" />-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
<!--<link rel="stylesheet" href="./layers.css" />-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
<!--<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" /> -->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
<!--<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" /> -->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" /> -->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="al1" style="width: 500px; height: 500px">
|
<div id="al1" style="width: 500px; height: 500px">
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -2,12 +2,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<!-- <link rel="stylesheet" href="../distrib/latest/aladin.min.css" /> -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
|
|
||||||
<!--<link rel="stylesheet" href="./layers.css" />-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ serde = { version = "^1.0.59", features = ["derive"] }
|
|||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
serde-wasm-bindgen = "0.4"
|
serde-wasm-bindgen = "0.4"
|
||||||
console_error_panic_hook = "0.1.7"
|
console_error_panic_hook = "0.1.7"
|
||||||
fitsrs = "0.2.4"
|
fitsrs = "0.2.6"
|
||||||
enum_dispatch = "0.3.8"
|
enum_dispatch = "0.3.8"
|
||||||
wasm-bindgen = "0.2.79"
|
wasm-bindgen = "0.2.79"
|
||||||
wasm-streams = "0.3.0"
|
wasm-streams = "0.3.0"
|
||||||
@@ -39,7 +39,7 @@ al-core = { path = "./al-core" }
|
|||||||
al-task-exec = { path = "./al-task-exec" }
|
al-task-exec = { path = "./al-task-exec" }
|
||||||
al-api = { path = "./al-api" }
|
al-api = { path = "./al-api" }
|
||||||
mapproj = "0.3.0"
|
mapproj = "0.3.0"
|
||||||
wcs = "0.2.2"
|
wcs = "0.2.4"
|
||||||
colorgrad = "0.6.2"
|
colorgrad = "0.6.2"
|
||||||
image-decoder = { package = "image", version = "0.24.2", default-features = false, features = ["jpeg", "png"] }
|
image-decoder = { package = "image", version = "0.24.2", default-features = false, features = ["jpeg", "png"] }
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ js-sys = "0.3.47"
|
|||||||
cgmath = "*"
|
cgmath = "*"
|
||||||
jpeg-decoder = "0.3.0"
|
jpeg-decoder = "0.3.0"
|
||||||
png = "0.17.6"
|
png = "0.17.6"
|
||||||
fitsrs = "0.1.1"
|
fitsrs = "0.2.6"
|
||||||
al-api = { path = "../al-api" }
|
al-api = { path = "../al-api" }
|
||||||
serde = { version = "^1.0.59", features = ["derive"] }
|
serde = { version = "^1.0.59", features = ["derive"] }
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ pub struct Fits<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::io::BufReader;
|
|
||||||
use std::io::Read;
|
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum Data<'a> {
|
pub enum Data<'a> {
|
||||||
@@ -19,40 +17,46 @@ pub enum Data<'a> {
|
|||||||
I32(Cow<'a, [i32]>),
|
I32(Cow<'a, [i32]>),
|
||||||
F32(Cow<'a, [f32]>),
|
F32(Cow<'a, [f32]>),
|
||||||
}
|
}
|
||||||
use fitsrs::hdu::{AsyncHDU, HDU};
|
use std::io::Cursor;
|
||||||
use wasm_streams::readable::IntoAsyncRead;
|
use fitsrs::{
|
||||||
use futures::stream::StreamExt;
|
hdu::data::InMemData,
|
||||||
|
fits::Fits as FitsData,
|
||||||
|
};
|
||||||
|
|
||||||
impl<'a> Fits<'a> {
|
impl<'a> Fits<'a> {
|
||||||
pub fn from_byte_slice(bytes: &'a [u8]) -> Result<Self, JsValue> {
|
pub fn from_byte_slice(bytes_reader: &'a mut Cursor<&[u8]>) -> Result<Self, JsValue> {
|
||||||
let fitsrs::fits::Fits { hdu: HDU { data, header } } = fitsrs::fits::Fits::from_reader(bytes)
|
let FitsData { hdu } = FitsData::from_reader(bytes_reader)
|
||||||
.map_err(|_| {
|
.map_err(|_| {
|
||||||
JsValue::from_str(&"Parsing fits error")
|
JsValue::from_str(&"Parsing fits error")
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
let width = header.get_axis_size(1)
|
let header = hdu.get_header();
|
||||||
|
let xtension = header.get_xtension();
|
||||||
|
let width = xtension.get_naxisn(1)
|
||||||
.ok_or_else(|| JsValue::from_str("NAXIS1 not found in the fits"))?;
|
.ok_or_else(|| JsValue::from_str("NAXIS1 not found in the fits"))?;
|
||||||
|
|
||||||
let height = header.get_axis_size(2)
|
let height = xtension.get_naxisn(2)
|
||||||
.ok_or_else(|| JsValue::from_str("NAXIS2 not found in the fits"))?;
|
.ok_or_else(|| JsValue::from_str("NAXIS2 not found in the fits"))?;
|
||||||
|
|
||||||
let data = match data {
|
let data = hdu.get_data();
|
||||||
fitsrs::hdu::data::DataBorrowed::U8(slice) => {
|
let data = match *data {
|
||||||
|
InMemData::U8(slice) => {
|
||||||
Data::U8(Cow::Borrowed(slice))
|
Data::U8(Cow::Borrowed(slice))
|
||||||
},
|
},
|
||||||
fitsrs::hdu::data::DataBorrowed::I16(slice) => {
|
InMemData::I16(slice) => {
|
||||||
Data::I16(Cow::Borrowed(slice))
|
Data::I16(Cow::Borrowed(slice))
|
||||||
},
|
},
|
||||||
fitsrs::hdu::data::DataBorrowed::I32(slice) => {
|
InMemData::I32(slice) => {
|
||||||
Data::I32(Cow::Borrowed(slice))
|
Data::I32(Cow::Borrowed(slice))
|
||||||
},
|
},
|
||||||
fitsrs::hdu::data::DataBorrowed::I64(slice) => {
|
InMemData::I64(slice) => {
|
||||||
let data = slice.iter().map(|v| *v as i32).collect();
|
let data = slice.iter().map(|v| *v as i32).collect();
|
||||||
Data::I32(Cow::Owned(data))
|
Data::I32(Cow::Owned(data))
|
||||||
},
|
},
|
||||||
fitsrs::hdu::data::DataBorrowed::F32(slice) => {
|
InMemData::F32(slice) => {
|
||||||
Data::F32(Cow::Borrowed(slice))
|
Data::F32(Cow::Borrowed(slice))
|
||||||
},
|
},
|
||||||
fitsrs::hdu::data::DataBorrowed::F64(slice) => {
|
InMemData::F64(slice) => {
|
||||||
let data = slice.iter().map(|v| *v as f32).collect();
|
let data = slice.iter().map(|v| *v as f32).collect();
|
||||||
Data::F32(Cow::Owned(data))
|
Data::F32(Cow::Owned(data))
|
||||||
}
|
}
|
||||||
@@ -67,59 +71,12 @@ impl<'a> Fits<'a> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn from_reader<R>(reader: BufReader<R>) -> Result<Self, JsValue>
|
|
||||||
where
|
|
||||||
R: Read + Debug
|
|
||||||
{
|
|
||||||
let fitsrs::fits::Fits { hdu: HDU { data, header } } = fitsrs::fits::Fits::from_reader(reader)
|
|
||||||
.map_err(|_| {
|
|
||||||
JsValue::from_str(&"Parsing fits error")
|
|
||||||
})?;
|
|
||||||
|
|
||||||
let width = header.get_axis_size(1)
|
|
||||||
.ok_or_else(|| JsValue::from_str("NAXIS1 not found in the fits"))?;
|
|
||||||
|
|
||||||
let height = header.get_axis_size(2)
|
|
||||||
.ok_or_else(|| JsValue::from_str("NAXIS2 not found in the fits"))?;
|
|
||||||
|
|
||||||
let data = match data {
|
|
||||||
fitsrs::hdu::data::DataOwned::U8(it) => {
|
|
||||||
Data::U8(Cow::Owned(it.collect()))
|
|
||||||
},
|
|
||||||
fitsrs::hdu::data::DataOwned::I16(it) => {
|
|
||||||
Data::I16(Cow::Owned(it.collect()))
|
|
||||||
},
|
|
||||||
fitsrs::hdu::data::DataOwned::I32(it) => {
|
|
||||||
Data::I32(Cow::Owned(it.collect()))
|
|
||||||
},
|
|
||||||
fitsrs::hdu::data::DataOwned::I64(it) => {
|
|
||||||
let data = it.map(|v| v as i32).collect();
|
|
||||||
Data::I32(Cow::Owned(data))
|
|
||||||
},
|
|
||||||
fitsrs::hdu::data::DataOwned::F32(it) => {
|
|
||||||
Data::F32(Cow::Owned(it.collect()))
|
|
||||||
},
|
|
||||||
fitsrs::hdu::data::DataOwned::F64(it) => {
|
|
||||||
let data = it.map(|v| v as f32).collect();
|
|
||||||
Data::F32(Cow::Owned(data))
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Ok(Self {
|
|
||||||
// Tile size
|
|
||||||
size: Vector2::new(*width as i32, *height as i32),
|
|
||||||
|
|
||||||
// Allocation info of the layout
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_size(&self) -> &Vector2<i32> {
|
pub fn get_size(&self) -> &Vector2<i32> {
|
||||||
&self.size
|
&self.size
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Fits<'static> {
|
/*impl Fits<'static> {
|
||||||
pub async fn from_async_reader(reader: IntoAsyncRead<'static>) -> Result<Self, JsValue> {
|
pub async fn from_async_reader(reader: IntoAsyncRead<'static>) -> Result<Self, JsValue> {
|
||||||
let fitsrs::fits::AsyncFits { hdu: AsyncHDU { data, header } } = fitsrs::fits::AsyncFits::from_reader(futures::io::BufReader::new(reader))
|
let fitsrs::fits::AsyncFits { hdu: AsyncHDU { data, header } } = fitsrs::fits::AsyncFits::from_reader(futures::io::BufReader::new(reader))
|
||||||
.await
|
.await
|
||||||
@@ -168,7 +125,8 @@ impl Fits<'static> {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
use crate::Texture2DArray;
|
use crate::Texture2DArray;
|
||||||
use crate::image::Image;
|
use crate::image::Image;
|
||||||
impl Image for Fits<'_> {
|
impl Image for Fits<'_> {
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
use std::rc::Rc;
|
use std::{rc::Rc, io::Cursor};
|
||||||
impl<I> Image for Rc<I>
|
impl<I> Image for Rc<I>
|
||||||
where
|
where
|
||||||
I: Image,
|
I: Image,
|
||||||
@@ -304,7 +304,8 @@ impl Image for ImageType {
|
|||||||
unsafe { raw_bytes.set_len(num_bytes); }
|
unsafe { raw_bytes.set_len(num_bytes); }
|
||||||
raw_bytes_buf.copy_to(&mut raw_bytes[..]);
|
raw_bytes_buf.copy_to(&mut raw_bytes[..]);
|
||||||
|
|
||||||
let fits_img = Fits::from_byte_slice(raw_bytes.as_slice())?;
|
let mut bytes_reader = Cursor::new(raw_bytes.as_slice());
|
||||||
|
let fits_img = Fits::from_byte_slice(&mut bytes_reader)?;
|
||||||
fits_img.tex_sub_image_3d(textures, offset)?
|
fits_img.tex_sub_image_3d(textures, offset)?
|
||||||
},
|
},
|
||||||
ImageType::Canvas { canvas } => canvas.tex_sub_image_3d(textures, offset)?,
|
ImageType::Canvas { canvas } => canvas.tex_sub_image_3d(textures, offset)?,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ serde = { version = "^1.0.59", features = ["derive"] }
|
|||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
serde-wasm-bindgen = "0.4"
|
serde-wasm-bindgen = "0.4"
|
||||||
num = "*"
|
num = "*"
|
||||||
fitsrs = { package = "fitsrs", git = 'https://github.com/cds-astro/fitsrs', branch = 'master' }
|
fitsrs = "0.2.6"
|
||||||
num-traits = "0.2.14"
|
num-traits = "0.2.14"
|
||||||
image-decoder = { package = "image", version = "0.24.*", default-features = false, features = ["jpeg", "png"] }
|
image-decoder = { package = "image", version = "0.24.*", default-features = false, features = ["jpeg", "png"] }
|
||||||
egui = "0.15.0"
|
egui = "0.15.0"
|
||||||
|
|||||||
@@ -667,7 +667,7 @@ impl App {
|
|||||||
self.layers.refresh_views(&mut self.camera);
|
self.layers.refresh_views(&mut self.camera);
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.request_for_new_tiles && Time::now() - self.last_time_request_for_new_tiles > DeltaTime::from(500_f32) {
|
if self.request_for_new_tiles && Time::now() - self.last_time_request_for_new_tiles > DeltaTime::from(100_f32) {
|
||||||
self.look_for_new_tiles()?;
|
self.look_for_new_tiles()?;
|
||||||
|
|
||||||
self.request_for_new_tiles = false;
|
self.request_for_new_tiles = false;
|
||||||
@@ -932,117 +932,122 @@ impl App {
|
|||||||
let mut hdu_ext_idx = 0;
|
let mut hdu_ext_idx = 0;
|
||||||
let mut images_params = vec![];
|
let mut images_params = vec![];
|
||||||
|
|
||||||
if let Ok(image) = Image::from_fits_hdu_async(&gl, &mut hdu.0).await {
|
match Image::from_fits_hdu_async(&gl, &mut hdu.0).await {
|
||||||
let layer_ext = layer.clone();
|
Ok(image) => {
|
||||||
let url_ext = url.clone();
|
let layer_ext = layer.clone();
|
||||||
|
let url_ext = url.clone();
|
||||||
let fits = ImageCfg {
|
|
||||||
image: image,
|
|
||||||
layer: layer_ext,
|
|
||||||
url: url_ext,
|
|
||||||
meta: meta.clone()
|
|
||||||
};
|
|
||||||
|
|
||||||
fits_sender.send(fits).await
|
let fits = ImageCfg {
|
||||||
.unwrap();
|
image: image,
|
||||||
|
layer: layer_ext,
|
||||||
// Wait for the ack here
|
url: url_ext,
|
||||||
let image_params = ack_recv.recv().await
|
meta: meta.clone()
|
||||||
.map_err(|_| JsValue::from_str("Problem receiving fits"))?;
|
};
|
||||||
|
|
||||||
images_params.push(image_params);
|
|
||||||
|
|
||||||
let mut hdu_ext = hdu.next().await;
|
|
||||||
|
|
||||||
// Continue parsing the file extensions here
|
|
||||||
while let Ok(Some(mut xhdu)) = hdu_ext {
|
|
||||||
match &mut xhdu {
|
|
||||||
AsyncXtensionHDU::Image(xhdu_img) => {
|
|
||||||
match Image::from_fits_hdu_async(&gl, xhdu_img).await {
|
|
||||||
Ok(image) => {
|
|
||||||
let layer_ext = layer.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
|
||||||
let url_ext = url.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
|
||||||
|
|
||||||
let fits_ext = ImageCfg {
|
|
||||||
image: image,
|
|
||||||
layer: layer_ext,
|
|
||||||
url: url_ext,
|
|
||||||
meta: meta.clone()
|
|
||||||
};
|
|
||||||
|
|
||||||
fits_sender.send(fits_ext).await
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
let image_params = ack_recv.recv().await
|
|
||||||
.map_err(|_| JsValue::from_str("Problem receving fits"))?;
|
|
||||||
|
|
||||||
images_params.push(image_params);
|
|
||||||
},
|
|
||||||
Err(error) => {
|
|
||||||
al_core::log::console_warn(&
|
|
||||||
format!("The extension {hdu_ext_idx} has not been parsed, reason:")
|
|
||||||
);
|
|
||||||
|
|
||||||
al_core::log::console_warn(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_ => {
|
|
||||||
al_core::log::console_warn(&
|
|
||||||
format!("The extension {hdu_ext_idx} is a BinTable/AsciiTable and is thus discarded")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
hdu_ext_idx += 1;
|
|
||||||
|
|
||||||
hdu_ext = xhdu.next().await;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let mut hdu_ext = hdu.next().await;
|
|
||||||
|
|
||||||
while let Ok(Some(mut xhdu)) = hdu_ext {
|
|
||||||
match &mut xhdu {
|
|
||||||
AsyncXtensionHDU::Image(xhdu_img) => {
|
|
||||||
match Image::from_fits_hdu_async(&gl, xhdu_img).await {
|
|
||||||
Ok(image) => {
|
|
||||||
let layer_ext = layer.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
|
||||||
let url_ext = url.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
|
||||||
|
|
||||||
let fits_ext = ImageCfg {
|
fits_sender.send(fits).await
|
||||||
image: image,
|
.unwrap();
|
||||||
layer: layer_ext,
|
|
||||||
url: url_ext,
|
// Wait for the ack here
|
||||||
meta: meta.clone()
|
let image_params = ack_recv.recv().await
|
||||||
};
|
.map_err(|_| JsValue::from_str("Problem receiving fits"))?;
|
||||||
|
|
||||||
fits_sender.send(fits_ext).await
|
images_params.push(image_params);
|
||||||
.unwrap();
|
|
||||||
|
let mut hdu_ext = hdu.next().await;
|
||||||
let image_params = ack_recv.recv().await
|
|
||||||
.map_err(|_| JsValue::from_str("Problem receving fits"))?;
|
// Continue parsing the file extensions here
|
||||||
|
while let Ok(Some(mut xhdu)) = hdu_ext {
|
||||||
images_params.push(image_params);
|
match &mut xhdu {
|
||||||
},
|
AsyncXtensionHDU::Image(xhdu_img) => {
|
||||||
Err(error) => {
|
match Image::from_fits_hdu_async(&gl, xhdu_img).await {
|
||||||
al_core::log::console_warn(&
|
Ok(image) => {
|
||||||
format!("The extension {hdu_ext_idx} has not been parsed, reason:")
|
let layer_ext = layer.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
||||||
);
|
let url_ext = url.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
||||||
|
|
||||||
al_core::log::console_warn(error);
|
let fits_ext = ImageCfg {
|
||||||
|
image: image,
|
||||||
|
layer: layer_ext,
|
||||||
|
url: url_ext,
|
||||||
|
meta: meta.clone()
|
||||||
|
};
|
||||||
|
|
||||||
|
fits_sender.send(fits_ext).await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let image_params = ack_recv.recv().await
|
||||||
|
.map_err(|_| JsValue::from_str("Problem receving fits"))?;
|
||||||
|
|
||||||
|
images_params.push(image_params);
|
||||||
|
},
|
||||||
|
Err(error) => {
|
||||||
|
al_core::log::console_warn(&
|
||||||
|
format!("The extension {hdu_ext_idx} has not been parsed, reason:")
|
||||||
|
);
|
||||||
|
|
||||||
|
al_core::log::console_warn(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
_ => {
|
||||||
|
al_core::log::console_warn(&
|
||||||
|
format!("The extension {hdu_ext_idx} is a BinTable/AsciiTable and is thus discarded")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
|
||||||
_ => {
|
|
||||||
al_core::log::console_warn(&
|
|
||||||
format!("The extension {hdu_ext_idx} is a BinTable/AsciiTable and is thus discarded")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hdu_ext_idx += 1;
|
||||||
|
|
||||||
|
hdu_ext = xhdu.next().await;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
Err(error) => {
|
||||||
|
al_core::log::console_warn(error);
|
||||||
|
|
||||||
hdu_ext_idx += 1;
|
let mut hdu_ext = hdu.next().await;
|
||||||
|
|
||||||
hdu_ext = xhdu.next().await;
|
while let Ok(Some(mut xhdu)) = hdu_ext {
|
||||||
|
match &mut xhdu {
|
||||||
|
AsyncXtensionHDU::Image(xhdu_img) => {
|
||||||
|
match Image::from_fits_hdu_async(&gl, xhdu_img).await {
|
||||||
|
Ok(image) => {
|
||||||
|
let layer_ext = layer.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
||||||
|
let url_ext = url.clone() + "_ext_" + &format!("{hdu_ext_idx}");
|
||||||
|
|
||||||
|
let fits_ext = ImageCfg {
|
||||||
|
image: image,
|
||||||
|
layer: layer_ext,
|
||||||
|
url: url_ext,
|
||||||
|
meta: meta.clone()
|
||||||
|
};
|
||||||
|
|
||||||
|
fits_sender.send(fits_ext).await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let image_params = ack_recv.recv().await
|
||||||
|
.map_err(|_| JsValue::from_str("Problem receving fits"))?;
|
||||||
|
|
||||||
|
images_params.push(image_params);
|
||||||
|
},
|
||||||
|
Err(error) => {
|
||||||
|
al_core::log::console_warn(&
|
||||||
|
format!("The extension {hdu_ext_idx} has not been parsed, reason:")
|
||||||
|
);
|
||||||
|
|
||||||
|
al_core::log::console_warn(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_ => {
|
||||||
|
al_core::log::console_warn(&
|
||||||
|
format!("The extension {hdu_ext_idx} is a BinTable/AsciiTable and is thus discarded")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hdu_ext_idx += 1;
|
||||||
|
|
||||||
|
hdu_ext = xhdu.next().await;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1097,7 +1102,6 @@ impl App {
|
|||||||
let new_img_fmt = meta.img_format;
|
let new_img_fmt = meta.img_format;
|
||||||
self.layers.set_layer_cfg(layer.clone(), meta, &self.camera, &self.projection)?;
|
self.layers.set_layer_cfg(layer.clone(), meta, &self.camera, &self.projection)?;
|
||||||
|
|
||||||
|
|
||||||
if old_meta.img_format != new_img_fmt {
|
if old_meta.img_format != new_img_fmt {
|
||||||
// The image format has been changed
|
// The image format has been changed
|
||||||
let hips = self.layers
|
let hips = self.layers
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ fn build_range_indices(it: impl Iterator<Item=(u64, f32)> + Clone) -> Vec<RangeI
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub fn get_grid_vertices(xy_min: &(f64, f64), xy_max: &(f64, f64), max_tex_size: u64, num_tri_per_tex_patch: u64, camera: &CameraViewPort, wcs: &WCS, projection: &ProjectionType) -> (Vec<[f32; 2]>, Vec<[f32; 2]>, Vec<u32>, Vec<u32>) {
|
pub fn get_grid_vertices(xy_min: &(f64, f64), xy_max: &(f64, f64), max_tex_size: u64, num_tri_per_tex_patch: u64, camera: &CameraViewPort, wcs: &WCS, projection: &ProjectionType) -> (Vec<[f32; 2]>, Vec<[f32; 2]>, Vec<u16>, Vec<u32>) {
|
||||||
let (x_it, y_it) = get_grid_params(xy_min, xy_max, max_tex_size, num_tri_per_tex_patch);
|
let (x_it, y_it) = get_grid_params(xy_min, xy_max, max_tex_size, num_tri_per_tex_patch);
|
||||||
|
|
||||||
let idx_x_ranges = build_range_indices(x_it.clone());
|
let idx_x_ranges = build_range_indices(x_it.clone());
|
||||||
@@ -255,7 +255,7 @@ impl<'a> BuildPatchIndicesIter<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Iterator for BuildPatchIndicesIter<'a> {
|
impl<'a> Iterator for BuildPatchIndicesIter<'a> {
|
||||||
type Item = [(u32, u32, u32); 2];
|
type Item = [(u16, u16, u16); 2];
|
||||||
|
|
||||||
fn next(&mut self) -> Option<Self::Item> {
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
if self.cur_idx_x == *self.idx_x_range.end() {
|
if self.cur_idx_x == *self.idx_x_range.end() {
|
||||||
@@ -297,8 +297,8 @@ impl<'a> Iterator for BuildPatchIndicesIter<'a> {
|
|||||||
self.next() // crossing projection tri
|
self.next() // crossing projection tri
|
||||||
} else {
|
} else {
|
||||||
Some([
|
Some([
|
||||||
(idx_tl as u32, idx_tr as u32, idx_bl as u32),
|
(idx_tl as u16, idx_tr as u16, idx_bl as u16),
|
||||||
(idx_tr as u32, idx_br as u32, idx_bl as u32)
|
(idx_tr as u16, idx_br as u16, idx_bl as u16)
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ pub struct Image {
|
|||||||
/// The vertex array object of the screen in NDC
|
/// The vertex array object of the screen in NDC
|
||||||
vao: VertexArrayObject,
|
vao: VertexArrayObject,
|
||||||
num_indices: Vec<u32>,
|
num_indices: Vec<u32>,
|
||||||
indices: Vec<u32>,
|
indices: Vec<u16>,
|
||||||
pos: Vec<f32>,
|
pos: Vec<f32>,
|
||||||
uv: Vec<f32>,
|
uv: Vec<f32>,
|
||||||
|
|
||||||
@@ -84,8 +84,6 @@ impl Image {
|
|||||||
|
|
||||||
if naxis == 0 {
|
if naxis == 0 {
|
||||||
return Err(JsValue::from_str("The fits is empty, NAXIS=0"));
|
return Err(JsValue::from_str("The fits is empty, NAXIS=0"));
|
||||||
} else if naxis != 2 {
|
|
||||||
return Err(JsValue::from_str("Multi dimentional cubes are not supported"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let scale = header
|
let scale = header
|
||||||
@@ -202,7 +200,7 @@ impl Image {
|
|||||||
// Set the element buffer
|
// Set the element buffer
|
||||||
.add_element_buffer(
|
.add_element_buffer(
|
||||||
WebGl2RenderingContext::DYNAMIC_DRAW,
|
WebGl2RenderingContext::DYNAMIC_DRAW,
|
||||||
VecData::<u32>(&indices),
|
VecData::<u16>(&indices),
|
||||||
)
|
)
|
||||||
.unbind();
|
.unbind();
|
||||||
#[cfg(feature = "webgl1")]
|
#[cfg(feature = "webgl1")]
|
||||||
@@ -222,7 +220,7 @@ impl Image {
|
|||||||
// Set the element buffer
|
// Set the element buffer
|
||||||
.add_element_buffer(
|
.add_element_buffer(
|
||||||
WebGl2RenderingContext::DYNAMIC_DRAW,
|
WebGl2RenderingContext::DYNAMIC_DRAW,
|
||||||
VecData::<u32>(&indices),
|
VecData::<u16>(&indices),
|
||||||
)
|
)
|
||||||
.unbind();
|
.unbind();
|
||||||
|
|
||||||
@@ -417,7 +415,7 @@ impl Image {
|
|||||||
)
|
)
|
||||||
.update_element_array(
|
.update_element_array(
|
||||||
WebGl2RenderingContext::DYNAMIC_DRAW,
|
WebGl2RenderingContext::DYNAMIC_DRAW,
|
||||||
VecData::<u32>(&self.indices),
|
VecData::<u16>(&self.indices),
|
||||||
);
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -464,8 +462,8 @@ impl Image {
|
|||||||
.draw_elements_with_i32(
|
.draw_elements_with_i32(
|
||||||
WebGl2RenderingContext::TRIANGLES,
|
WebGl2RenderingContext::TRIANGLES,
|
||||||
Some(num_indices),
|
Some(num_indices),
|
||||||
WebGl2RenderingContext::UNSIGNED_INT,
|
WebGl2RenderingContext::UNSIGNED_SHORT,
|
||||||
((off_indices as usize) * std::mem::size_of::<u32>()) as i32,
|
((off_indices as usize) * std::mem::size_of::<u16>()) as i32,
|
||||||
);
|
);
|
||||||
|
|
||||||
off_indices += self.num_indices[idx];
|
off_indices += self.num_indices[idx];
|
||||||
|
|||||||
@@ -558,15 +558,32 @@ impl Layers {
|
|||||||
camera: &CameraViewPort,
|
camera: &CameraViewPort,
|
||||||
projection: &ProjectionType,
|
projection: &ProjectionType,
|
||||||
) -> Result<(), JsValue> {
|
) -> Result<(), JsValue> {
|
||||||
if let Some(meta_old) = self.meta.get(&layer) {
|
let layer_ref = layer.as_str();
|
||||||
|
|
||||||
|
if let Some(meta_old) = self.meta.get(layer_ref) {
|
||||||
if !meta_old.visible() && meta.visible() {
|
if !meta_old.visible() && meta.visible() {
|
||||||
if let Some(survey) = self.get_mut_hips_from_layer(&layer) {
|
if let Some(survey) = self.get_mut_hips_from_layer(layer_ref) {
|
||||||
survey.recompute_vertices(camera, projection);
|
survey.recompute_vertices(camera, projection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(image) = self.get_mut_image_from_layer(&layer) {
|
if let Some(image) = self.get_mut_image_from_layer(layer_ref) {
|
||||||
image.recompute_vertices(camera, projection)?;
|
image.recompute_vertices(camera, projection)?;
|
||||||
}
|
}
|
||||||
|
} else if meta_old.visible() && !meta.visible() {
|
||||||
|
// There is an important point here, if we hide a specific layer
|
||||||
|
// then we must recompute the vertices of the layers underneath
|
||||||
|
let layer_idx = self.layers.iter().position(|l| l == layer_ref)
|
||||||
|
.ok_or(JsValue::from_str("Expect the layer to be found!"))?;
|
||||||
|
|
||||||
|
for idx in 0..layer_idx {
|
||||||
|
let cur_layer = self.layers[idx].clone();
|
||||||
|
|
||||||
|
if let Some(survey) = self.get_mut_hips_from_layer(&cur_layer) {
|
||||||
|
survey.recompute_vertices(camera, projection);
|
||||||
|
} else if let Some(image) = self.get_mut_image_from_layer(&cur_layer) {
|
||||||
|
image.recompute_vertices(camera, projection)?;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ export let ImageFITS = (function () {
|
|||||||
// There is at least one entry in imageParams
|
// There is at least one entry in imageParams
|
||||||
self.added = true;
|
self.added = true;
|
||||||
self.children = [];
|
self.children = [];
|
||||||
|
|
||||||
let hduIdx = 0;
|
let hduIdx = 0;
|
||||||
imagesParams.forEach((imageParams) => {
|
imagesParams.forEach((imageParams) => {
|
||||||
// This fits has HDU extensions
|
// This fits has HDU extensions
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ ImageLayer.update = function (layer) {
|
|||||||
name: layer.name,
|
name: layer.name,
|
||||||
url: layer.url,
|
url: layer.url,
|
||||||
options: options,
|
options: options,
|
||||||
|
subtype: layer.subtype,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -27,18 +28,21 @@ ImageLayer.LAYERS = [
|
|||||||
name: "2MASS colored",
|
name: "2MASS colored",
|
||||||
url: "https://alasky.cds.unistra.fr/2MASS/Color",
|
url: "https://alasky.cds.unistra.fr/2MASS/Color",
|
||||||
maxOrder: 9,
|
maxOrder: 9,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/DSS2/color",
|
id: "P/DSS2/color",
|
||||||
name: "DSS colored",
|
name: "DSS colored",
|
||||||
url: "https://alasky.cds.unistra.fr/DSS/DSSColor",
|
url: "https://alasky.cds.unistra.fr/DSS/DSSColor",
|
||||||
maxOrder: 9,
|
maxOrder: 9,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/DSS2/red",
|
id: "P/DSS2/red",
|
||||||
name: "DSS2 Red (F+R)",
|
name: "DSS2 Red (F+R)",
|
||||||
url: "https://alasky.cds.unistra.fr/DSS/DSS2Merged",
|
url: "https://alasky.cds.unistra.fr/DSS/DSS2Merged",
|
||||||
maxOrder: 9,
|
maxOrder: 9,
|
||||||
|
subtype: "survey",
|
||||||
// options
|
// options
|
||||||
options: {
|
options: {
|
||||||
minCut: 1000.0,
|
minCut: 1000.0,
|
||||||
@@ -53,6 +57,7 @@ ImageLayer.LAYERS = [
|
|||||||
name: "Density map for Gaia EDR3 (I/350/gaiaedr3)",
|
name: "Density map for Gaia EDR3 (I/350/gaiaedr3)",
|
||||||
url: "https://alasky.cds.unistra.fr/ancillary/GaiaEDR3/density-map",
|
url: "https://alasky.cds.unistra.fr/ancillary/GaiaEDR3/density-map",
|
||||||
maxOrder: 7,
|
maxOrder: 7,
|
||||||
|
subtype: "survey",
|
||||||
// options
|
// options
|
||||||
options: {
|
options: {
|
||||||
minCut: 0,
|
minCut: 0,
|
||||||
@@ -67,6 +72,7 @@ ImageLayer.LAYERS = [
|
|||||||
name: "PanSTARRS DR1 g",
|
name: "PanSTARRS DR1 g",
|
||||||
url: "https://alasky.cds.unistra.fr/Pan-STARRS/DR1/g",
|
url: "https://alasky.cds.unistra.fr/Pan-STARRS/DR1/g",
|
||||||
maxOrder: 11,
|
maxOrder: 11,
|
||||||
|
subtype: "survey",
|
||||||
// options
|
// options
|
||||||
options: {
|
options: {
|
||||||
minCut: -34,
|
minCut: -34,
|
||||||
@@ -81,24 +87,28 @@ ImageLayer.LAYERS = [
|
|||||||
name: "PanSTARRS DR1 color",
|
name: "PanSTARRS DR1 color",
|
||||||
url: "https://alasky.cds.unistra.fr/Pan-STARRS/DR1/color-z-zg-g",
|
url: "https://alasky.cds.unistra.fr/Pan-STARRS/DR1/color-z-zg-g",
|
||||||
maxOrder: 11,
|
maxOrder: 11,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/DECaPS/DR1/color",
|
id: "P/DECaPS/DR1/color",
|
||||||
name: "DECaPS DR1 color",
|
name: "DECaPS DR1 color",
|
||||||
url: "https://alasky.cds.unistra.fr/DECaPS/DR1/color",
|
url: "https://alasky.cds.unistra.fr/DECaPS/DR1/color",
|
||||||
maxOrder: 11,
|
maxOrder: 11,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/Fermi/color",
|
id: "P/Fermi/color",
|
||||||
name: "Fermi color",
|
name: "Fermi color",
|
||||||
url: "https://alasky.cds.unistra.fr/Fermi/Color",
|
url: "https://alasky.cds.unistra.fr/Fermi/Color",
|
||||||
maxOrder: 3,
|
maxOrder: 3,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/Finkbeiner",
|
id: "P/Finkbeiner",
|
||||||
name: "Halpha",
|
name: "Halpha",
|
||||||
url: "https://alasky.cds.unistra.fr/FinkbeinerHalpha",
|
url: "https://alasky.cds.unistra.fr/FinkbeinerHalpha",
|
||||||
maxOrder: 3,
|
maxOrder: 3,
|
||||||
|
subtype: "survey",
|
||||||
// options
|
// options
|
||||||
options: {
|
options: {
|
||||||
minCut: -10,
|
minCut: -10,
|
||||||
@@ -112,30 +122,35 @@ ImageLayer.LAYERS = [
|
|||||||
name: "GALEXGR6_7 NUV",
|
name: "GALEXGR6_7 NUV",
|
||||||
url: "http://alasky.cds.unistra.fr/GALEX/GALEXGR6_7_NUV/",
|
url: "http://alasky.cds.unistra.fr/GALEX/GALEXGR6_7_NUV/",
|
||||||
maxOrder: 8,
|
maxOrder: 8,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/IRIS/color",
|
id: "P/IRIS/color",
|
||||||
name: "IRIS colored",
|
name: "IRIS colored",
|
||||||
url: "https://alasky.cds.unistra.fr/IRISColor",
|
url: "https://alasky.cds.unistra.fr/IRISColor",
|
||||||
maxOrder: 3,
|
maxOrder: 3,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/Mellinger/color",
|
id: "P/Mellinger/color",
|
||||||
name: "Mellinger colored",
|
name: "Mellinger colored",
|
||||||
url: "https://alasky.cds.unistra.fr/MellingerRGB",
|
url: "https://alasky.cds.unistra.fr/MellingerRGB",
|
||||||
maxOrder: 4,
|
maxOrder: 4,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/SDSS9/color",
|
id: "P/SDSS9/color",
|
||||||
name: "SDSS9 colored",
|
name: "SDSS9 colored",
|
||||||
url: "https://alasky.cds.unistra.fr/SDSS/DR9/color",
|
url: "https://alasky.cds.unistra.fr/SDSS/DR9/color",
|
||||||
maxOrder: 10,
|
maxOrder: 10,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/SDSS9/g",
|
id: "P/SDSS9/g",
|
||||||
name: "SDSS9 band-g",
|
name: "SDSS9 band-g",
|
||||||
url: "https://alasky.cds.unistra.fr/SDSS/DR9/band-g",
|
url: "https://alasky.cds.unistra.fr/SDSS/DR9/band-g",
|
||||||
maxOrder: 10,
|
maxOrder: 10,
|
||||||
|
subtype: "survey",
|
||||||
options: {
|
options: {
|
||||||
stretch: 'asinh',
|
stretch: 'asinh',
|
||||||
colormap: "redtemperature",
|
colormap: "redtemperature",
|
||||||
@@ -147,12 +162,14 @@ ImageLayer.LAYERS = [
|
|||||||
name: "IRAC color I1,I2,I4 - (GLIMPSE, SAGE, SAGE-SMC, SINGS)",
|
name: "IRAC color I1,I2,I4 - (GLIMPSE, SAGE, SAGE-SMC, SINGS)",
|
||||||
url: "http://alasky.cds.unistra.fr/Spitzer/SpitzerI1I2I4color/",
|
url: "http://alasky.cds.unistra.fr/Spitzer/SpitzerI1I2I4color/",
|
||||||
maxOrder: 9,
|
maxOrder: 9,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/VTSS/Ha",
|
id: "P/VTSS/Ha",
|
||||||
name: "VTSS-Ha",
|
name: "VTSS-Ha",
|
||||||
url: "https://alasky.cds.unistra.fr/VTSS/Ha",
|
url: "https://alasky.cds.unistra.fr/VTSS/Ha",
|
||||||
maxOrder: 3,
|
maxOrder: 3,
|
||||||
|
subtype: "survey",
|
||||||
options: {
|
options: {
|
||||||
minCut: -10.0,
|
minCut: -10.0,
|
||||||
maxCut: 100.0,
|
maxCut: 100.0,
|
||||||
@@ -165,12 +182,14 @@ ImageLayer.LAYERS = [
|
|||||||
name: "XMM PN colored",
|
name: "XMM PN colored",
|
||||||
url: "https://alasky.cds.unistra.fr/cgi/JSONProxy?url=https://saada.unistra.fr/PNColor",
|
url: "https://alasky.cds.unistra.fr/cgi/JSONProxy?url=https://saada.unistra.fr/PNColor",
|
||||||
maxOrder: 7,
|
maxOrder: 7,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/allWISE/color",
|
id: "P/allWISE/color",
|
||||||
name: "AllWISE color",
|
name: "AllWISE color",
|
||||||
url: "https://alasky.cds.unistra.fr/AllWISE/RGB-W4-W2-W1/",
|
url: "https://alasky.cds.unistra.fr/AllWISE/RGB-W4-W2-W1/",
|
||||||
maxOrder: 8,
|
maxOrder: 8,
|
||||||
|
subtype: "survey",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "P/GLIMPSE360",
|
id: "P/GLIMPSE360",
|
||||||
@@ -178,6 +197,7 @@ ImageLayer.LAYERS = [
|
|||||||
// This domain is not giving the CORS headers
|
// This domain is not giving the CORS headers
|
||||||
// We need to query by with a proxy equipped with CORS header.
|
// We need to query by with a proxy equipped with CORS header.
|
||||||
url: "https://alasky.cds.unistra.fr/cgi/JSONProxy?url=https://www.spitzer.caltech.edu/glimpse360/aladin/data",
|
url: "https://alasky.cds.unistra.fr/cgi/JSONProxy?url=https://www.spitzer.caltech.edu/glimpse360/aladin/data",
|
||||||
|
subtype: "survey",
|
||||||
options: {
|
options: {
|
||||||
maxOrder: 9,
|
maxOrder: 9,
|
||||||
imgFormat: "jpg",
|
imgFormat: "jpg",
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ export let URLBuilder = (function() {
|
|||||||
},
|
},
|
||||||
|
|
||||||
buildVizieRCSURL: function(vizCatId, target, radiusDegrees, options) {
|
buildVizieRCSURL: function(vizCatId, target, radiusDegrees, options) {
|
||||||
console.log(target)
|
|
||||||
if (target && (typeof target === "object")) {
|
if (target && (typeof target === "object")) {
|
||||||
if ('ra' in target && 'dec' in target) {
|
if ('ra' in target && 'dec' in target) {
|
||||||
var coo = new Coo(target.ra, target.dec, 7);
|
var coo = new Coo(target.ra, target.dec, 7);
|
||||||
@@ -65,6 +64,8 @@ export let URLBuilder = (function() {
|
|||||||
maxNbSources = parseInt(options.limit);
|
maxNbSources = parseInt(options.limit);
|
||||||
}
|
}
|
||||||
return 'https://vizier.unistra.fr/viz-bin/votable/A?-source=' + vizCatId + '&-c=' + encodeURIComponent(target) + '&-out.max=' + maxNbSources + '&-c.rd=' + radiusDegrees;
|
return 'https://vizier.unistra.fr/viz-bin/votable/A?-source=' + vizCatId + '&-c=' + encodeURIComponent(target) + '&-out.max=' + maxNbSources + '&-c.rd=' + radiusDegrees;
|
||||||
|
//return 'https://vizier.unistra.fr/viz-bin/conesearch/' + vizCatId + '?ra=' + target.ra + '&dec=' + target.dec + '&sr=' + radiusDegrees;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
buildSkyBotCSURL: function(ra, dec, radius, epoch, queryOptions) {
|
buildSkyBotCSURL: function(ra, dec, radius, epoch, queryOptions) {
|
||||||
|
|||||||
@@ -871,10 +871,10 @@ export let View = (function () {
|
|||||||
// touchpad
|
// touchpad
|
||||||
newTime = new Date().getTime();
|
newTime = new Date().getTime();
|
||||||
|
|
||||||
if ( newTime - oldTime > 20 ) {
|
//if ( newTime - oldTime > 20 ) {
|
||||||
triggerZoom(0.005);
|
triggerZoom(0.002);
|
||||||
oldTime = new Date().getTime();
|
oldTime = new Date().getTime();
|
||||||
}
|
//}
|
||||||
} else {
|
} else {
|
||||||
// mouse
|
// mouse
|
||||||
triggerZoom(0.007);
|
triggerZoom(0.007);
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export class HiPSLayer {
|
|||||||
let layer;
|
let layer;
|
||||||
|
|
||||||
// Max order is specific for surveys
|
// Max order is specific for surveys
|
||||||
if (!cfg.maxOrder) {
|
if (cfg.subtype === "fits") {
|
||||||
// FITS
|
// FITS
|
||||||
layer = self.aladin.createImageFITS(
|
layer = self.aladin.createImageFITS(
|
||||||
cfg.url,
|
cfg.url,
|
||||||
|
|||||||
Reference in New Issue
Block a user