Compare commits

...

432 Commits

Author SHA1 Message Date
Matthieu Baumann
5efcb20b5c tag 3.3.0 2024-03-25 17:13:37 +01:00
Matthieu Baumann
0a6686835a fix some ui positioning 2024-03-25 17:10:07 +01:00
Matthieu Baumann
e133f36fef fix setImageSurvey + UI change default element position 2024-03-25 11:51:49 +01:00
Thomas Boch
a7773b4618 Fix: fix link on feature name for planetary pointer, when body is earth 2024-03-25 09:58:26 +01:00
Matthieu Baumann
a3cea97d61 fix recursive triggering of the resize observer 2024-03-22 18:58:46 +01:00
Matthieu Baumann
328923cbb2 remove some console log 2024-03-22 15:14:09 +01:00
Matthieu Baumann
856fc84025 add entry point for AladinUtils object 2024-03-22 15:12:02 +01:00
Matthieu Baumann
7ad1e56912 remove some console.log 2024-03-22 11:03:12 +01:00
Matthieu Baumann
c2bb0980af fix planetary pointer + enhance fast display when changing the hips 2024-03-22 11:02:05 +01:00
Thomas Boch
4ea8530528 Add link to nominatim OSM when displaying result for earth "pointer" 2024-03-21 11:31:13 +01:00
MARCHAND MANON
7c27227d60 docs: edit compilation instructions
avoid git clean -fd
2024-03-18 10:14:22 +01:00
Matthieu Baumann
54199ceadc add more instructions in the readme.md for users wanting to build aladin lite from scratch 2024-03-16 15:33:25 +01:00
Matthieu Baumann
12c71624e7 set the font size to 1rem in search text boxes 2024-03-16 15:16:03 +01:00
Matthieu Baumann
2c50214a4e enhance doc, ui (tooltip new delay time param) 2024-03-15 19:31:33 +01:00
Matthieu Baumann
a421453078 DOC: add more precision in the jsdoc for creating HiPS surveys and adding them to the view 2024-03-15 11:20:43 +01:00
Matthieu Baumann
f0c3bfc9f6 fix to make the tests pass 2024-03-15 00:05:56 +01:00
Matthieu Baumann
389654ba39 Refac and fix UI and cooFrame problems, add API doc too 2024-03-14 19:52:28 +01:00
Matthieu Baumann
2b618ff38d Merge remote-tracking branch 'origin/develop' into develop 2024-03-14 19:51:18 +01:00
MARCHAND MANON
19fa8f3a27 docs: add labelColumn to the catalog documentation 2024-03-14 09:23:29 +01:00
Matthieu Baumann
84a4d357c0 fix settings features enabled at init 2024-03-12 14:34:53 +01:00
Matthieu Baumann
63ab255003 update building instructions, rust nightly is needed 2024-03-12 09:50:40 +01:00
Matthieu Baumann
cc97efa707 fix box apparition and fix cooFrame update UI selector 2024-03-12 09:45:26 +01:00
Matthieu Baumann
7e581db86d restore setFovRange #138 2024-03-11 15:10:36 +01:00
Matthieu Baumann
ee43d0a786 version changed for npm 2024-03-11 13:47:40 +01:00
Matthieu Baumann
90d49dbad9 fix bug vscode jupyter on text input: suppr delete the widget 2024-03-11 13:44:55 +01:00
Matthieu Baumann
473d60608f fix and add doc concerning UI A.button and A.box methods 2024-03-11 13:44:55 +01:00
Matthieu Baumann
56dbb6656a add css classes for status bar, fullscreen, projection, share view button, location and FoV 2024-03-11 13:44:55 +01:00
Matthieu Baumann
d6e4e875a3 fix edit box and simplify the stack control 2024-03-11 13:44:55 +01:00
Matthieu Baumann
87ac26a30c CSS class (specified in the API doc) for the SimbadPointer, Stack, Grid and Settings control buttons 2024-03-09 09:27:58 +01:00
MARCHAND MANON
74d71fd666 refactor: move defautl gridOptions back in Aladin.DEFAULT_OPTIONS 2024-03-08 11:17:18 +01:00
MARCHAND MANON
f86c621a2e fix: fix grid options
the parameters gridColor, gridOpacity, and gridOptions.showLabels are no longer ignored

add gridOptions to the API description

edit default values for the grid to fit the aladin style a bit better
2024-03-08 11:17:18 +01:00
Matthieu Baumann
664dcf9647 fix for ipyaladin: initialize correctly aladin lite inside a div detached from the DOM 2024-03-07 17:11:08 +01:00
MARCHAND MANON
82d7276252 docs: add missing showCooGrid parameter in doc 2024-03-06 17:51:48 +01:00
Matthieu Baumann
0f300b908a 3.3.1-beta 2024-03-06 12:28:12 +01:00
Matthieu Baumann
acb4946d72 do not replace the text with the mouse position in Location when the input is focused 2024-03-06 12:13:57 +01:00
Matthieu Baumann
442806de6d remove of document.querySelector so that we only base the selectors on the aladinDiv given at the instanciation of aladin lite 2024-03-06 12:02:08 +01:00
Matthieu Baumann
e59dd316bb change version to 3.3.0-beta before pushing to npm 2024-03-05 17:41:22 +01:00
Matthieu Baumann
391c75d09d Update README.md 2024-03-05 16:46:25 +01:00
Matthieu Baumann
b7f1d83cbf fix npm publish deployment action 2024-03-05 16:44:18 +01:00
Matthieu Baumann
8330e916cb update from edge16 to edge18 to make the ci pass ? 2024-03-05 14:06:56 +01:00
Matthieu Baumann
fae476166b try to fix testing ci 2024-03-05 11:41:39 +01:00
Matthieu Baumann
f8ee02a604 bind fov and zoom controls to showFov and showZoomControl aladin lite init options 2024-03-05 11:19:30 +01:00
Matthieu Baumann
01c2a607ee add svg icon for context menu sub menu indications 2024-03-05 10:54:40 +01:00
Matthieu Baumann
54a37752f8 update changelog 2024-03-05 08:10:49 +01:00
Matthieu Baumann
3260b06bd6 update changelog 2024-03-05 08:08:55 +01:00
Matthieu Baumann
f291b750ed update changelog 2024-03-05 07:59:01 +01:00
Matthieu Baumann
aa7e98df8a changelog and Aladin.select api 2024-03-04 11:02:38 +01:00
Matthieu Baumann
3ae31a9c88 add readme to the doc 2024-03-04 10:21:10 +01:00
Matthieu Baumann
71e25d42f3 fix ui thanks to testing with ipyaladin + move some old data for the examples 2024-03-04 09:31:07 +01:00
Matthieu Baumann
2100be7f92 Update api_doc.yml 2024-03-04 09:11:59 +01:00
Matthieu Baumann
95b002f688 Update api_doc.yml 2024-03-03 21:49:57 +01:00
Matthieu Baumann
fbc5540735 Update api_doc.yml 2024-03-03 21:48:16 +01:00
Matthieu Baumann
7faf265d64 Create api_doc.yml 2024-03-03 21:07:17 +01:00
Matthieu Baumann
8d248e817a fix bugs found in ipyaladin 2024-03-01 19:37:22 +01:00
Matthieu Baumann
c416e85134 menu contextuel blocked in the div 2024-02-29 22:15:13 +01:00
Matthieu Baumann
405307fe0b Update README.md 2024-02-29 18:16:49 +01:00
Matthieu Baumann
f0b3db4769 use new simbad cone search 2024-02-29 18:13:22 +01:00
Matthieu Baumann
2fe554be22 simbad cone search requesting https://simbad.cds.unistra.fr/cone 2024-02-29 18:13:22 +01:00
Matthieu Baumann
360f80c789 long touch + UI refinements 2024-02-29 18:13:22 +01:00
Matthieu Baumann
cb7cd1636a add mode on the grid and simbad pointer button 2024-02-29 18:13:22 +01:00
Matthieu Baumann
12e2f1c340 fix UI from recommendation 2024-02-29 18:13:22 +01:00
Matthieu Baumann
90da2e3a05 fix ui 2024-02-29 18:13:22 +01:00
Matthieu Baumann
96425ec9b2 fix samp send sources 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5f3bb19bfa ui fixes, testing 2024-02-29 18:13:22 +01:00
Matthieu Baumann
c43ca6faf1 UI: adapt for mobile device 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8863ebb0d1 fix what is this by sending to action the mouse event of the right click 2024-02-29 18:13:22 +01:00
Matthieu Baumann
a5da99c99f add status box ui element 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5fe5c377b8 add example 2024-02-29 18:13:22 +01:00
Matthieu Baumann
cc1126b2c0 limit number of projections, add basic healpix methods and wip of the api doc 2024-02-29 18:13:22 +01:00
Matthieu Baumann
6bbf406f3e working on a jsdoc formatted api documentation 2024-02-29 18:13:22 +01:00
Matthieu Baumann
14ccc6b5a0 fix from the tests 2024-02-29 18:13:22 +01:00
Matthieu Baumann
37bf5d94da add jsdoc routine 2024-02-29 18:13:22 +01:00
Matthieu Baumann
b3e9254321 fix import Toolbar 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5c5af162f4 remove jQuery, ui refac, A.toolbar and A.button new classes 2024-02-29 18:13:22 +01:00
Matthieu Baumann
057a1df431 major UI commit 2024-02-29 18:13:22 +01:00
Matthieu Baumann
b69016b049 refactorize UI code 2024-02-29 18:13:22 +01:00
Matthieu Baumann
2aaf917e04 enhance samp connexion 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8831336ca2 UI: stack layer WIP 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5bfe863712 fix: set cuts before FITS HiPS has not been loaded 2024-02-29 18:13:22 +01:00
Matthieu Baumann
1f58d490e7 add Horizontal layout 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8484063f15 UI: fix delete overlay 2024-02-29 18:13:22 +01:00
Matthieu Baumann
e12481c6ac swap 2 dom elements code 2024-02-29 18:13:22 +01:00
Matthieu Baumann
4d611f18f9 allow to overwrite the display of specific fields in MeasurementTable.js 2024-02-29 18:13:22 +01:00
Matthieu Baumann
c7dbe04990 modify the datalink & measurement table show to display better links towards the SODA form 2024-02-29 18:13:22 +01:00
Matthieu Baumann
4630fb41ae add some ui widgets 2024-02-29 18:13:22 +01:00
Matthieu Baumann
d55f47fcf6 fix hover line thickness 2024-02-29 18:13:22 +01:00
Matthieu Baumann
479918c9b8 add circular selection 2024-02-29 18:13:22 +01:00
Matthieu Baumann
a1e5f924ee simple SODA resource parsing and window form 2024-02-29 18:13:22 +01:00
Matthieu Baumann
6a07a2560d Update README.md
Add release page info
2024-02-29 15:54:30 +01:00
Thomas Boch
cff74cbff1 Fix typo in feature radius calculation 2024-02-08 16:37:31 +01:00
szpetny
ede4822fa9 Allow to create coo and footprint object 2023-11-29 13:52:11 +01:00
Matthieu Baumann
c4756691b1 triggers positionchanged when calling move functions from the API 2023-11-29 09:58:57 +01:00
Matthieu Baumann
965373e770 fix: import A in samp.js 2023-11-21 15:13:23 +01:00
Matthieu Baumann
02a23ea955 add subscribers 2023-11-21 09:54:05 +01:00
Matthieu Baumann
6f6024fbdd first SAMP commit 2023-11-21 09:54:05 +01:00
MARCHAND MANON
60d15674e2 rename longName into label 2023-11-08 18:33:35 +01:00
MARCHAND MANON
c9b64410fd do the planetary case + stick to WCS standard 2023-11-08 18:33:35 +01:00
MARCHAND MANON
3b59abb36e add tooltip with the projection name in the projection selector menu 2023-11-08 18:33:35 +01:00
MARCHAND MANON
1ae4114360 treat the planetary body case 2023-11-08 18:33:35 +01:00
MARCHAND MANON
371f81e538 fix sign of CD1_1 2023-11-08 18:33:35 +01:00
MARCHAND MANON
9a03f8e452 add missing 'PAR' and 'SFL' projections to the setProjection method 2023-11-08 18:33:35 +01:00
MARCHAND MANON
c2dc476321 clean getFov 2023-11-08 18:33:35 +01:00
MARCHAND MANON
d2b444250e fix CRVALs for galactic coordinates 2023-11-08 18:33:35 +01:00
MARCHAND MANON
8141d50393 fix getFov that was capped at 180° [skip ci] 2023-11-08 18:33:35 +01:00
MARCHAND MANON
5f29eac996 fix getFov that had a limitation to 180° 2023-11-08 18:33:35 +01:00
MARCHAND MANON
43c9d7f124 rename getCooFrame into getFrame 2023-11-08 18:33:35 +01:00
MARCHAND MANON
f9954325dd fix padding 2023-11-08 18:33:35 +01:00
MARCHAND MANON
73da429ce0 update getViewWCS to adapt to projection 2023-11-08 18:33:35 +01:00
Matthieu Baumann
328129896f force MOC.fill = true if opacity is defined 2023-10-23 10:14:28 +02:00
Matthieu Baumann
733f81fc6b big circle draw fix for #126. Try to make the source inside the circle 2023-10-23 10:00:13 +02:00
Matthieu Baumann
bda3e50a8d do not call update 2x on the hipses, render the raytracer with depth=1 too 2023-09-27 16:23:24 +02:00
Matthieu Baumann
1981721b05 change default background color to 'rgb(60, 60, 60)', fix #106 2023-09-27 15:45:52 +02:00
Matthieu Baumann
09d35f5918 Important commit: modify bundling config to add support older browsers. Should correspond to 2017 2023-09-27 15:37:41 +02:00
Matthieu Baumann
9137effc3a factorize code by handling reversed_longitude directly when projecting. Should fix #115 2023-09-27 15:33:19 +02:00
Matthieu Baumann
0f619156e6 fix animation test by fetching tiles every 700ms when moving. The fetching remains still disabled when inertia is on 2023-09-26 16:52:22 +02:00
Matthieu Baumann
d62720d0bd change version to a bugfix one 2023-09-26 14:30:38 +02:00
Matthieu Baumann
94cad9b878 remove deploy script on git 2023-09-26 11:32:48 +02:00
Matthieu Baumann
dcafbd7b91 revert seeking properties with a txt extension 2023-09-26 11:25:14 +02:00
Matthieu Baumann
c42ac03836 fix polyfill in sin proj 2023-09-22 17:04:51 +02:00
Matthieu Baumann
13a6037882 Polyline: add hpx code to remove drawing lines in between 2 different collinion zone 2023-09-22 17:04:51 +02:00
szpetny
5a90d9705c all sky with polygons HPX MOL - examples added 2023-09-22 17:04:51 +02:00
szpetny
7dec2fd9be A proposal of a new feature - let the polygon to be filled in with a given color with given transparency 2023-09-22 17:04:51 +02:00
szpetny
43a8bf0e6e examples fixed 2023-09-20 19:28:42 +02:00
szpetny
01aff09511 expose mouse coords in callbacks for source/footprint click and hover 2023-09-20 19:28:42 +02:00
Matthieu Baumann
7a52a9f962 Fix #123, difficulty to get the radius in pixel of a circle at the edge of a projection. My solution: I project 4 vertices on the circle lying in the cardinal points N, S, E, W and I take as radius the minimal distance between the circle center and one these vertices lying on the circle 2023-09-14 06:20:07 +02:00
Matthieu Baumann
3bda0fcd75 Merge pull request #118 from szpetny/draw-function-fixes
Small changed regarding drawing a footprint
2023-08-31 16:55:53 +02:00
Matthieu Baumann
d6e753ee85 Merge pull request #117 from szpetny/read-only-catalog
read only catalog option
2023-08-28 15:42:18 +02:00
szpetny
98b0d0dff6 setOverlay added to Footprint bc draw function fails when it is lacking,
improvement - reading lineWidth from overlay if not specified in shape
2023-08-22 16:29:06 +02:00
szpetny
5364eaf124 read only catalog option 2023-08-22 16:08:14 +02:00
Matthieu Baumann
c35c20d241 update the deploy 2023-08-22 14:50:46 +02:00
Matthieu Baumann
be619b3e8c fix relMouseCoords when rightclicking to make the context menu appear again 2023-08-22 14:42:00 +02:00
Matthieu Baumann
62633d01bc fix of a weird resize problem occuring when accessing the gridCanvas. This has been reported by Robin MENEUST from obspm 2023-08-15 18:25:49 +02:00
Matthieu Baumann
bc1096fce3 Aladin lite: v3.2.0
Features:
- The use of vite as a project manager
- Enhance the MOC rendering perf and add possibility to draw the perimeter
- Many fixes such as the footprints rendering for all sky projections
- A line rasterizer enabling the thickness' grid line changes
2023-08-13 14:10:44 +02:00
Matthieu Baumann
7d5696228d remove engines in package json 2023-08-12 19:14:44 +02:00
Matthieu Baumann
08699a9bd5 Merge branch 'develop' into develop 2023-08-12 19:00:28 +02:00
Matthieu Baumann
fc6a09e373 Fix rebase 2023-08-12 15:26:54 +02:00
Matthieu Baumann
a8a86a2952 Merge branch 'develop' into develop 2023-08-12 15:18:38 +02:00
Matthieu Baumann
cc958bfa2d Corrected ESASky link in README
Redo PR #104 commit directly on develop

Co-authored-by: imbasimba <https://www.henriknorman.com>
2023-08-12 15:06:13 +02:00
Matthieu Baumann
6c4ddce6b0 Merge pull request #113 from cds-astro/features/lineRasterizer
Features/line rasterizer
2023-08-12 15:04:17 +02:00
Matthieu Baumann
a4e4ec85af fix tests 2023-08-12 14:57:41 +02:00
Matthieu Baumann
b31bb18027 points to votable repo 2023-08-12 14:51:56 +02:00
Matthieu Baumann
de66d28061 points to forked github repo 2023-08-12 14:20:54 +02:00
Matthieu Baumann
ffdeb0ac2a fix footprints example 2023-08-11 18:16:05 +02:00
Matthieu Baumann
56e6fa80d5 fix lat=0.0 parallel 2023-08-11 15:52:46 +02:00
Matthieu Baumann
31348c12c6 fix some cuts default init problems 2023-08-10 11:35:23 +02:00
onekiloparsec
c1b2bd24b9 Reverting the insertion of /.idea into the gitignore.
It can be anaged individually.
2023-08-03 13:31:34 +02:00
Manon
46573a23da fix draw 2023-08-01 10:08:15 +02:00
Matthieu Baumann
3bba90f3d1 adapt tests 2023-07-28 13:31:34 +02:00
Matthieu Baumann
c58876e21d remove some logs 2023-07-28 13:31:34 +02:00
Matthieu Baumann
9ef1f2ac09 cargo fix 2023-07-28 13:31:34 +02:00
Matthieu Baumann
a2a09c7506 fix fill MOC 2023-07-28 13:31:34 +02:00
Matthieu Baumann
bd9845fab1 Enhance moc render with new optional parameter: perimeter, edge (default) and fill, with a fillColor javascript param 2023-07-28 13:31:34 +02:00
Matthieu Baumann
bb7513a959 wip perimeter moc draw 2023-07-28 13:31:34 +02:00
Matthieu Baumann
526cf51c4c enhance grid wip 2023-07-28 13:31:34 +02:00
Matthieu Baumann
163dd7d762 first commit 2023-07-28 13:31:34 +02:00
Cédric Foellmi
121f4345bc Update src/js/gui/ContextMenu.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:47 +02:00
Cédric Foellmi
0665f2b65f Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:38 +02:00
Cédric Foellmi
a58fb1dd8a Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:29 +02:00
Cédric Foellmi
466472a1a7 Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:14 +02:00
Cédric Foellmi
540f4e33be Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:04 +02:00
Cédric Foellmi
0b92b6d1db Update src/js/GenericPointer.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:00:38 +02:00
Cédric Foellmi
06dcc126f9 Fixed import
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
04e552b7c3 Making a first test passing!
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
1bee9c8b77 Ignoring .idea (PyCharm/WebStorm)
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
c77f2aeda8 Making a dedicated dependency-free Constants file to avoid Utils import Aladin.js!
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
57c1b8423d Linting
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
ebf2d06f31 Using the Utils methods also in the examples
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
5d0ec40612 Fixing imports
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
82b2eb0423 Using the new Utils method
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
2dc6f17c7d Renaming Utils.js into Utils.ts and correcting related imports.
Note that the content of Utils.ts has also been changed. More pecisely:

- `relMouseCoords` has been set as a function of the Utils object, to avoid attaching it to canvas prototype. This was very custom way of doing, and makes testing very complicated to run, while providing no real value.

- Removed the jQuery dependency and made `urlParam` a function of the Utils object.

- Added some types when possible / easy. But TS already reveal the misuse of some function sur as `parseInt` and `parseFloat` (which act on strings, not numbers)

Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:15 +02:00
Cédric Foellmi
402e270015 Introducing typescript & vitest
In order to push upward the code quailty of the Javascript code, I propose to introduce Typescript and Vitest for writing unit tests.

This first commit simply introduce the right dependencies and configuration.

Note the presence of “happy-dom” dev dep for manipulating the window object (which is involved in the first test written on Utils).

Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:07:21 +02:00
Matthieu Baumann
7cfbb83883 Add possibility to download the PNG export from javascript API 2023-07-11 10:53:07 +02:00
MARCHAND MANON
ba8acf4a99 fix color of context menu 2023-07-04 18:25:12 +02:00
MARCHAND MANON
d570301b1d add the target button in svg format 2023-07-04 18:25:12 +02:00
Matthieu Baumann
41f381ab2b add filter option for Catalog object #80 2023-06-06 10:26:37 +02:00
Matthieu Baumann
dbf8c8dbeb remove terser from dev dep 2023-05-26 18:51:07 +02:00
Matthieu Baumann
5ef2991310 Conditional export for CJS (require)
Requested in #93

Co-authored-by: diego-ge
2023-05-26 18:47:57 +02:00
Matthieu Baumann
aa9dfe632e change the deploy 2023-05-26 18:43:40 +02:00
Matthieu Baumann
78ff815e9b npm pack 2023-05-26 18:35:21 +02:00
Matthieu Baumann
ead34d5944 add formats info 2023-05-26 18:16:02 +02:00
Matthieu Baumann
d363882308 update workflow 2023-05-26 18:16:02 +02:00
Matthieu Baumann
a80bff6289 use the umd version for index.html 2023-05-26 18:16:02 +02:00
Matthieu Baumann
05ddeb8f7d include only js files into the npm package 2023-05-26 18:16:02 +02:00
bmatthieu3
6cce07cdfd update ci [ci skip] 2023-05-26 18:16:02 +02:00
bmatthieu3
eedb5b2bdf npm install and source rustup 2023-05-26 18:16:02 +02:00
bmatthieu3
4cf94eaf1a add some ci (TO TEST) 2023-05-26 18:16:02 +02:00
bmatthieu3
fbb4d760a4 remove webpack config file 2023-05-26 18:16:02 +02:00
bmatthieu3
30b87b2464 update readme 2023-05-26 18:16:02 +02:00
bmatthieu3
54bb0be16e update readme with new npm usage instructions 2023-05-26 18:16:02 +02:00
bmatthieu3
4808f84b37 fix: import A when it is necessary 2023-05-26 18:16:02 +02:00
bmatthieu3
fa52c39d7c update readme 2023-05-26 18:16:02 +02:00
bmatthieu3
bcfe829b03 use vite producing es and umd aladin lite module types. The umd is consistent with what is being used since a long time (including manually the aladin lite script) 2023-05-26 18:16:02 +02:00
bmatthieu3
6b0f4e4b60 Commit related to PR #90. We first check the clockwise order of the footprints in the celestial space first. 2023-05-23 11:46:01 +02:00
bmatthieu3
eaebc78cb7 update to fitsrs 0.2.9 2023-05-22 16:41:54 +02:00
bmatthieu3
9b3f4e8803 unrelated to this PR: the rust code handles the -pi -> pi to 0 -> 360deg ra remapping 2023-05-22 15:56:01 +02:00
Henrik Norman
44ac866ce6 Removed block of context menus. Also added handling of touchcancel
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-22 15:56:01 +02:00
Matthieu Baumann
34aa6faa89 Merge pull request #90 from cds-astro/removeCrossingPolygonEdges
check for ccw order for every 3 vertices
2023-05-20 00:10:39 +02:00
bmatthieu3
42243edf65 check for ccw order for every 3 vertices 2023-05-19 23:59:39 +02:00
Matthieu Baumann
7833ffd9da Merge pull request #48 from imbasimba/customizationOfShapes
Customize colors, sizes, and shape types
2023-05-17 18:01:26 +02:00
Henrik Norman
861c224c7a Customize colors, sizes, and shape types
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-17 17:56:54 +02:00
Matthieu Baumann
f2daa68054 Merge pull request #44 from imbasimba/moreEvents
Added events for mouse move & coordinate frame change
2023-05-17 15:14:27 +02:00
bmatthieu3
44343e36bb closest objects needs to be done at every mousemove to change the pointer. 2023-05-17 15:07:54 +02:00
bmatthieu3
fde0b5bc68 right click move new event listener that replaces the change of cuts 2023-05-17 14:37:30 +02:00
bmatthieu3
57774e8aed call positionChanged callback when inerting too 2023-05-17 14:12:52 +02:00
Matthieu BAUMANN
f96a3667bc Create an objectHoveredStop with the object that we do not hover event instead of calling objectHovered with null 2023-05-17 14:12:50 +02:00
Henrik Norman
4ae7edb6e9 Added events for mouse move & coordinate frame change
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-17 14:11:19 +02:00
bmatthieu3
923efe3133 wait for the properties to be fetched before determining if sesame or the planetary name solver must be called 2023-05-17 13:39:25 +02:00
bmatthieu3
e7a098c257 do not compute closest object when the objectHovered or footprintHovered is not defined 2023-05-17 13:34:12 +02:00
Matthieu Baumann
2678750643 Merge pull request #42 from imbasimba/noHoverOnHiddenFootprints
Hidden footprints can no longer be considered as closest
2023-05-16 22:41:04 +02:00
Henrik Norman
4ad1963ee1 Hidden footprints can no longer be considered as closest
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-16 22:37:53 +02:00
Matthieu Baumann
12aa7fe117 Merge pull request #87 from cds-astro/resolveHoverFootprints
Resolve hover footprints
2023-05-16 22:18:33 +02:00
bmatthieu3
910678aa84 select footprints 2023-05-16 21:58:26 +02:00
bmatthieu3
0441726f1f hover footprints 2023-05-16 16:46:23 +02:00
bmatthieu3
d192f0cedc fix hovering footprint 2023-05-16 15:54:29 +02:00
Matthieu Baumann
140ec0d409 Merge pull request #58 from szpetny/errCallbackForCatalogFromURL
handle error inside catalogFromURL
2023-05-16 10:24:55 +02:00
bmatthieu3
706ea7a672 Add error callback for catalogFromVizier, catalogFromSimbad/NED/SkyBot. Use the proxy for NED queries
Co-authored-by: szpetny <>
2023-05-16 10:22:37 +02:00
bmatthieu3
c18c586f5d fix: artefacts cell projection 2023-05-15 13:59:06 +02:00
Matthieu Baumann
1ba13cb3ca Merge pull request #85 from cds-astro/background-color
Set background color api
2023-05-14 21:37:55 +02:00
bmatthieu3
b517ad74c0 set background color from api and send special color changed event 2023-05-14 20:17:04 +02:00
bmatthieu3
849b1d45a1 request for s_region when querying a vizier table by a cone search 2023-05-14 11:15:00 +02:00
Matthieu BAUMANN
e96b11c5e2 uniformize css a little bit 2023-05-08 20:44:14 +02:00
Matthieu BAUMANN
41b31db949 cut too long layer label names with ... 2023-05-08 16:36:41 +02:00
Matthieu BAUMANN
c7ae41948e fix: possibility to pass a unique Source object to addSources 2023-05-08 10:00:54 +02:00
Matthieu BAUMANN
e7781b97ed fix: rewrite table header when changing the tab 2023-05-08 00:20:13 +02:00
Matthieu BAUMANN
89778fc0f3 vizier option to return all the columns of the table 2023-05-07 23:19:29 +02:00
Matthieu BAUMANN
af0ea6b578 make aladin lite indicator css self contained 2023-05-07 11:05:38 +02:00
Matthieu BAUMANN
99634bb23d download file by default when the access_format is not recognized 2023-05-06 20:40:49 +02:00
Matthieu BAUMANN
6178bfd201 readd rainbow colormap 2023-05-06 19:11:09 +02:00
Matthieu BAUMANN
98e055b78a change ui 2023-05-06 18:46:10 +02:00
Matthieu BAUMANN
45a53cd57e fix: do not draw 2 times order3sources if maxOrderAllsky=2 2023-05-06 17:01:31 +02:00
Matthieu BAUMANN
60c7909b25 create catalog fields in addSources if not computed before 2023-05-05 23:13:41 +02:00
Matthieu BAUMANN
2a617849d2 fix case where base layer is an ImageFITS. It was entering planet case because isPlanetaryBody is undefined which is !== false 2023-05-05 13:06:42 +02:00
Matthieu Baumann
c661e03e90 Merge pull request #74 from bmiszalski/progcat_shape_func
Allows HiPS cat to use shape function
2023-05-05 12:56:48 +02:00
Matthieu BAUMANN
4a3a8c0c4f remove need of jquery, move the restoring of the canvas after all drawSources have been called
Co-authored-by: Brent Miszalski <bmiszalski@gmail.com>
2023-05-05 12:46:13 +02:00
Brent Miszalski
fc4459dc58 Allows HiPS cat to use shape function 2023-05-05 12:34:19 +02:00
Matthieu BAUMANN
974118ad21 progressive cat: limit the number of tiles to fetch by contraining the norder to lower orders 2023-05-05 12:33:54 +02:00
Manon
b3e119a43b Add popup on no match (#79)
* add popup when no match is found with the pointers

* move degreesToString from coo.js to AladinUtils

* apply Matthieu's comments

---------

Co-authored-by: bmatthieu3 <baumannmatthieu0@gmail.com>
2023-05-05 11:33:29 +02:00
Matthieu BAUMANN
868ac7be79 fix addSourcesAsArray used by ipyaladin. Set the fields for the catalog 2023-05-04 19:44:54 +02:00
Matthieu BAUMANN
390f7ea20f add load fits image option in ctx right click menu 2023-05-03 12:24:39 +02:00
Matthieu BAUMANN
1488c078e4 fix: use HMS for parallel grid labels 2023-05-03 12:16:43 +02:00
Matthieu BAUMANN
6f789a0619 FITS query: disable using the proxy for the moment (until https://github.com/MattiasBuelens/wasm-streams/issues/20 is solved). Tell the user that fetching may fail because of CORS headers not set and that he can open its fits file by first manually download it and then open it in aladin lite 2023-05-03 11:49:20 +02:00
Matthieu BAUMANN
611b1c7777 restore utils 2023-05-02 17:42:16 +02:00
Matthieu BAUMANN
acf64f3fed use votable 0.2.3 to make the coronelli example pass 2023-05-02 17:38:29 +02:00
Matthieu BAUMANN
e8acc581bf update to votable 0.2.2 2023-05-02 11:07:28 +02:00
Matthieu BAUMANN
89948e6461 fix css for too long labels 2023-05-01 14:30:55 +02:00
Matthieu BAUMANN
e24cbb87d6 fix some bugs. Still there are some errors to fix with the new votable parser 2023-05-01 13:32:21 +02:00
Matthieu BAUMANN
6440697cb1 simplify setOverlayImageLayer and newImageSurvey 2023-04-27 18:28:03 +02:00
Matthieu BAUMANN
506a9669c0 add hips located 2023-04-27 18:16:44 +02:00
Matthieu BAUMANN
cfc7dbda4a fix some bugs: still votables error to fix 2023-04-27 18:15:35 +02:00
Matthieu BAUMANN
69ae41942d hms angle serialization format 2023-04-27 13:56:18 +02:00
Matthieu BAUMANN
b8847be007 fix: wcs galactic 2023-04-26 17:32:59 +02:00
Matthieu BAUMANN
c289ececf6 add previous from datalink to obscore 2023-04-26 14:19:02 +02:00
Matthieu BAUMANN
c35d8e4e8c shorten table name in measurement table 2023-04-26 11:35:20 +02:00
Matthieu BAUMANN
a58ade5801 add update objectslookup when not dragging in the touchmove event 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
3c1c01a43e wip 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
1bf97b66ff previous next states for obscore table 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
9c8ccbb920 Enhance measurement table to select sources coming from different catalog 2023-04-24 16:42:29 +02:00
Matthieu BAUMANN
7efb4e786e obscore fields reconize 2023-04-24 16:42:16 +02:00
Matthieu BAUMANN
d520de061f simplify shapes 2023-04-24 16:42:14 +02:00
Matthieu BAUMANN
bb245eb577 first commit 2023-04-24 16:40:30 +02:00
Matthieu BAUMANN
2e8ecb5fe6 remove backface/frontface culling as it is done by the iterator 2023-04-24 15:20:19 +02:00
Thomas Boch
b22f822f6a Add HiPS2FITS option to contextual menu 2023-04-13 17:21:21 +02:00
Thomas Boch
2993dc2f7c Contextual menu now enables addition of new catalogue layer 2023-04-13 08:59:25 +02:00
Thomas Boch
7d79597c0d Fix color bug for polyline. Color of the graphicOverlay was ignored 2023-04-13 08:35:55 +02:00
Thomas Boch
dd5c35d8ed Fix context menu 2023-04-04 16:14:47 +02:00
Thomas Boch
935e380684 New feature: add context menu, activable with showContextMenu option 2023-04-04 15:55:31 +02:00
Thomas Boch
9080644f18 New feature: Add context menu (on right click) 2023-03-30 17:22:51 +02:00
Thomas Boch
6028aa92f4 Add comment on west increasing bodies 2023-03-29 14:03:08 +02:00
Thomas Boch
c8fce0d6c1 Planetary features: take into account bodies with west increasing lon 2023-03-28 15:09:11 +02:00
Thomas Boch
c5fe7d672e Bug fix: add conditions in init phase 2023-03-27 15:44:30 +02:00
Thomas Boch
2a7d735f8a Add Pluto radius 2023-03-27 14:02:24 +02:00
Matthieu BAUMANN
6e71379f92 precompute cuts 2023-03-24 17:04:41 +01:00
Thomas Boch
1b16e0b5bf Working name resolver for planetary features 2023-03-24 15:41:06 +01:00
Matthieu BAUMANN
d3f01c6f0b fix refresh bugs, remove link of the old css in examples 2023-03-23 15:54:06 +01:00
Thomas Boch
e28776d15c Add new planetary bodies radii 2023-03-23 15:40:20 +01:00
Thomas Boch
270c24cc8c Working version of planetary features pointer 2023-03-23 14:38:25 +01:00
Thomas Boch
adeab7a3f9 WIP: planetary features pointer 2023-03-22 16:49:59 +01:00
Matthieu BAUMANN
2d87c818f3 v3.1.0 2023-03-22 16:30:57 +01:00
Matthieu Baumann
ad1e3e02d9 Merge pull request #70 from cds-astro/fits_ext
Starting fits support
2023-03-22 16:26:58 +01:00
Thomas Boch
308b8e3bd4 Update Simbad pointer URLs to cds.unistra and https:// scheme 2023-03-22 14:55:11 +01:00
Matthieu BAUMANN
7c2bc041e7 add some css: scrollbar 2023-03-22 14:30:04 +01:00
Matthieu BAUMANN
e8466800f8 change coo grid panel: enable the grid with only one clic on the coo grid button. Display the panel after a long time press 2023-03-22 12:10:03 +01:00
Matthieu BAUMANN
79b261fd55 add recompute vertices for image as well 2023-03-22 09:25:45 +01:00
Matthieu BAUMANN
303f856fd1 loading 2023-03-22 00:21:27 +01:00
Matthieu BAUMANN
371bf426a7 fits commit 2023-03-20 11:38:48 +01:00
Matthieu BAUMANN
5c56f35616 fix inertia + focus button on the fits 2023-03-17 18:34:21 +01:00
Matthieu BAUMANN
4db1c875a3 remove bad log 2023-03-15 00:57:55 +01:00
Matthieu BAUMANN
177f82f95d several response from the mocserver handling 2023-03-15 00:20:20 +01:00
Matthieu BAUMANN
e82ad29350 remove unused 2023-03-14 23:57:42 +01:00
Matthieu BAUMANN
b8c45ee5c1 can display fits > 1go 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
36933ff6ac async fits parsing ok 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
125de63f5e fix: image survey format 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
d16e196fb5 wip cors domain handling 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
edb412ab8a drag and drop of fits files 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
3ac6016c56 wip load local fits files 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
fdab5f2860 refac View.js 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
4a9fb670b8 wip: fits image support 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
0430e8bb22 add ImageFITS structure 2023-03-14 23:48:24 +01:00
Matthieu BAUMANN
3963fce64a make the search for properties run async 2023-03-14 23:48:23 +01:00
Matthieu BAUMANN
35c49c2063 run tests 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
1846e9b3a4 update ui, remove direct access to aladin.view attributes 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
0ccca95e9c wip: testing new overlay system 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
4c43f8bb52 fix coronelli example 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
dfbf8c33e6 fix progressive cat, remove depth on Layers struct 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
458a2ed36f Warning: remove zoom when setting surveys 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
5857e807f7 GUI: change sat, contrast and brightness to sliders 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
a80739e458 change cuts with rightclick 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
670c79d065 rightclick behaviour for hips color 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
163a8faf38 wip: imagecolor refac, imagesurvey object refac 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
a2188b8d65 isolate image color config into one specific file 2023-02-17 19:21:31 +01:00
Thomas Boch
029f72f53a Bug fix: catalog selector did not show in full screen 2023-02-17 19:21:31 +01:00
Thomas Boch
390fce46ec Bug fix: HiPS selector did not show sugestions in full screen mode 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
8785d58b1e update package.json 2023-02-17 19:21:31 +01:00
Thomas Boch
bc1e3ad921 Fix getShareURL method 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
3a57cbac1a AladinLiteSrc -> AladinLiteAssets 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
90f5c9b8d4 add survey option to successcallback of displayFITS 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
f9b35037ef fix change of url for the mirrors 2023-02-17 19:21:31 +01:00
Matthieu BAUMANN
5fe990c9eb update readme with the v3 2023-01-31 18:15:45 +01:00
Thomas Boch
1a45d9c602 feat: update getEmbed to link to v3 2023-01-31 18:15:44 +01:00
Matthieu BAUMANN
be17058b24 Merge branch 'develop' 2023-01-30 15:18:45 +01:00
Matthieu BAUMANN
0d49fbae56 add AladinLiteSrc.tar.gz in the build pipeline 2023-01-30 15:11:46 +01:00
Matthieu BAUMANN
7773b14bcd add a method for getting the colormaps 2023-01-30 14:25:04 +01:00
Thomas Boch
9477bcbda6 cleanup for sharing feature 2023-01-30 14:18:20 +01:00
Thomas Boch
26cd8436f9 feat: new API method addListener 2023-01-30 14:12:01 +01:00
Thomas Boch
f046f7e3ca Bug fix: HiPS and cat selectors lists no more shifted when not in full screen 2023-01-30 13:33:52 +01:00
Matthieu BAUMANN
fcf5c65747 fix: planetary surveys pinched rotation 2023-01-28 09:47:10 +01:00
Matthieu BAUMANN
8d6799bb6c draw and update fits images inside the layers class 2023-01-28 05:57:24 +01:00
Matthieu BAUMANN
a61f355a62 remove unused and commented code 2023-01-28 05:56:05 +01:00
Matthieu BAUMANN
f9dedbaf5d do not cache received tiles that do not belong to any surveys in the view 2023-01-28 05:55:18 +01:00
Matthieu BAUMANN
ae592fb4e0 fix: Handle pinched rotation for planetary surveys 2023-01-28 05:54:01 +01:00
Matthieu BAUMANN
897ab68a95 fix https context 2023-01-27 16:48:36 +01:00
Matthieu BAUMANN
01fb348a86 Merge branch 'fits_support' into develop2 2023-01-27 15:50:47 +01:00
Matthieu BAUMANN
388b541b89 package command: npm run package-tar 2023-01-27 15:39:51 +01:00
Matthieu BAUMANN
d0227fc387 tex sub when the camera is stopped 2023-01-27 15:16:11 +01:00
Matthieu BAUMANN
302ab4c770 evaluate the percentiles with a quickselect 2023-01-27 09:45:49 +01:00
Matthieu BAUMANN
c79256ed7e fix mirror testing, disable cache when querying the properties for each mirror 2023-01-26 06:53:20 -08:00
Matthieu BAUMANN
f989e56895 rename example fits image 2023-01-26 06:52:05 -08:00
Matthieu BAUMANN
7bd353ca94 use wcs lib on crates.io 2023-01-26 06:51:30 -08:00
Matthieu BAUMANN
c788b8b2d1 Hide fits image wip dev 2023-01-26 06:51:03 -08:00
Matthieu BAUMANN
08f592af38 update gitignore 2023-01-26 01:52:57 -08:00
Matthieu BAUMANN
fd1393b639 wip fits support 2023-01-26 01:51:59 -08:00
Matthieu BAUMANN
f8c74f275f refer to master branch of fitsrs 2023-01-02 17:33:13 +01:00
Matthieu BAUMANN
c09e5dde18 Rewrite Utils.loadFromMirrors using the fetch API instead of doing an jquery
ajax request

Change all the code using this method everywhere as it now return a promise that can
be catched
2022-12-22 12:10:44 +01:00
Matthieu BAUMANN
f5dd1f27aa fix tan proj when screen height > width 2022-12-21 15:57:01 +01:00
Matthieu BAUMANN
a551efff78 add comment 2022-12-21 14:52:38 +01:00
Matthieu BAUMANN
29c91acb0f remove vscode workspace 2022-12-21 14:51:48 +01:00
Matthieu BAUMANN
3f8e8542d2 fix warnings 2022-12-21 14:48:12 +01:00
Matthieu BAUMANN
34c8cef482 projection wip 2022-12-21 14:12:40 +01:00
Matthieu BAUMANN
21e8f0e314 propagate shader compiling/linking errors 2022-12-08 11:08:25 +01:00
Matthieu BAUMANN
02b259d360 move jquery dep to npm 2022-12-08 10:04:12 +01:00
Matthieu BAUMANN
731fb25902 hide delete layer for base layer 2022-12-07 17:07:13 +01:00
Matthieu BAUMANN
2719e22baa opti: do not render surveys behind opaque surveys 2022-12-07 16:29:11 +01:00
Matthieu BAUMANN
3127ec31ef opti: background color when not allsky full screen rendering, fix bug: jpeg missing tiles 2022-12-07 16:29:11 +01:00
Thomas Boch
6f4b3c02a1 Merge branch 'develop' of https://github.com/cds-astro/aladin-lite into develop 2022-12-07 10:20:21 +01:00
Thomas Boch
f2b5f290c4 Add example: animation for some of the HiPS created in 2022 2022-12-07 10:19:48 +01:00
Matthieu BAUMANN
d719355742 fix ui change 2022-12-07 09:53:58 +01:00
Matthieu BAUMANN
a12bb63ff6 update aladin options css 2022-12-06 21:58:02 +01:00
Matthieu BAUMANN
34feceedd5 HiPSLayer store the color 2022-12-05 14:10:26 +01:00
Matthieu BAUMANN
c23e7faf4c modify format settings 2022-12-05 11:55:40 +01:00
Matthieu BAUMANN
47c4b5ee35 dissociate update meta from update color 2022-12-05 11:34:37 +01:00
Matthieu BAUMANN
04f0acc4b2 add gw mocs fits files for the gw example 2022-12-05 11:16:25 +01:00
Matthieu BAUMANN
7669c4a71d add .gitignore 2022-12-05 11:14:55 +01:00
Matthieu BAUMANN
8998d43d99 wip set colormap on colored survey 2022-12-04 18:06:24 +01:00
Thomas Boch
325536f064 Improvement: better coo display (no more jittering), and copy to clipboard 2022-11-29 15:47:00 +01:00
Thomas Boch
b50d001876 Merge branch 'develop' of https://github.com/cds-astro/aladin-lite into develop 2022-11-29 13:13:51 +01:00
Thomas Boch
f748b7f858 Bug fix: data selectors are now visible in "real" full screen mode 2022-11-29 13:13:00 +01:00
bmatthieu3
6ef496d5d7 fix: return error when fits tile are retrieved with bad status code 2022-11-24 12:09:59 +01:00
Thomas Boch
24016dcd32 Force location box to J2000d if planetoid 2022-11-23 16:07:12 +01:00
bmatthieu3
a2cdc63929 revert back to grayscale colormap when the user ask for one that is not supported 2022-11-22 17:30:18 +01:00
bmatthieu3
e9a60d9378 change colormap names 2022-11-22 15:11:03 +01:00
bmatthieu3
524b867cc5 rebuild with newest fitrs lib, fix colormaps, and remove panicking when parsing fits files 2022-11-22 14:56:13 +01:00
bmatthieu3
34c1413993 do not panic when parsing fits files 2022-11-22 13:28:18 +01:00
bmatthieu3
82a65f38b2 check example before deploy 21/11/22 2022-11-21 11:36:45 +01:00
Matthieu BAUMANN
4d60fecbc2 add default value of label size slider to 1 2022-11-20 10:24:11 +01:00
Matthieu BAUMANN
1b5894dbce simplify api to create a new image survey object: newImageSurvey 2022-11-20 10:10:42 +01:00
Matthieu BAUMANN
af690c5e13 add reverse longitude 2022-11-19 15:08:49 +01:00
bmatthieu3
4f38461dde limit to 60fps the rendering 2022-11-18 17:06:05 +01:00
bmatthieu3
a843033e78 Merge remote-tracking branch 'cdsastro/develop' into fitsimg 2022-11-17 14:00:13 +01:00
bmatthieu3
1baac57452 use fitsrs updated 2022-11-17 13:54:22 +01:00
bmatthieu3
f2d5ea9929 Merge branch 'develop' of https://github.com/cds-astro/aladin-lite into develop 2022-11-16 22:26:45 +01:00
bmatthieu3
e57d37ccbd parse async the fits files received but it does not work, the stream is locked and releasing it is a feature that is not supported by safari.... I will parse it sync unfortunately 2022-11-16 22:15:32 +01:00
bmatthieu3
bde45b2b8e wip: update fitsrs 2022-11-15 19:25:40 +01:00
Matthieu BAUMANN
3ae95f0f6e Display more refined mocs 2022-11-10 01:27:42 +01:00
Matthieu BAUMANN
c1f68d7a8b fix labels and optimization 2022-11-10 01:17:47 +01:00
bmatthieu3
2b48060f23 Merge branch 'fitsimg' of https://github.com/cds-astro/aladin-lite into fitsimg 2022-11-09 18:22:40 +01:00
Matthieu BAUMANN
e534b0b6e5 disable scissor for a moment, this causes strange artefacts for safari 13.x and 14.1 2022-11-07 16:35:02 +01:00
Matthieu BAUMANN
f32a2da488 debug scissor safari 14.x 2022-11-07 15:00:46 +01:00
Matthieu BAUMANN
2dbe0ae9f5 shrink to fit vectors 2022-11-07 13:54:47 +01:00
Matthieu BAUMANN
784b60e70d compute depth tile in camera viewport 2022-11-03 17:31:02 +01:00
Matthieu BAUMANN
a2c04a13de adjust trackpad detection 2022-10-30 15:07:14 +01:00
Matthieu BAUMANN
b11caab87f scissor, zoom refac 2022-10-30 12:32:34 +01:00
Matthieu BAUMANN
3075f70391 tan proj fovlimit=90deg, new gridOptions param 2022-10-29 16:12:14 +02:00
Matthieu BAUMANN
1320dfcfb5 Merge branch 'develop' of https://github.com/cds-astro/aladin-lite into develop 2022-10-29 15:14:00 +02:00
Matthieu BAUMANN
fd86576f73 add script showing a big zoom from panstaars to jwst on stephan's quintet 2022-10-29 12:16:00 +02:00
Matthieu BAUMANN
4e33ea1b6b set rotation + tan change 2022-10-29 12:16:00 +02:00
Matthieu BAUMANN
18ceda57c8 set default background color to blue 2022-10-29 12:16:00 +02:00
Matthieu BAUMANN
27ff27fd9c zooming heuristic for touchpad and detection 2022-10-29 12:15:24 +02:00
Matthieu BAUMANN
dbca6db9ab add script showing a big zoom from panstaars to jwst on stephan's quintet 2022-10-29 01:43:59 +02:00
Matthieu BAUMANN
d2fc121b4a set rotation + tan change 2022-10-29 01:42:35 +02:00
Matthieu BAUMANN
10f1401570 set default background color to blue 2022-10-28 17:33:43 +02:00
Matthieu BAUMANN
7011b0cc81 zooming heuristic for touchpad and detection 2022-10-28 17:27:52 +02:00
Matthieu BAUMANN
e8ecbf55c7 zooming heuristic for touchpad and detection 2022-10-28 17:26:46 +02:00
Matthieu BAUMANN
3cef95effb rewrite grid 2022-10-28 16:34:55 +02:00
Matthieu BAUMANN
b8f8ba3bc1 simplify wasm loading 2022-10-27 19:07:48 +02:00
Matthieu BAUMANN
e72120a50b handle CD instead of CDELT+PC 2022-10-26 21:29:01 +02:00
Matthieu BAUMANN
6ee8f1bfe0 wip proj, deproj 2022-10-26 20:30:33 +02:00
Matthieu BAUMANN
95f72a8e65 wip: tan projection 2022-10-26 16:43:23 +02:00
Matthieu BAUMANN
8773f3f395 Extract a WCS from the fits image 2022-10-26 16:43:23 +02:00
Matthieu BAUMANN
481094bf9e first commit 2022-10-26 16:43:23 +02:00
Matthieu BAUMANN
92c8238465 add showProjectionControl option 2022-10-26 15:42:21 +02:00
Matthieu BAUMANN
e0d9826eef fix touch events 2022-10-26 14:09:07 +02:00
Matthieu BAUMANN
5c14530f54 fix color ui element 2022-10-25 19:53:16 +02:00
Matthieu BAUMANN
eddf034628 set DSS color as the default survey if no surveys asked are matching 2022-10-25 19:53:16 +02:00
Matthieu BAUMANN
b6fa734779 fix projection box when init the projection through the aladin lite constructor options 2022-10-25 19:53:16 +02:00
Matthieu BAUMANN
1218c0d630 fix inertia velocity div by 0 2022-10-25 13:32:27 +02:00
Matthieu BAUMANN
75010e1af2 wip proj, deproj 2022-10-24 22:27:10 +02:00
Matthieu BAUMANN
f03cc73e03 wip: tan projection 2022-10-24 20:55:15 +02:00
Matthieu BAUMANN
6f64b1ef73 Extract a WCS from the fits image 2022-10-24 18:24:18 +02:00
Matthieu BAUMANN
82a922626b first commit 2022-10-24 18:24:18 +02:00
Matthieu BAUMANN
78a7553d5e fix line projection call stack max 2022-10-24 18:18:26 +02:00
Matthieu BAUMANN
09e4b2273e only deploy for the dev mode 2022-10-24 11:58:55 +02:00
Matthieu BAUMANN
db29ba3c52 add deploy debug 2022-10-24 11:51:45 +02:00
Matthieu BAUMANN
88c27b2fb2 Update readme for v3 2022-10-23 18:28:38 +02:00
Matthieu BAUMANN
ae7729dee9 update readme 2022-10-23 18:25:16 +02:00
Matthieu BAUMANN
6b12d12348 restore dev version 2022-10-23 17:44:43 +02:00
Matthieu BAUMANN
732f84a5c7 look for new tiles on a 500ms interval frame 2022-10-23 17:37:44 +02:00
Matthieu BAUMANN
3b6a29dc2e debug 2022-10-21 15:02:49 +02:00
Thomas Boch
64fcc777de Update release notes 2020-08-24 11:58:58 +02:00
Thomas Boch
0f74b5e94f Merge pull request #22 from imbasimba/polyline
Polyline improvements
2020-08-24 11:55:41 +02:00
Thomas Boch
5799482dde Merge branch 'master' into polyline 2020-08-24 11:53:56 +02:00
Henrik Norman
416c20cecc Fixed Polyline flickering & added possibility to set line width and color 2019-12-06 13:54:02 +01:00
Henrik Norman
09ef8418bb Fixed error when mouse x position is 0 2019-12-05 09:51:58 +01:00
480 changed files with 62039 additions and 23216 deletions

47
.github/workflows/api_doc.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["develop"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Build docs
run: |
npm install -g jsdoc
npm run doc
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './doc'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

39
.github/workflows/npm-publish.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
name: Publish to NPM
on:
release:
types: [created]
workflow_dispatch:
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- name: "Install the rust compiler"
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: "Install wasm-pack"
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y
- name: "Install dependencies"
run: |
npm install
- name: "Build Aladin Lite"
run: |
npm run build
- name: "Publish Aladin Lite to npm"
run: |
npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

39
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Run tests
on:
push:
branches:
- develop
pull_request:
branches:
- develop
# Allows to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: "Checkout branch ${{ github.head_ref }}"
uses: actions/checkout@v3
- name: "Setup node"
uses: actions/setup-node@v3
with:
node-version: 16
- name: "Install the rust compiler"
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: "Install wasm-pack"
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y
- name: "Install dependencies"
run: |
npm install
- name: "Build Aladin Lite"
run: |
npm run build
- name: "Run some tests"
run: |
npm run test:build
npm run test:unit

1
.gitignore vendored
View File

@@ -1 +0,0 @@
node_modules

342
CHANGELOG.md Normal file
View File

@@ -0,0 +1,342 @@
# Changelogs
## 3.3.0
* [fixed] multiple calls to setImageSurvey with the same survey object led to strange behaviour.
* [perf] Display the first tile received instantly with no blending. Should enhance the slow reported in issue #88.
* [fixed] A.on('select') (debugged from ipyaladin)
* [fixed] Simbad pointer in galactical frame, cone search of simbad/vizier cats/other cone search services in galactical frame and MOC creation from selection in galactical frame => there is now a new `frame` optional param to Aladin.pix2world. If not given, the coo returned are in the frame of the view.
* [doc] Add doc for image survey definition
* [deprecation] A.createImageSurvey/A.newImageSurvey are now deprecated (but still in the API). Please use `A.imageHiPS` instead by providing a valid url or CDS ID conformed to <https://aladin.cds.unistra.fr/hips/list>
* [refac] Simplify the instanciation of an imageHiPS/ imageFITS. Add a `A.imageHiPS` method for defining a HiPS object
* [fixed] At initialisation, giving a fov > 180 was clamped back to 180 even if we specify allsky projection (i.e. accepting fov > 180). This is now fixed.
* [fixed] MeasurementTable now display the full cell values (no ellipsis anymore)
* [fixed] aladin.on('select') has been implemented. Callback is triggered on a circle and rect selections for not on polygonal selection.
* [fixed] the cooFrame UI selector is updated if the user calls `aladin.setFrame`
* [fixed] `reticleColor` and `reticleSize` options in the public API
* Restore setFoVRange
* Add CSS class for positioning the UI elements as the user wants. See the API doc aladin options for the class names to use.
* [style] The default grid color is now `rgb(178, 50, 178)` to fit the classic Aladin color palette
* [feat] The object of grid options `gridOptions` is now available in the public API
* [fixed] The parameters `gridColor` and `gridOpacity`, `gridOptions.showLabels` now work as expected
* New documentation API (W.I.P) here: <https://cds-astro.github.io/aladin-lite/>
* New release page here: <https://aladin.cds.unistra.fr/AladinLite/doc/release/>
* A major UI update by @bmatthieu3
1. Some API new classes A.box, A.button
2. A status bar where the user can enque messages for a specific amount of time (Aladin.addStatusBarMessage)
* Remove of JQuery and autocompletejs dependencies by @bmatthieu3
* Fix some performances issues, i.e. a bug when resizing the aladin lite view and which launched several parallel requestAnimationFrame by @bmatthieu3
* Polygon and circular selection (see Aladin class API documentation for how to use it)
* ObsCore and Datalink votable parsing and interpretation. This work is still in progress and made in the frame of the SKA radio mission by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/116>
* SODA service query window formular by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/116>
* read only catalog option by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/117>
* Small changed regarding drawing a footprint by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/118>
* Object and footprint click/hover events expose mouse coordinates by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/121>
* A proposal of a new feature - fill the polygon with a color by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/122>
* update getViewWCS to adapt to projection by @ManonMarchand in <https://github.com/cds-astro/aladin-lite/pull/119>
* New SAMP support by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/128>
* A possibility to create Coo and Footprint objects by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/130>
* new method aladin.getFrame() that returns the name of the current coordinate system
* `getViewWCS` now adapts to the `cooFrame` and the `projection`
* `getFov` is no longer capped at 180°
* bugfix `setProjection` now also updates for 'PAR' and 'SFL' projections
## 3.2.0
* MOC rendering perf enhanced. Possibility to draw only the perimeter of a MOC object (perimeter set to True)
* Many fixes e.g. footprint rendering for all sky projections
* A line/shape webgl rasterizer thanks to the use of the `lyon`crate. MOCs and grid lines are rendered that way. Therefore, it is possible to change the grid lines thickness
* Use of vite for the project management and deployment
## 3.1.0
* Add message for safari users to enable WebGL2 feature and reload the page by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/54>
* Starting fits support by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/70>
* display fits images with the drag and drop by @bmatthieu3
![Kapture 2023-03-23 at 14 34 28](https://user-images.githubusercontent.com/2772384/227264124-8e05a3d8-1565-497f-a118-39fab3c6ed83.gif)
* support `webp` tile format by @bmatthieu3 and @tboch
* planetary name resolver by @tboch
* small ui changes and bug fixes by @bmatthieu3
* add codemeta and its validatior action by @ManonMarchand in <https://github.com/cds-astro/aladin-lite/pull/66>
## 3.0.0
Official release of Aladin Lite v3, [as announced in CDS news](https://cds.unistra.fr/news.php?fn_mode=fullnews&fn_incl=0&fn_id=958).
* Fix missing tiles issue by @tboch in <https://github.com/cds-astro/aladin-lite/pull/18>
* Hips catalogue filtering by @tboch in <https://github.com/cds-astro/aladin-lite/pull/28>
* Make footprint selection easier by @tboch in <https://github.com/cds-astro/aladin-lite/pull/19>
* Bug fix: enable different colors for multiple polylines in same layer by @tboch in <https://github.com/cds-astro/aladin-lite/pull/30>
* Method remove to delete individual source from a catalogue layer by @tboch in <https://github.com/cds-astro/aladin-lite/pull/37>
* Stop animation by @tboch in <https://github.com/cds-astro/aladin-lite/pull/40>
* Add message for safari users to enable WebGL2 feature and reload the page by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/54>
## 2.x.x
### 2020-08
* polyline improvements (by @imbasimba)
### 2020-07
* new method stopAnimation
### 2020-06
* new method in Catalog layer to *remove* individual *Source* objects
### 2019-10
* displayFITS can now take a base64 data URL as input
### 2019-05-03
* https URLs for Simbad pointer
### 2019-04-30
* empty Downloader queue when changing displayed HiPs
### 2019-02-06
* bug fix: MOC cells at order 0 were not displayed
### 2019-01
* add method getViewWCS
### 2018-10-30
* bug fix affichage MOC order>11
### 2018-09-24
* bug fix in VOTable parsing: CDATA text was always blank in <TD></TD>
### 2018-09-18
* drawing algorith improved: no more flickering when zooming in
### 2018-09-17
* improvement on mobile device: pinch zoom works, panning works better
### 2018-08-30
* URL generated for a VizieR cone search now take into account the option 'limit', as to limit the size of the retrieved VOTable
### 2018-06-11
* Bug fix for rectangular selection of sources (aladin.on('select', ... )
### 2018-05-16
* Add variable View.CALLBACKS_THROTTLE_TIME_MS to control minimal time between two callbacks
### 2018-05-14
* HTTPS support for Logger
### 2018-04-20
* partially fix the all-sky view (the cells borders were visible) --> delta in method HpxImageSurvey.drawOneTile2
* add option showAllskyRing
* all-sky is shown at orders 3 and 4
### 2018-04
* Add method zoomToFoV (zoom with animation)
* doc : ajout Tour navigator library dans Plugins
### 2018-01-09
* Add option simbadPointer
### 2018-01-08
* Add option realFullscreen
### 2017-12-20
* Catalog.onClick can now also be a function
### 2017-12-14
* add function udpateShape for Catalog and ProgressiveCatalog object
* ajout shape 'circle' pour les catalogues
* bug fix: les cats progressifs ne s'affichaient pas quand on était zoomé et qu'on ne bougeait pas
### 2017-12-13
* support Circle when generating footprints from STC-S descriptions
### 2017-11-30
* improve positionChanged listener: no more called when clicking on an object
* improve object shown when clicking ; it's really the closest one now
### 2017-11-24
* add dragging attribute to positionChanged listener callback param
### 2017-10-09
* add listener for 'mouseMove' event
### 2017-09-28
* MOC display is way faster when panning
* Sesame bug fix when used in a local file web page
### 2017-09-27
* bug fix : MOC display with norder>9 (thanks to Raffaele D'Abrusco)
* improve MOC display speed
### 2017-09-21
* add listener for 'click' event
* dimensions can be specified for getViewDataURL method
### 2017-09-08
* gotoObject: can now take a success callback function
* improve AITOFF display
### 2017-09-07
* improvement: MOCs, catalogs and overlays have now different logos in the "stack"
### 2017-09-06
* fix: export PNG was not working any longer in latest version of Chrome, as top frame navigation to data URL was no longer allowed
### 2017-08-28
* add J2000d option for frame selection
### 2017-08-25
* all graphical overlays (footprints, MOCs) in addition to catalogs are now visible and can be shown/hidden from the control panel
* add skyFraction method to MOC class
* fix: when going full screen, background is now all white (no more HTML elements visible in the background)
* style: layer labels in Overlay layers panel are rounded at both ends
### 2017-08-24
* add adaptativeDisplay option for MOCs
* try first to load MOC through given URL, and only if it fails, try through proxy (allows to load local/not publicly accessible MOCs)
### July 2017
* bug fix MOC
* add method adjustFovForObject
* add listeners on positionChanged zoomChanged
* fix pour Andre Moitinho pour que Sesame fonctionne en HTTPS
### February 2017
* shape parameter when creating a catalogue can now be a custom draw function
* bug fix, when superimposing a HiPS over a HiPS with a different coordinate frame
### January 2017
* added method to query SkyBot: A.catalogFromSkyBot
### September 2016
* support of HiPS catalog (new format)
### June 2016
* fix astrometry offset by subdividing HEALPix cells too distorted
* new method A.MOCFromJSON to create a MOC from the JSON serialization
### March 2016
* added raField and decField options when creating catalogue
### December 2015
* added cubehelix color map
* added option in A.catalogFromURL to bypass proxy
* access to Simbad and VizieR data (catalogFromVizieR and catalogFromSimbad) are now done directly, without the proxy
### Novembre 2015
* ajout méthodes getShareURL et getEmbedCode
### Octobre 2015
* ajout méthodes accès facile à Simbad, NED et VizieR
* ajout onClick comme option de Catalog: 'showTable' ou 'showPopup'
* nouvelle version de jquery mousewheel (ça déconnait un peu sous Mac avec la précedente)
### Décembre 2014
* ajout displayLabel pour afficher un label d'un overlay Catalog
* ajout option lineWidth pour objet A.graphicOverlay
* bug fix : la liste déroulante est mise à jour correctement quand on change de frame programmatiquement
### Novembre 2014
* ajout nouvelles formes pour les sources
### 23 octobre 2014
* bug fix méthode on('objectClicked') était appelée de manière intempestive
quand la souris quittait le canvas
### 21 octobre 2014
* ajout option shape (plus ou square) pour les catalogues
### 20 octobre 2014
* amélioration on objectClicked et objectHivered. On envoie une valeur nulle pour signifier qu'on quitte l'objet
* ajout méthode pour dessiner un cercle (A.circle)
### 16 septembre 2014
* bug fix pour nouvelle version de Firefox. Aladin lite freezait. On ne crée plus les textures individuelles pour le allsky
### 24 avril 2014
New in the API:
* getSize
* getFov
* world2pix
* pix2world
* getFovCorners
### Novembre 2013
* ajout catalogues progressifs
* ajout option pour fullScreen mode au démarrage
* ajout méthode setFOVRange
* polyfill pour Function.prototype.bind (pour Firefox < 4)
### Septembre 2013
* color maps
### Août 2013
* ajout page exemple full-screen.html
* ajout bouton maximize in fullscreen
* CSS dans fichier séparé
* image réticule "cachée"
* options pour personnaliser le réticule
* revamped UI for layers
* export PNG (nécessite support CORS)
### Juillet 2013
* ajout boutons zoom
* ajout sélection d'objets
### Fin 2013
* ajout catalogue progressif
* ajout on select, objectClicked, objectHovered

131
README.md
View File

@@ -6,25 +6,87 @@ Aladin Lite is a Web application which enables HiPS visualization from the brows
See [A&A 578, A114 (2015)](https://arxiv.org/abs/1505.02291) and [IVOA HiPS Recommendation](http://ivoa.net/documents/HiPS/index.html) for more details about the HiPS standard.
Aladin Lite is built to be easily embeddable in any web page. It powers astronomical portals like [ESASky](https://almascience.eso.org/asax/), [ESO Science Archive portal](http://archive.eso.org/scienceportal/) and [ALMA Portal](https://almascience.eso.org/asax/).
Aladin Lite is built to be easily embeddable in any web page. It powers astronomical portals like [ESASky](https://sky.esa.int/), [ESO Science Archive portal](http://archive.eso.org/scienceportal/) and [ALMA Portal](https://almascience.eso.org/asax/).
More details on [Aladin Lite documentation page](http://aladin.u-strasbg.fr/AladinLite/doc/).
This repo contains the Aladin Lite v3 source code and specifically the code of its new WebGL core written in Rust.
[![Run tests](https://github.com/cds-astro/aladin-lite/actions/workflows/test.yml/badge.svg)](https://github.com/cds-astro/aladin-lite/actions/workflows/test.yml)
[![API Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://cds-astro.github.io/aladin-lite)
## How to test it ?
# How to test it ?
You can test it [here](https://bmatthieu3.github.io/hips_webgl_renderer/test_moc_moll.html)!
Aladin Lite v3 is out! Please play with [Aladin Lite v3 at this link](https://aladin.u-strasbg.fr/AladinLite).
For Safari users only: make sure to enable WebGL2 experimental feature and refresh the page once it is done. You can find it in the Developer Menu > Experimental Features > WebGL2.
Safari will soon [enable WebGL2 by default](https://developer.apple.com/safari/technology-preview/release-notes/).
## Releases
Do not hesitate to give a feedback either by sending a mail to:
For integrating Aladin Lite into your personal website, please refer to this [release page](https://aladin.cds.unistra.fr/AladinLite/doc/release/).
Always prefer using the latest version. If you want the new features without minding about the bugs coming with it, then the beta is the good way to go.
- matthieu.baumann@astro.unistra.fr / baumannmatthieu0@gmail.com
- thomas.boch@astro.unistra.fr
## API documentation
or simply by posting an issue in this repo.
There is a new in progress API documentation at [this link](https://cds-astro.github.io/aladin-lite).
## Embed it into your projects
You can embed Aladin Lite it into your webpages in two ways
### The vanilla way
Please include [the javascript script of Aladin Lite v3](https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js) into your project. API differences from the v2 are minimal, here is a snippet of code you can use to embed it into your webpages:
```js
<!doctype html>
<html>
<head>
<!-- Mandatory when setting up Aladin Lite v3 for a smartphones/tablet usage -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="text/javascript" src="https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {fov: 360, projection: "AIT", cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
});
</script>
</body>
</html>
```
### Using the aladin lite NPM package
First, install it with npm:
```npm i aladin-lite```
Second, you can use it that way:
```js
<!doctype html>
<html>
<head>
<!-- Mandatory when setting up Aladin Lite v3 for a smartphones/tablet usage -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from 'aladin-lite';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {fov: 360, projection: "AIT", cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
});
</script>
</body>
</html>
```
## Goals of v3
@@ -32,9 +94,7 @@ or simply by posting an issue in this repo.
- Remove jQuery dep
- UI dev, using VueJS, better support for smartphones
- package the core and its API as a WASM npm package
- UI dev, better support for smartphones
- FITS images support
@@ -51,7 +111,6 @@ or simply by posting an issue in this repo.
## Source code
Source code is available in the ``src`` directory.
Precisely, the core is implemented in Rust and can be found in ``src/core``.
## Licence
@@ -82,35 +141,55 @@ npm install
After that you are supposed to have the Rust toolchain installed
to compile the core project into WebAssembly.
Follow the steps from the Rust official website [here](https://www.rust-lang.org/learn/get-started)
You will also need [wasm-pack](https://rustwasm.github.io/wasm-pack/), a tool helping compiling rust into a proper .wasm file.
Once it's installed you will need to switch to the nightly rust version:
```bash
rustup default nightly
```
Then you can build the project:
Once it's installed you can only build the project:
```bash
npm run build
```
Or build it and launch a localhost server (usually starting on port 8080 but it can be another one if 8080 is occupied):
:warning: **If you are experimenting rust error compilations**:
- Make sure you have your **wasm-pack** version updated. To do so:
```bash
cargo install wasm-pack --version ~0.12
```
- Make sure you are using the rust **nightly** toolchain
- Remove your `src/core/Cargo.lock` file and `src/core/target` directory -- this ensures that you'd escape any bad compilation state:
```bash
git clean -di
```
- then recompile with `npm run build`.
It will generate the aladin lite compiled code into a `dist/` directory located at the root of the repository. This directory contains two javascript files. `aladin.umd.cjs` follows the UMD module export convention and it is the one you can use for your project.
To run the examples, you can start a localhost server with the following command:
```bash
npm run serve
```
For just compiling the rust core from the root location (it is faster to do so)
For just compiling the rust core, from the root location do:
```bash
cd src/core
cargo check --features webgl2
```
and run the tests
and run the tests:
```bash
cd src/core
cargo test
cargo test --features webgl2
```
To generate the Rust backend API documentation
```bash
cd src/core
cargo doc --no-deps --open
```

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<g>
<g>
<path d="M256,145.455c-60.955,0-110.545,49.591-110.545,110.545S195.045,366.545,256,366.545S366.545,316.955,366.545,256
S316.955,145.455,256,145.455z"/>
</g>
</g>
<g>
<g>
<rect x="238.545" width="34.909" height="110.545"/>
</g>
</g>
<g>
<g>
<rect x="96.617" y="58.787" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -47.2416 114.068)" width="34.909" height="110.544"/>
</g>
</g>
<g>
<g>
<rect y="238.545" width="110.545" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="58.792" y="380.491" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -247.9811 197.2111)" width="110.544" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="238.545" y="401.455" width="34.909" height="110.545"/>
</g>
</g>
<g>
<g>
<rect x="380.474" y="342.659" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -164.829 397.9294)" width="34.909" height="110.544"/>
</g>
</g>
<g>
<g>
<rect x="401.455" y="238.545" width="110.545" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="342.664" y="96.61" transform="matrix(0.7071 -0.7071 0.7071 0.7071 35.8969 314.7917)" width="110.544" height="34.909"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

5
assets/icons/camera.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 16C13.6569 16 15 14.6569 15 13C15 11.3431 13.6569 10 12 10C10.3431 10 9 11.3431 9 13C9 14.6569 10.3431 16 12 16Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3 16.8V9.2C3 8.0799 3 7.51984 3.21799 7.09202C3.40973 6.71569 3.71569 6.40973 4.09202 6.21799C4.51984 6 5.0799 6 6.2 6H7.25464C7.37758 6 7.43905 6 7.49576 5.9935C7.79166 5.95961 8.05705 5.79559 8.21969 5.54609C8.25086 5.49827 8.27836 5.44328 8.33333 5.33333C8.44329 5.11342 8.49827 5.00346 8.56062 4.90782C8.8859 4.40882 9.41668 4.08078 10.0085 4.01299C10.1219 4 10.2448 4 10.4907 4H13.5093C13.7552 4 13.8781 4 13.9915 4.01299C14.5833 4.08078 15.1141 4.40882 15.4394 4.90782C15.5017 5.00345 15.5567 5.11345 15.6667 5.33333C15.7216 5.44329 15.7491 5.49827 15.7803 5.54609C15.943 5.79559 16.2083 5.95961 16.5042 5.9935C16.561 6 16.6224 6 16.7454 6H17.8C18.9201 6 19.4802 6 19.908 6.21799C20.2843 6.40973 20.5903 6.71569 20.782 7.09202C21 7.51984 21 8.0799 21 9.2V16.8C21 17.9201 21 18.4802 20.782 18.908C20.5903 19.2843 20.2843 19.5903 19.908 19.782C19.4802 20 18.9201 20 17.8 20H6.2C5.0799 20 4.51984 20 4.09202 19.782C3.71569 19.5903 3.40973 19.2843 3.21799 18.908C3 18.4802 3 17.9201 3 16.8Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

2
assets/icons/color.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 10.5c.002 2.762-2.237 5-5 5s-5.002-2.238-5-5c-.002-2.76 2.237-5 5-5s5.002 2.24 5 5z" color="#000000" fill="#ff15a1" stroke="#373737" stroke-width=".49999682600000006"/><path d="M8 1.401a4.998 4.998 0 0 0-2.488 9.334c-.004-.078-.012-.155-.012-.234a4.998 4.998 0 0 1 7.488-4.334A4.994 4.994 0 0 0 8 1.4z" fill="#1583ff"/><path d="M10.5 5.5a4.998 4.998 0 0 0-5 5c0 .08.008.157.012.235A4.998 4.998 0 0 0 13 6.401c0-.079-.008-.156-.012-.234A4.975 4.975 0 0 0 10.5 5.5z" fill="#00cf2d"/><path d="M12.988 6.167c.004.078.012.155.012.234a4.998 4.998 0 0 1-7.489 4.334 4.994 4.994 0 0 0 4.989 4.766 4.998 4.998 0 0 0 2.488-9.334z" fill="#f8ff15"/><path d="M5.512 10.735a4.996 4.996 0 0 0 2.486 4.093 4.987 4.987 0 0 0 2.49-4.091A4.978 4.978 0 0 1 8 11.4a4.975 4.975 0 0 1-2.488-.666z" fill="#ef0000"/><path d="M7.998 6.173A4.991 4.991 0 0 0 5.5 10.5c0 .079.008.156.012.234a4.978 4.978 0 0 0 4.977.002c.003-.079.011-.157.011-.236a4.99 4.99 0 0 0-2.502-4.328z" fill="#383027"/><path d="M5.5 5.5c-.91 0-1.76.247-2.494.67a4.99 4.99 0 0 0 2.506 4.564c-.004-.077-.012-.154-.012-.233a4.991 4.991 0 0 1 2.498-4.328A4.975 4.975 0 0 0 5.5 5.5z" fill="#5100cc"/><path d="M8 1.401a4.998 4.998 0 0 0-4.994 4.77 4.998 4.998 0 1 0 4.992 8.658 4.998 4.998 0 1 0 4.99-8.662A4.994 4.994 0 0 0 8 1.4z" fill="none" stroke="#373737" stroke-width=".9999936520000001"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

7
assets/icons/copy.svg Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Edit / Copy">
<path id="Vector" d="M9 9V6.2002C9 5.08009 9 4.51962 9.21799 4.0918C9.40973 3.71547 9.71547 3.40973 10.0918 3.21799C10.5196 3 11.0801 3 12.2002 3H17.8002C18.9203 3 19.4801 3 19.9079 3.21799C20.2842 3.40973 20.5905 3.71547 20.7822 4.0918C21.0002 4.51962 21.0002 5.07967 21.0002 6.19978V11.7998C21.0002 12.9199 21.0002 13.48 20.7822 13.9078C20.5905 14.2841 20.2839 14.5905 19.9076 14.7822C19.4802 15 18.921 15 17.8031 15H15M9 9H6.2002C5.08009 9 4.51962 9 4.0918 9.21799C3.71547 9.40973 3.40973 9.71547 3.21799 10.0918C3 10.5196 3 11.0801 3 12.2002V17.8002C3 18.9203 3 19.4801 3.21799 19.9079C3.40973 20.2842 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H11.8036C12.9215 21 13.4805 21 13.9079 20.7822C14.2842 20.5905 14.5905 20.2839 14.7822 19.9076C15 19.4802 15 18.921 15 17.8031V15M9 9H11.8002C12.9203 9 13.4801 9 13.9079 9.21799C14.2842 9.40973 14.5905 9.71547 14.7822 10.0918C15 10.5192 15 11.079 15 12.1969L15 15" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>

After

Width:  |  Height:  |  Size: 1.2 KiB

24
assets/icons/edit.svg Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" ?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<title/>
<g id="Complete">
<g id="edit">
<g>
<path d="M20,16v4a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V6A2,2,0,0,1,4,4H8" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<polygon fill="none" points="12.5 15.8 22 6.2 17.8 2 8.3 11.5 8 16 12.5 15.8" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 617 B

19
assets/icons/finish.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<polyline style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" points="6,28 6,5 26,5 26,19 6,19 "/>
<rect x="22" y="5" width="4" height="4"/>
<rect x="19" y="15" width="3" height="4"/>
<rect x="19" y="9" width="3" height="3"/>
<rect x="13" y="15" width="3" height="4"/>
<rect x="13" y="9" width="3" height="3"/>
<rect x="6" y="15" width="4" height="4"/>
<rect x="6" y="9" width="4" height="3"/>
<rect x="22" y="12" width="4" height="3"/>
<rect x="16" y="12" width="3" height="3"/>
<rect x="10" y="12" width="3" height="3"/>
<rect x="16" y="5" width="3" height="4"/>
<rect x="10" y="5" width="3" height="4"/>
</svg>

After

Width:  |  Height:  |  Size: 929 B

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m22 6-3-4-3 4h2v4h-2l3 4 3-4h-2V6zM9.307 4l-6 16h2.137l1.875-5h6.363l1.875 5h2.137l-6-16H9.307zm-1.239 9L10.5 6.515 12.932 13H8.068z"/></svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.1873 4.14049C11.2229 3.41714 9.84236 4.0695 9.78883 5.27389L9.71211 7H12C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9H9.62322L9.22988 17.8501C9.0996 20.7815 5.63681 22.261 3.42857 20.3287L3.34151 20.2526C2.92587 19.8889 2.88375 19.2571 3.24743 18.8415C3.61112 18.4259 4.24288 18.3837 4.65852 18.7474L4.74558 18.8236C5.69197 19.6517 7.17602 19.0176 7.23186 17.7613L7.62125 9H6C5.44772 9 5 8.55228 5 8C5 7.44772 5.44772 7 6 7H7.71014L7.7908 5.18509C7.9157 2.37483 11.1369 0.852675 13.3873 2.54049L13.6 2.69999C14.0418 3.03136 14.1314 3.65817 13.8 4.09999C13.4686 4.54182 12.8418 4.63136 12.4 4.29999L12.1873 4.14049Z" fill="#212121"/>
<path d="M13.082 13.0462C13.3348 12.9071 13.6525 13.0103 13.7754 13.2714L14.5879 14.9979L11.2928 18.2929C10.9023 18.6834 10.9023 19.3166 11.2928 19.7071C11.6834 20.0977 12.3165 20.0977 12.707 19.7071L15.493 16.9212L16.2729 18.5786C16.9676 20.0548 18.8673 20.4808 20.1259 19.4425L20.6363 19.0214C21.0623 18.6699 21.1228 18.0397 20.7713 17.6136C20.4198 17.1876 19.7896 17.1272 19.3636 17.4787L18.8531 17.8998C18.6014 18.1074 18.2215 18.0222 18.0825 17.727L16.996 15.4182L19.707 12.7071C20.0976 12.3166 20.0976 11.6834 19.707 11.2929C19.3165 10.9024 18.6834 10.9024 18.2928 11.2929L16.0909 13.4948L15.585 12.4198C14.9708 11.1144 13.3822 10.5985 12.1182 11.2937L11.518 11.6238C11.0341 11.89 10.8576 12.498 11.1237 12.982C11.3899 13.4659 11.998 13.6424 12.4819 13.3762L13.082 13.0462Z" fill="#212121"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

39
assets/icons/grid.svg Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg height="800px" width="800px" version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<style type="text/css">
.st0{fill:#000000;}
</style>
<g>
<path class="st0" d="M454.111,193.473c-3.617,3.21-7.4,6.252-11.391,9.095c-9.236,6.546-14.26,10.143-17.404,12.866
c9.216,20.58,14.875,43.094,15.996,66.857h-66.418h-17.61h-92.449V170.384h-17.671h-70.307c2.769-6.606,5.732-12.886,8.915-18.731
c9.522-17.564,20.753-31.484,32.724-40.786c0.901-0.7,1.802-1.321,2.703-1.975c5.479-1.028,11.064-1.749,16.696-2.296
c-0.327-3.737-0.554-7.487-0.554-11.257c0-8.348,0.814-16.503,2.322-24.417c-54.439,3.977-103.533,27.693-139.848,64.022
c-39.939,39.919-64.702,95.252-64.689,156.184c-0.014,60.932,24.75,116.265,64.689,156.184
c39.912,39.939,95.245,64.703,156.184,64.689c60.939,0.014,116.266-24.75,156.184-64.689
c39.938-39.918,64.695-95.251,64.689-156.184C476.879,256.1,468.658,222.935,454.111,193.473z M124.813,159.941
c17.27-17.264,37.903-31.09,60.812-40.492c-10.918,14.133-20.213,31.404-27.76,50.936h-42.661
C118.287,166.794,121.463,163.284,124.813,159.941z M101.731,188.054h49.955c-8.708,28.134-13.86,60.165-14.634,94.238H70.688
C72.322,247.478,83.52,215.248,101.731,188.054z M94.504,382.422c-13.92-24.55-22.408-52.538-23.816-82.46h66.424
c0.674,29.435,4.624,57.275,11.317,82.46H94.504z M124.813,422.314c-6.886-6.887-13.2-14.334-18.938-22.221h47.833
c4.691,14.053,10.17,27.193,16.529,38.931c4.711,8.675,9.876,16.616,15.422,23.803
C162.737,453.424,142.097,439.584,124.813,422.314z M247.164,476.433c-8.835-0.414-17.496-1.475-25.958-3.07
c-0.908-0.654-1.808-1.274-2.71-1.968c-17.971-13.948-34.206-38.357-45.664-69.701c-0.186-0.52-0.353-1.081-0.547-1.602h74.879
V476.433z M247.164,382.422H166.68c-7-24.758-11.251-52.725-11.965-82.46h92.449V382.422z M247.164,282.292h-92.509
c0.814-34.54,6.453-66.744,15.568-94.238h76.94V282.292z M264.835,299.963h92.509c-0.701,29.729-4.985,57.702-11.985,82.46h-80.524
V299.963z M293.503,471.395c-0.894,0.694-1.802,1.314-2.71,1.968c-8.462,1.595-17.123,2.656-25.958,3.07v-76.34h74.898
c-3.964,11.044-8.488,21.28-13.506,30.509C316.705,448.165,305.474,462.079,293.503,471.395z M387.193,422.314
c-17.283,17.264-37.91,31.097-60.825,40.506c11.691-15.135,21.574-33.792,29.388-55.04c0.921-2.496,1.749-5.112,2.603-7.688h47.766
C400.385,407.98,394.073,415.427,387.193,422.314z M417.495,382.422H363.69c6.673-25.165,10.584-53.051,11.257-82.46h66.365
C439.904,329.885,431.409,357.872,417.495,382.422z"/>
<path class="st0" d="M313.762,173.741c22.468,15.949,27.434,19.746,35.341,34.833c6.253,11.945,16.39,32.885,16.39,32.885
c0.48,0.954,1.448,1.562,2.522,1.562c1.061,0,2.049-0.608,2.522-1.562c0,0,10.143-20.94,16.396-32.885
c7.894-15.088,12.866-18.884,35.341-34.833c24.63-17.47,41.086-45.911,41.086-78.402C463.359,42.688,420.665,0,368.014,0
c-52.658,0-95.332,42.688-95.332,95.339C272.682,127.83,289.125,156.27,313.762,173.741z M368.014,55.013
c22.275,0,40.332,18.058,40.332,40.326c0,22.274-18.057,40.332-40.332,40.332c-22.275,0-40.326-18.058-40.326-40.332
C327.689,73.071,345.739,55.013,368.014,55.013z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

2
assets/icons/help.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7.92 9.234v.102a.5.5 0 0 0 .5.5h.997a.499.499 0 0 0 .499-.499c0-1.29.998-1.979 2.34-1.979 1.308 0 2.168.689 2.168 1.67 0 .928-.482 1.359-1.686 1.91l-.344.154C11.379 11.54 11 12.21 11 13.381v.119a.5.5 0 0 0 .5.5h.997a.499.499 0 0 0 .499-.499c0-.516.138-.723.55-.912l.345-.155c1.445-.654 2.529-1.514 2.529-3.39v-.103c0-1.978-1.72-3.441-4.164-3.441-2.478 0-4.336 1.428-4.336 3.734zm2.58 7.757c0 .867.659 1.509 1.491 1.509.85 0 1.509-.642 1.509-1.509 0-.867-.659-1.491-1.509-1.491-.832 0-1.491.624-1.491 1.491z" fill="#000000"/></svg>

After

Width:  |  Height:  |  Size: 834 B

13
assets/icons/hide.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" >
<path d="M0 0h48v48H0z" fill="none"/>
<g id="Shopicon">
<path d="M11.957,33.214L7.171,38L10,40.828l5.305-5.305C17.867,36.992,20.788,38,24,38c12,0,20-14,20-14s-2.953-5.159-7.957-9.214
L40.829,10L38,7.172l-5.305,5.305C30.133,11.008,27.212,10,24,10C12,10,4,24,4,24S6.953,29.159,11.957,33.214z M16,24
c0-4.418,3.582-8,8-8c1.483,0,2.867,0.411,4.058,1.114l-3.035,3.035C24.694,20.062,24.356,20,24,20c-2.206,0-4,1.794-4,4
c0,0.356,0.062,0.694,0.149,1.023l-3.035,3.035C16.411,26.867,16,25.483,16,24z M32,24c0,4.418-3.582,8-8,8
c-1.483,0-2.867-0.411-4.058-1.114l3.035-3.035C23.306,27.938,23.644,28,24,28c2.206,0,4-1.794,4-4
c0-0.356-0.062-0.694-0.149-1.023l3.035-3.035C31.589,21.133,32,22.517,32,24z"/>

After

Width:  |  Height:  |  Size: 937 B

4
assets/icons/info.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg">
<path d="M960 0c530.193 0 960 429.807 960 960s-429.807 960-960 960S0 1490.193 0 960 429.807 0 960 0Zm0 101.053c-474.384 0-858.947 384.563-858.947 858.947S485.616 1818.947 960 1818.947 1818.947 1434.384 1818.947 960 1434.384 101.053 960 101.053Zm-42.074 626.795c-85.075 39.632-157.432 107.975-229.844 207.898-10.327 14.249-10.744 22.907-.135 30.565 7.458 5.384 11.792 3.662 22.656-7.928 1.453-1.562 1.453-1.562 2.94-3.174 9.391-10.17 16.956-18.8 33.115-37.565 53.392-62.005 79.472-87.526 120.003-110.867 35.075-20.198 65.9 9.485 60.03 47.471-1.647 10.664-4.483 18.534-11.791 35.432-2.907 6.722-4.133 9.646-5.496 13.23-13.173 34.63-24.269 63.518-47.519 123.85l-1.112 2.886c-7.03 18.242-7.03 18.242-14.053 36.48-30.45 79.138-48.927 127.666-67.991 178.988l-1.118 3.008a10180.575 10180.575 0 0 0-10.189 27.469c-21.844 59.238-34.337 97.729-43.838 138.668-1.484 6.37-1.484 6.37-2.988 12.845-5.353 23.158-8.218 38.081-9.82 53.42-2.77 26.522-.543 48.24 7.792 66.493 9.432 20.655 29.697 35.43 52.819 38.786 38.518 5.592 75.683 5.194 107.515-2.048 17.914-4.073 35.638-9.405 53.03-15.942 50.352-18.932 98.861-48.472 145.846-87.52 41.11-34.26 80.008-76 120.788-127.872 3.555-4.492 3.555-4.492 7.098-8.976 12.318-15.707 18.352-25.908 20.605-36.683 2.45-11.698-7.439-23.554-15.343-19.587-3.907 1.96-7.993 6.018-14.22 13.872-4.454 5.715-6.875 8.77-9.298 11.514-9.671 10.95-19.883 22.157-30.947 33.998-18.241 19.513-36.775 38.608-63.656 65.789-13.69 13.844-30.908 25.947-49.42 35.046-29.63 14.559-56.358-3.792-53.148-36.635 2.118-21.681 7.37-44.096 15.224-65.767 17.156-47.367 31.183-85.659 62.216-170.048 13.459-36.6 19.27-52.41 26.528-72.201 21.518-58.652 38.696-105.868 55.04-151.425 20.19-56.275 31.596-98.224 36.877-141.543 3.987-32.673-5.103-63.922-25.834-85.405-22.986-23.816-55.68-34.787-96.399-34.305-45.053.535-97.607 15.256-145.963 37.783Zm308.381-388.422c-80.963-31.5-178.114 22.616-194.382 108.33-11.795 62.124 11.412 115.76 58.78 138.225 93.898 44.531 206.587-26.823 206.592-130.826.005-57.855-24.705-97.718-70.99-115.729Z" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

2
assets/icons/jupyter.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_jupyter</title><path d="M26.233,3.588A1.69,1.69,0,1,1,24.473,2a1.67,1.67,0,0,1,1.76,1.585Z" style="fill:#767677"/><path d="M16.375,23.111c-4.487,0-8.43-1.61-10.469-3.988a11.162,11.162,0,0,0,20.938,0C24.81,21.5,20.882,23.111,16.375,23.111Z" style="fill:#f37726"/><path d="M16.375,7.648c4.487,0,8.43,1.61,10.469,3.988a11.162,11.162,0,0,0-20.938,0C7.945,9.253,11.869,7.648,16.375,7.648Z" style="fill:#f37726"/><path d="M10.2,27.739a2.109,2.109,0,1,1-.2-.8,2.129,2.129,0,0,1,.2.8Z" style="fill:#9e9e9e"/><path d="M6.416,7.106A1.226,1.226,0,1,1,7.608,5.83,1.241,1.241,0,0,1,6.416,7.106Z" style="fill:#616262"/></svg>

After

Width:  |  Height:  |  Size: 836 B

5
assets/icons/link.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.197 3.35462C16.8703 1.67483 19.4476 1.53865 20.9536 3.05046C22.4596 4.56228 22.3239 7.14956 20.6506 8.82935L18.2268 11.2626M10.0464 14C8.54044 12.4882 8.67609 9.90087 10.3494 8.22108L12.5 6.06212" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
<path d="M13.9536 10C15.4596 11.5118 15.3239 14.0991 13.6506 15.7789L11.2268 18.2121L8.80299 20.6454C7.12969 22.3252 4.55237 22.4613 3.0464 20.9495C1.54043 19.4377 1.67609 16.8504 3.34939 15.1706L5.77323 12.7373" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 776 B

5
assets/icons/loading.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1014 B

4
assets/icons/map.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 6H12.01M9 20L3 17V4L5 5M9 20L15 17M9 20V14M15 17L21 20V7L19 6M15 17V14M15 6.2C15 7.96731 13.5 9.4 12 11C10.5 9.4 9 7.96731 9 6.2C9 4.43269 10.3431 3 12 3C13.6569 3 15 4.43269 15 6.2Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 510 B

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<rect x="0" fill="none" width="20" height="20"/>
<g>

After

Width:  |  Height:  |  Size: 477 B

4
assets/icons/minus.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 12L18 12" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 335 B

50
assets/icons/move.svg Normal file
View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 330 330" xml:space="preserve">
<path id="XMLID_225_" d="M326.602,174.506c0.139-0.17,0.26-0.349,0.392-0.524c0.162-0.216,0.33-0.428,0.48-0.654
c0.144-0.213,0.267-0.435,0.397-0.654c0.12-0.2,0.246-0.396,0.356-0.603c0.12-0.225,0.223-0.457,0.331-0.687
c0.101-0.214,0.207-0.424,0.299-0.643c0.093-0.225,0.168-0.455,0.25-0.683c0.083-0.233,0.173-0.463,0.245-0.702
c0.069-0.231,0.121-0.465,0.18-0.699c0.061-0.241,0.128-0.479,0.177-0.725c0.054-0.272,0.086-0.547,0.125-0.822
c0.03-0.21,0.07-0.416,0.091-0.629c0.098-0.986,0.098-1.979,0-2.965c-0.021-0.213-0.061-0.419-0.091-0.629
c-0.039-0.274-0.071-0.55-0.125-0.822c-0.049-0.246-0.116-0.483-0.177-0.725c-0.059-0.233-0.11-0.468-0.18-0.699
c-0.072-0.238-0.162-0.468-0.245-0.702c-0.082-0.228-0.157-0.458-0.25-0.683c-0.092-0.219-0.198-0.429-0.299-0.643
c-0.108-0.23-0.211-0.461-0.331-0.687c-0.11-0.206-0.236-0.403-0.356-0.603c-0.131-0.219-0.254-0.441-0.397-0.654
c-0.15-0.226-0.318-0.438-0.48-0.654c-0.132-0.175-0.253-0.354-0.392-0.524c-0.315-0.384-0.646-0.753-0.998-1.103l-54.995-54.997
c-5.856-5.857-15.354-5.858-21.213-0.001c-5.858,5.858-5.858,15.355,0,21.213L278.788,150H180V51.213l29.394,29.393
c2.929,2.929,6.768,4.393,10.606,4.393s7.678-1.464,10.606-4.393c5.858-5.858,5.858-15.355,0-21.213L175.609,4.396
c-0.347-0.346-0.711-0.675-1.089-0.987c-0.1-0.082-0.207-0.151-0.308-0.23c-0.285-0.223-0.571-0.444-0.872-0.646
c-0.094-0.063-0.194-0.115-0.289-0.175c-0.318-0.203-0.639-0.403-0.973-0.582c-0.07-0.038-0.145-0.067-0.216-0.104
c-0.363-0.188-0.731-0.368-1.112-0.526c-0.05-0.02-0.103-0.036-0.153-0.056c-0.401-0.162-0.809-0.311-1.226-0.439
c-0.056-0.017-0.112-0.026-0.167-0.043c-0.411-0.12-0.827-0.23-1.252-0.315c-0.128-0.025-0.259-0.037-0.388-0.059
c-0.354-0.061-0.706-0.124-1.067-0.159C166.002,0.026,165.503,0,165,0c-0.502,0-1.002,0.026-1.497,0.076
c-0.368,0.037-0.727,0.1-1.087,0.162c-0.122,0.021-0.247,0.032-0.368,0.056c-0.433,0.086-0.854,0.197-1.272,0.32
c-0.049,0.014-0.098,0.023-0.146,0.038c-0.425,0.129-0.84,0.282-1.249,0.447c-0.042,0.018-0.087,0.03-0.129,0.047
c-0.388,0.161-0.764,0.344-1.135,0.536c-0.063,0.033-0.131,0.06-0.194,0.093c-0.341,0.184-0.669,0.387-0.994,0.595
c-0.088,0.056-0.18,0.105-0.268,0.163c-0.31,0.207-0.605,0.435-0.898,0.665c-0.093,0.072-0.19,0.136-0.282,0.211
c-0.379,0.312-0.743,0.641-1.09,0.987L99.396,59.393c-5.858,5.858-5.858,15.355,0,21.213c5.857,5.857,15.355,5.858,21.213,0
L150,51.214V150H51.213l29.394-29.394c5.858-5.858,5.858-15.355,0-21.213c-5.857-5.858-15.355-5.858-21.213,0L4.397,154.391
c-0.351,0.35-0.683,0.719-0.998,1.103c-0.139,0.17-0.261,0.349-0.392,0.524c-0.162,0.216-0.33,0.428-0.48,0.654
c-0.144,0.213-0.267,0.435-0.398,0.654c-0.12,0.2-0.246,0.396-0.356,0.603c-0.121,0.225-0.223,0.457-0.331,0.687
c-0.101,0.214-0.207,0.424-0.299,0.643c-0.093,0.225-0.168,0.455-0.25,0.683c-0.083,0.233-0.173,0.463-0.245,0.702
c-0.069,0.231-0.121,0.465-0.18,0.699c-0.061,0.241-0.128,0.479-0.177,0.725c-0.054,0.272-0.087,0.547-0.125,0.822
c-0.03,0.21-0.07,0.416-0.091,0.629c-0.098,0.986-0.098,1.979,0,2.965c0.021,0.213,0.061,0.419,0.091,0.629
c0.038,0.274,0.071,0.55,0.125,0.822c0.049,0.246,0.116,0.483,0.177,0.725c0.059,0.233,0.11,0.468,0.18,0.699
c0.072,0.238,0.162,0.468,0.245,0.702c0.082,0.228,0.157,0.458,0.25,0.683c0.092,0.219,0.198,0.429,0.299,0.643
c0.108,0.23,0.21,0.461,0.331,0.687c0.11,0.206,0.236,0.403,0.356,0.603c0.131,0.219,0.254,0.441,0.398,0.654
c0.15,0.226,0.318,0.438,0.48,0.654c0.131,0.175,0.253,0.354,0.392,0.524c0.316,0.384,0.647,0.753,0.998,1.103l54.997,54.997
C62.322,233.536,66.161,235,70,235s7.678-1.464,10.606-4.394c5.858-5.858,5.858-15.355,0-21.213L51.213,180H150v98.786
l-29.392-29.392c-5.857-5.858-15.355-5.857-21.213,0c-5.858,5.858-5.858,15.355,0,21.213l54.995,54.997
c0.347,0.347,0.711,0.676,1.09,0.987c0.092,0.075,0.189,0.138,0.282,0.21c0.293,0.23,0.588,0.458,0.898,0.665
c0.088,0.058,0.18,0.106,0.268,0.163c0.325,0.208,0.653,0.412,0.994,0.595c0.063,0.034,0.131,0.06,0.194,0.093
c0.371,0.192,0.747,0.375,1.135,0.536c0.042,0.018,0.087,0.03,0.129,0.047c0.409,0.165,0.824,0.318,1.249,0.447
c0.049,0.015,0.098,0.023,0.146,0.038c0.418,0.123,0.84,0.233,1.272,0.32c0.121,0.024,0.246,0.035,0.368,0.056
c0.359,0.063,0.719,0.125,1.087,0.162c0.495,0.05,0.995,0.076,1.497,0.076s1.002-0.026,1.497-0.076
c0.368-0.037,0.727-0.1,1.087-0.162c0.122-0.022,0.247-0.032,0.368-0.056c0.433-0.086,0.854-0.197,1.272-0.32
c0.049-0.014,0.098-0.023,0.146-0.038c0.425-0.129,0.84-0.282,1.249-0.447c0.042-0.018,0.087-0.03,0.129-0.047
c0.388-0.161,0.764-0.344,1.135-0.536c0.063-0.033,0.131-0.06,0.194-0.093c0.341-0.184,0.669-0.387,0.994-0.595
c0.088-0.056,0.18-0.104,0.268-0.163c0.31-0.207,0.605-0.435,0.898-0.665c0.093-0.072,0.19-0.136,0.282-0.21
c0.379-0.312,0.743-0.641,1.09-0.987l54.997-54.997c5.858-5.857,5.858-15.355,0-21.213c-5.856-5.857-15.354-5.858-21.213,0
L180,278.787V180h98.788l-29.393,29.394c-5.858,5.858-5.858,15.355,0,21.213c2.929,2.929,6.768,4.393,10.607,4.393
c3.839,0,7.678-1.465,10.606-4.394l54.995-54.997C325.955,175.259,326.286,174.89,326.602,174.506z"/>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

6
assets/icons/next.svg Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="-8.5 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<title>next</title>
<path d="M0 24.781v-17.594l15.281 8.813z"></path>
</svg>

After

Width:  |  Height:  |  Size: 323 B

19
assets/icons/opacity.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6,6;}
.st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4,4;}
.st4{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;}
.st5{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-dasharray:3.1081,3.1081;}
.st6{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:4,3;}
</style>
<circle class="st0" cx="13" cy="13" r="10"/>
<path class="st0" d="M22.4,9.6c1.3,0.5,2.6,1.3,3.7,2.3c3.9,3.9,3.9,10.2,0,14.1s-10.2,3.9-14.1,0"/>
<path class="st6" d="M9.6,22.4c-1.3-3.5-0.5-7.6,2.3-10.5c2.8-2.8,6.9-3.6,10.5-2.3"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 6C12 5.44772 11.5523 5 11 5C10.4477 5 10 5.44772 10 6V16C10 16.5523 10.4477 17 11 17C11.5523 17 12 16.5523 12 16V6ZM9 9C9 8.44772 8.55228 8 8 8C7.44772 8 7 8.44772 7 9V16C7 16.5523 7.44772 17 8 17C8.55228 17 9 16.5523 9 16V9ZM15 9C15 8.44772 14.5523 8 14 8C13.4477 8 13 8.44772 13 9V16C13 16.5523 13.4477 17 14 17C14.5523 17 15 16.5523 15 16V9ZM18 13C18 12.4477 17.5523 12 17 12C16.4477 12 16 12.4477 16 13V16C16 16.5523 16.4477 17 17 17C17.5523 17 18 16.5523 18 16V13ZM6 15C6 14.4477 5.55228 14 5 14C4.44772 14 4 14.4477 4 15V16C4 16.5523 4.44772 17 5 17C5.55228 17 6 16.5523 6 16V15ZM21 15C21 14.4477 20.5523 14 20 14C19.4477 14 19 14.4477 19 15V16C19 16.5523 19.4477 17 20 17C20.5523 17 21 16.5523 21 16V15ZM4 18C3.44772 18 3 18.4477 3 19C3 19.5523 3.44772 20 4 20H21C21.5523 20 22 19.5523 22 19C22 18.4477 21.5523 18 21 18H4Z" fill="#000000"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

4
assets/icons/plus.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 12H18M12 6V18" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6,6;}
.st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4,4;}
.st4{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;}
.st5{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-dasharray:3.1081,3.1081;}
.st6{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:4,3;}
</style>
<rect x="4" y="4" class="st0" width="24" height="24"/>
<path class="st0" d="M4,25l4.9-4c3.1-2.5,7.3-3,11-1.4l0,0c2,0.9,4.2,1.1,6.4,0.7L28,20"/>
<path class="st0" d="M4,13l7-3.2c2.6-1.2,5.5-1.3,8.1-0.3l2.1,0.8c1.2,0.4,2.5,0.7,3.7,0.7H28"/>
<path class="st0" d="M24,4l-0.8,1.2C18.7,11.9,17.9,20.5,21,28l0,0"/>
<path class="st0" d="M14,4L14,4c-4.8,7.3-4.8,16.7,0,24l0,0"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

19
assets/icons/remove.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 -0.5 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>delete [#1487]</title>
<desc>Created with Sketch.</desc>
<defs>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Dribbble-Light-Preview" transform="translate(-179.000000, -360.000000)" fill="#000000">
<g id="icons" transform="translate(56.000000, 160.000000)">
<path d="M130.35,216 L132.45,216 L132.45,208 L130.35,208 L130.35,216 Z M134.55,216 L136.65,216 L136.65,208 L134.55,208 L134.55,216 Z M128.25,218 L138.75,218 L138.75,206 L128.25,206 L128.25,218 Z M130.35,204 L136.65,204 L136.65,202 L130.35,202 L130.35,204 Z M138.75,204 L138.75,200 L128.25,200 L128.25,204 L123,204 L123,206 L126.15,206 L126.15,220 L140.85,220 L140.85,206 L144,206 L144,204 L138.75,204 Z" id="delete-[#1487]">
</path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

8
assets/icons/restore.svg Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<rect x="0" fill="none" width="20" height="20"/>
<g>

After

Width:  |  Height:  |  Size: 487 B

7
assets/icons/reticle.svg Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="reticle" viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M 0 7 L 5 7 L 5 9 L 0 9 L 0 7 Z" fill-rule="evenodd"/>
<path d="M 11 7 L 16 7 L 16 9 L 11 9 L 11 7 Z" fill-rule="evenodd"/>
<path d="M 7 11 L 9 11 L 9 16 L 7 16 L 7 11 Z" fill-rule="evenodd" />
<path d="M 7 0 L 9 0 L 9 5 L 7 5 L 7 0 Z" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 423 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 455 B

4
assets/icons/search.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 469 B

1
assets/icons/select.svg Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 121.65 122.88" style="enable-background:new 0 0 121.65 122.88" xml:space="preserve"><g><path d="M1.96,0.28L1.91,0.3L1.88,0.32c-0.07,0.03-0.13,0.06-0.19,0.1L1.67,0.43L1.61,0.46L1.58,0.48C1.55,0.5,1.52,0.52,1.49,0.54 l0,0L1.45,0.57L1.44,0.57L1.41,0.59L1.38,0.61L1.34,0.64L1.29,0.68l-0.01,0C0.73,1.11,0.33,1.69,0.14,2.36 C0.03,2.7-0.01,3.07,0,3.43v2.05c0.02,2.55,2.78,4.12,4.98,2.8c0.67-0.41,1.15-1.02,1.4-1.73h3.46c2.55-0.02,4.12-2.78,2.8-4.98 C12.03,0.59,11,0.01,9.84,0H3.42C2.94-0.02,2.44,0.07,1.96,0.28L1.96,0.28z M101.11,122.86c0.09,0.02,0.19,0.02,0.29,0 c0.03-0.02,0.07-0.04,0.1-0.05l9.76-5.63c0.09-0.06,0.15-0.16,0.18-0.26c0.02-0.08,0.02-0.16-0.01-0.21l-10.7-18.65l0,0 c-0.09-0.16-0.15-0.33-0.19-0.51c-0.19-0.94,0.41-1.85,1.35-2.04l15.7-3.25c0.02-0.01,0.04-0.01,0.06-0.01 c1.35-0.28,2.5-0.76,3.26-1.36c0.37-0.29,0.62-0.59,0.72-0.87c0.06-0.18,0.03-0.39-0.09-0.63c-0.22-0.41-0.66-0.87-1.39-1.36 L66.79,51.49l4.95,64.46c0.07,0.88,0.24,1.49,0.48,1.88c0.14,0.23,0.31,0.35,0.5,0.39c0.29,0.06,0.67-0.01,1.11-0.18 c0.9-0.36,1.88-1.12,2.81-2.15l10.71-12.02l0,0c0.12-0.13,0.26-0.25,0.43-0.35c0.83-0.48,1.89-0.2,2.37,0.63l10.8,18.59 C100.97,122.8,101.03,122.84,101.11,122.86L101.11,122.86L101.11,122.86z M1.61,0.46C1.57,0.49,1.53,0.51,1.49,0.54L1.61,0.46 L1.61,0.46z M6.56,18.59c-0.02-2.55-2.78-4.12-4.98-2.8C0.59,16.4,0.01,17.43,0,18.59v6.55c0.02,2.55,2.78,4.12,4.98,2.8 c0.99-0.61,1.57-1.64,1.58-2.8V18.59L6.56,18.59z M6.56,38.26c-0.02-2.55-2.78-4.12-4.98-2.8C0.59,36.06,0.01,37.1,0,38.26v6.55 c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8V38.26L6.56,38.26z M6.56,57.92c-0.02-2.55-2.78-4.12-4.98-2.8 c-0.99,0.61-1.57,1.64-1.58,2.8v6.56c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8V57.92L6.56,57.92z M6.56,77.59 c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8v6.55c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8 V77.59L6.56,77.59z M6.56,97.25c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8v6.56c0.02,2.55,2.78,4.12,4.98,2.8 c0.99-0.61,1.57-1.64,1.58-2.8V97.25L6.56,97.25z M13.13,103.79c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58h6.55 c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58H13.13L13.13,103.79z M32.79,103.79c-2.55,0.02-4.12,2.78-2.8,4.98 c0.61,0.99,1.64,1.57,2.8,1.58h6.56c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58H32.79L32.79,103.79z M52.46,103.79c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58h6.56c2.55-0.02,4.12-2.78,2.8-4.98 c-0.61-0.99-1.64-1.57-2.8-1.58H52.46L52.46,103.79z M103.79,63.36c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8 v-6.56c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8V63.36L103.79,63.36z M103.79,43.7 c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8v-6.56c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8 V43.7L103.79,43.7z M103.79,24.03c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8v-6.55c-0.02-2.55-2.78-4.12-4.98-2.8 c-0.99,0.61-1.57,1.64-1.58,2.8V24.03L103.79,24.03z M104.63,6.56c0.99,1.1,2.69,1.49,4.14,0.61c0.99-0.61,1.57-1.64,1.58-2.8V3.42 c0.03-0.61-0.12-1.25-0.47-1.84c-0.61-0.99-1.64-1.57-2.8-1.58h-5.47c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58 H104.63L104.63,6.56z M88.5,6.56c2.55-0.02,4.12-2.78,2.8-4.98C90.69,0.59,89.66,0.01,88.5,0h-6.55c-2.55,0.02-4.12,2.78-2.8,4.98 c0.61,0.99,1.64,1.57,2.8,1.58H88.5L88.5,6.56z M68.83,6.56c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58h-6.56 c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58H68.83L68.83,6.56z M49.17,6.56c2.55-0.02,4.12-2.78,2.8-4.98 c-0.61-0.99-1.64-1.57-2.8-1.58h-6.56c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58H49.17L49.17,6.56z M29.5,6.56 c2.55-0.02,4.12-2.78,2.8-4.98C31.7,0.59,30.66,0.01,29.5,0h-6.55c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58 H29.5L29.5,6.56z"/></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg">
<path d="M1703.534 960c0-41.788-3.84-84.48-11.633-127.172l210.184-182.174-199.454-340.856-265.186 88.433c-66.974-55.567-143.323-99.389-223.85-128.415L1158.932 0h-397.78L706.49 269.704c-81.43 29.138-156.423 72.282-223.962 128.414l-265.073-88.32L18 650.654l210.184 182.174C220.39 875.52 216.55 918.212 216.55 960s3.84 84.48 11.633 127.172L18 1269.346l199.454 340.856 265.186-88.433c66.974 55.567 143.322 99.389 223.85 128.415L761.152 1920h397.779l54.663-269.704c81.318-29.138 156.424-72.282 223.963-128.414l265.073 88.433 199.454-340.856-210.184-182.174c7.793-42.805 11.633-85.497 11.633-127.285m-743.492 395.294c-217.976 0-395.294-177.318-395.294-395.294 0-217.976 177.318-395.294 395.294-395.294 217.977 0 395.294 177.318 395.294 395.294 0 217.976-177.317 395.294-395.294 395.294" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

21
assets/icons/share.svg Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800px"
height="800px" viewBox="0 0 512 512" xml:space="preserve">
<g id="7935ec95c421cee6d86eb22ecd12b5bb">
<path style="display: inline;" d="M505.705,421.851c0,49.528-40.146,89.649-89.637,89.649c-49.527,0-89.662-40.121-89.662-89.649
c0-1.622,0.148-3.206,0.236-4.815l-177.464-90.474c-14.883,11.028-33.272,17.641-53.221,17.641
c-49.528,0-89.662-40.134-89.662-89.649s40.134-89.649,89.662-89.649c22.169,0,42.429,8.097,58.086,21.433l172.774-88.09
c-0.25-2.682-0.412-5.364-0.412-8.097c0-49.503,40.135-89.649,89.662-89.649c49.49,0,89.637,40.146,89.637,89.649
c0,49.516-40.146,89.65-89.637,89.65c-22.082,0-42.242-8.009-57.861-21.221l-172.999,88.215c0.224,2.558,0.387,5.14,0.387,7.76
c0,4.653-0.474,9.182-1.148,13.648l171.389,87.379c15.92-14.472,37.004-23.379,60.232-23.379
C465.559,332.201,505.705,372.348,505.705,421.851z">
</path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

10
assets/icons/show.svg Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" >
<path d="M0 0h48v48H0z" fill="none"/>
<g id="Shopicon">
<circle cx="24" cy="24" r="4"/>
<path d="M24,38c12,0,20-14,20-14s-8-14-20-14S4,24,4,24S12,38,24,38z M24,16c4.418,0,8,3.582,8,8s-3.582,8-8,8s-8-3.582-8-8
S19.582,16,24,16z"/>

After

Width:  |  Height:  |  Size: 464 B

6
assets/icons/stack.svg Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.1546 3.36026C12.4835 3.00999 11.5741 3.00459 10.8976 3.35396C8.30466 4.6931 5.95279 6.22853 3.89182 7.93154C3.57311 8.19489 3.34693 8.57758 3.35079 9.02802C3.35463 9.47662 3.58541 9.85419 3.90218 10.1132C5.94604 11.7844 8.29985 13.3212 10.8453 14.6497C11.5165 15 12.4258 15.0054 13.1023 14.656C15.6953 13.3169 18.0472 11.7815 20.1081 10.0785C20.4268 9.8151 20.653 9.43242 20.6492 8.98197C20.6453 8.53338 20.4145 8.1558 20.0978 7.89679C18.0539 6.22562 15.7001 4.6888 13.1546 3.36026ZM11.5859 4.68671C11.8256 4.56294 12.2193 4.56411 12.4606 4.69004C14.8899 5.95796 17.1283 7.41666 19.0675 8.99223C17.1167 10.5932 14.885 12.0471 12.414 13.3233C12.1744 13.4471 11.7807 13.4459 11.5394 13.32C9.11004 12.052 6.87163 10.5933 4.9324 9.01777C6.88321 7.41684 9.11496 5.96285 11.5859 4.68671Z" fill="#000000"/>
<path d="M21.197 12.698C21.4164 13.0494 21.3094 13.512 20.958 13.7314L14.8508 17.5443C14.022 18.0617 12.9938 18.3009 11.9999 18.301C11.006 18.301 9.9777 18.0619 9.14884 17.5446L3.10851 13.7749C2.75711 13.5556 2.65003 13.093 2.86934 12.7416C3.08864 12.3902 3.55128 12.2831 3.90268 12.5024L9.94301 16.2721C10.4872 16.6117 11.2264 16.801 11.9998 16.801C12.7732 16.8009 13.5124 16.6116 14.0564 16.2719L20.1636 12.459C20.515 12.2397 20.9776 12.3467 21.197 12.698Z" fill="#000000"/>
<path d="M21.197 16.4527C21.4164 16.804 21.3094 17.2667 20.9581 17.4861L15.6692 20.7889C14.6115 21.4494 13.2886 21.7602 11.9998 21.7602C10.7111 21.7603 9.38808 21.4497 8.3303 20.7894L3.10843 17.5296C2.75706 17.3102 2.65004 16.8476 2.86938 16.4962C3.08873 16.1448 3.55139 16.0378 3.90276 16.2572L9.12462 19.517C9.89764 19.9995 10.9316 20.2603 11.9998 20.2602C13.068 20.2602 14.1018 19.9993 14.8746 19.5167L20.1635 16.2138C20.5149 15.9944 20.9776 16.1013 21.197 16.4527Z" fill="#000000"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

1
assets/icons/target.svg Normal file
View File

@@ -0,0 +1 @@
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m27.95 15a12 12 0 0 0 -10.95-10.95v-4.05h-2v4.05a12 12 0 0 0 -10.95 10.95h-4.05v2h4.05a12 12 0 0 0 10.95 10.95v4.05h2v-4.05a12 12 0 0 0 10.95-10.95h4.05v-2zm-2 2a10 10 0 0 1 -8.95 8.95v-3.95h-2v3.95a10 10 0 0 1 -8.95-8.95h3.95v-2h-3.95a10 10 0 0 1 8.95-8.95v3.95h2v-3.95a10 10 0 0 1 8.95 8.95h-3.95v2z"/><circle cx="16" cy="16" r="2"/></svg>

After

Width:  |  Height:  |  Size: 410 B

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 122.88 122.88" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 122.88 122.88" xml:space="preserve">
<g>
<path d="M5.49,79.09l37.86,37.86C66.37,99.1,36.69,54.35,5.49,79.09L5.49,79.09z M42.39,62.21l18.29,18.29 c1.18,1.18,3.12,1.18,4.3,0l24.2-24.2c6.21-6.21,6.21-16.38,0-22.59v0c-6.21-6.21-16.38-6.21-22.59,0l-24.2,24.2 C41.2,59.09,41.2,61.02,42.39,62.21L42.39,62.21z M24.5,104.83L20.33,109c-1.48,1.48-3.89,1.48-5.38,0c-1.48-1.49-1.48-3.89,0-5.38 l4.17-4.17l-17-17l0.01-0.01c-0.13-0.13-0.25-0.26-0.36-0.4C0.15,80,0.49,77.01,2.54,75.38c13.15-10.43,26.24-10.1,36.28-4.46 c1.85,1.04,3.59,2.26,5.2,3.64l1.99-1.99l-6.99-6.99c-1.52-1.52-2.28-3.52-2.28-5.51c0-1.99,0.76-3.99,2.28-5.51l5.92-5.92 l-5.11-5.11l-3.76,3.76h0c-1.22,1.22-2.83,1.84-4.44,1.84c-1.59,0-3.19-0.61-4.42-1.84l-0.01-0.01l-0.01,0.01h0L3.53,23.62 c-1.22-1.22-1.84-2.83-1.84-4.44c0-1.59,0.62-3.19,1.85-4.43l-0.01-0.01L16.44,1.84l0,0c0.16-0.16,0.33-0.31,0.51-0.44 C18.09,0.47,19.48,0,20.87,0c1.59,0,3.19,0.61,4.42,1.84l0.01,0.01l0.01-0.01l0,0L48.97,25.5v0c1.22,1.22,1.84,2.83,1.84,4.44 c0,1.6-0.61,3.21-1.84,4.44v0l-3.77,3.77l5.11,5.11l12.91-12.91c4.03-4.03,9.35-6.05,14.66-6.05c5.31,0,10.62,2.02,14.66,6.05v0 c4.03,4.03,6.05,9.35,6.05,14.66c0,5.31-2.02,10.62-6.05,14.66L79.63,72.56l5.11,5.11l3.77-3.76c1.22-1.22,2.83-1.84,4.44-1.84 c1.6,0,3.21,0.61,4.44,1.84l23.66,23.66l0,0c1.22,1.22,1.84,2.83,1.84,4.44c0,1.6-0.61,3.21-1.84,4.44l0,0l-12.91,12.91 c-1.22,1.22-2.83,1.84-4.44,1.84c-1.6,0-3.21-0.61-4.44-1.84L75.6,95.69c-1.22-1.22-1.84-2.83-1.84-4.44 c0-1.59,0.61-3.19,1.84-4.42l0.01-0.01l-0.01-0.01l3.76-3.77l-5.11-5.11l-5.92,5.92c-1.52,1.52-3.52,2.28-5.51,2.28 c-1.99,0-3.99-0.76-5.51-2.28l-5.92-5.92l-2.15,2.15c2.47,3.26,4.37,6.93,5.57,10.75c3.27,10.41,1.4,21.91-8.23,29.61 c-1.86,1.73-4.78,1.68-6.59-0.13L24.5,104.83L24.5,104.83z M0.13,106.96c-0.53-1.89,0.57-3.86,2.47-4.39 c1.89-0.53,3.86,0.57,4.39,2.47c1,3.53,2.38,6.2,4.16,7.99c1.6,1.61,3.6,2.53,6.03,2.73c1.96,0.16,3.42,1.88,3.26,3.85 c-0.16,1.96-1.88,3.42-3.85,3.26c-4.17-0.36-7.65-1.98-10.48-4.83C3.45,115.38,1.47,111.67,0.13,106.96L0.13,106.96z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<title>line-thickness</title>
<g id="Layer_2" data-name="Layer 2">
<g id="invisible_box" data-name="invisible box">
<rect width="48" height="48" fill="none"/>
</g>
<g id="icons_Q2" data-name="icons Q2">
<rect x="4" y="40" width="40" height="2" rx="1" ry="1"/>
<rect x="4" y="31" width="40" height="4" rx="1" ry="1"/>
<rect x="4" y="20" width="40" height="6" rx="1" ry="1"/>
<rect x="4" y="7" width="40" height="8" rx="1" ry="1"/>
</g>
</g>

After

Width:  |  Height:  |  Size: 722 B

2
assets/icons/tooltip.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" ?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 8H17M7 11H17M7 14H11M12.7071 20.2929L14.4142 18.5858C14.7893 18.2107 15.298 18 15.8284 18H19C20.1046 18 21 17.1046 21 16V6C21 4.89543 20.1046 4 19 4H5C3.89543 4 3 4.89543 3 6V16C3 17.1046 3.89543 18 5 18H8.17157C8.70201 18 9.21071 18.2107 9.58579 18.5858L11.2929 20.2929C11.6834 20.6834 12.3166 20.6834 12.7071 20.2929Z" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>

After

Width:  |  Height:  |  Size: 625 B

5
assets/icons/upload.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 3H12H8C6.34315 3 5 4.34315 5 6V18C5 19.6569 6.34315 21 8 21H12M13.5 3L19 8.625M13.5 3V7.625C13.5 8.17728 13.9477 8.625 14.5 8.625H19M19 8.625V11.8125" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17.5 21L17.5 15M17.5 15L20 17.5M17.5 15L15 17.5" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 622 B

12
assets/icons/wave-off.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>radio-waves-off</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="drop" fill="#000000" transform="translate(42.666667, 59.581722)">
<path d="M47.0849493,-1.42108547e-14 L409.751616,362.666662 L379.581717,392.836561 L224.385032,237.639687 C220.860185,238.582362 217.155464,239.084945 213.333333,239.084945 C189.768533,239.084945 170.666667,219.980945 170.666667,196.418278 C170.666667,192.596131 171.169289,188.891304 172.112051,185.366306 L139.826431,153.082007 C132.313635,165.779668 128,180.591824 128,196.418278 C128,225.705382 142.771649,251.517443 165.252619,266.884869 L165.936213,267.347345 L142.22272,302.835345 C107.92576,279.872145 85.3333333,240.793745 85.3333333,196.418278 C85.3333333,168.771392 94.1027249,143.181092 109.008491,122.262804 L78.5260125,91.7807903 C56.0534502,120.674052 42.6666667,156.978203 42.6666667,196.418278 C42.6666667,254.990374 72.1909377,306.645839 117.152291,337.383388 L118.519467,338.308411 L94.8164267,373.777211 C37.65632,335.507345 7.10542736e-15,270.376678 7.10542736e-15,196.418278 C7.10542736e-15,145.187604 18.0687461,98.1928701 48.1726947,61.4272737 L16.9150553,30.169894 L47.0849493,-1.42108547e-14 Z M331.850667,19.0593447 C389.0112,57.330278 426.666667,122.463078 426.666667,196.418278 C426.666667,232.022459 417.938869,265.581649 402.50917,295.083044 L370.487171,263.062096 C379.186559,242.589607 384,220.067743 384,196.418278 C384,137.846393 354.474684,86.1907213 309.514345,55.4556523 L308.1472,54.5307047 L331.850667,19.0593447 Z M284.443733,90.0020647 C318.741333,112.965478 341.333333,152.042811 341.333333,196.418278 C341.333333,207.884983 339.824831,218.997995 336.995658,229.570658 L298.502013,191.07712 C296.828044,164.007976 282.517524,140.376058 261.413207,125.948946 L260.7296,125.486438 L284.443733,90.0020647 Z" id="Combined-Shape">
</path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

12
assets/icons/wave-on.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>radio-waves</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="drop" fill="#000000" transform="translate(42.666667, 78.641067)">
<path d="M256,177.358933 C256,200.9216 236.898133,220.0256 213.333333,220.0256 C189.768533,220.0256 170.666667,200.9216 170.666667,177.358933 C170.666667,153.796267 189.768533,134.692267 213.333333,134.692267 C236.898133,134.692267 256,153.796267 256,177.358933 Z M128,177.358933 C128,147.776 143.071573,121.73696 165.936213,106.427093 L142.22272,70.94272 C107.92576,93.9063467 85.3333333,132.983467 85.3333333,177.358933 C85.3333333,221.7344 107.92576,260.8128 142.22272,283.776 L165.936213,248.288 C143.071573,232.9792 128,206.941867 128,177.358933 Z M298.666667,177.358933 C298.666667,206.941867 283.594667,232.9792 260.7296,248.288 L284.443733,283.776 C318.741333,260.8128 341.333333,221.7344 341.333333,177.358933 C341.333333,132.983467 318.741333,93.9061333 284.443733,70.94272 L260.7296,106.427093 C283.594667,121.73696 298.666667,147.776 298.666667,177.358933 Z M331.850667,1.42108547e-14 L308.1472,35.47136 C353.8752,66.0885333 384,118.195413 384,177.358933 C384,236.522667 353.8752,288.629333 308.1472,319.246933 L331.850667,354.717867 C389.009067,316.448 426.666667,251.3152 426.666667,177.358933 C426.666667,103.403733 389.0112,38.2709333 331.850667,1.42108547e-14 Z M94.8164267,354.717867 L118.519467,319.249067 C72.7904,288.629333 42.6666667,236.522667 42.6666667,177.358933 C42.6666667,118.195413 72.7904,66.0885333 118.519467,35.4688 L94.8164267,1.42108547e-14 C37.65632,38.2709333 7.10542736e-15,103.40096 7.10542736e-15,177.358933 C7.10542736e-15,251.317333 37.65632,316.448 94.8164267,354.717867 Z" id="Shape">
</path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,9 +0,0 @@
USER_ALADIN="matthieu.baumann"
ssh $USER_ALADIN@aladin 'sg hips -c "mkdir -p $HOME/al-tmp && rm -rf $HOME/al-tmp/*"'
scp dist/* $USER_ALADIN@aladin:~/al-tmp
ssh $USER_ALADIN@aladin 'sg hips -c "rm -rf /home/thomas.boch/AladinLite/www/api/v3/2022-10-17 &&
mkdir -p /home/thomas.boch/AladinLite/www/api/v3/2022-10-17 &&
cp $HOME/al-tmp/* /home/thomas.boch/AladinLite/www/api/v3/2022-10-17/ &&
rm /home/thomas.boch/AladinLite/www/api/v3/latest &&
ln -s /home/thomas.boch/AladinLite/www/api/v3/2022-10-17/ /home/thomas.boch/AladinLite/www/api/v3/latest"'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,26 +1,15 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', { fov:0.15, target: 'Arp 240', showReticle: false, fullScreen: true });
aladin.setBaseImageLayer(aladin.createImageSurvey('SDSS-DR9 r', 'SDSS-DR9 r', 'https://alasky.u-strasbg.fr/SDSS/DR9/band-r', 'equatorial', 10));
aladin.getBaseImageLayer().setColormap('rainbow', {stretch: 'Linear'});
aladin.setBaseImageLayer(aladin.newImageSurvey('P/SDSS9/g', {colormap: "rainbow", stretch: "Linear"}));
var simbad = A.catalog({name: 'Simbad', sourceSize: 16, color: '#4050F0'});
aladin.addCatalog(simbad);

View File

@@ -0,0 +1,55 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: ["P/PanSTARRS/DR1/color-i-r-g"], showReticle: false, gridOptions: {opacity: 0.5, color: 'rgba(255, 0, 0)'}, projection: "AIT", cooFrame: 'icrs', target: "stephan's quintet", fov: 1000, showGotoControl: false, showFrame: false, fullScreen: true, showLayersControl: true, showCooGrid: true, 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 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("Nircam", "Nircam");
aladin.getOverlayImageLayer("CFHT").toggle();
aladin.getOverlayImageLayer("Nircam").toggle();
let fov = 360;
let rotation = 0;
setInterval(function zoom() {
if (fov > 0.07) {
fov *= 0.997;
rotation += 0.07;
aladin.setRotation(rotation)
aladin.setFoV(fov);
if (fov < 3 && fov > 0.5) {
let opacity = 1.0 - (fov - 0.5)/(3 - 0.5);
aladin.getOverlayImageLayer("CFHT").setOpacity(opacity);
}
if (fov < 0.5 && fov > 0.1) {
let opacity = 1.0 - (fov - 0.1)/(0.5 - 0.1);
aladin.getOverlayImageLayer("Nircam").setOpacity(opacity);
}
}
}, 10);
setInterval(function () {
const t = Date.now() / 1000;
let lambda = Math.sin(t) * 0.5 + 0.5;
})
});
</script>
</body>
</html>

View File

@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {projection: "TAN", survey: "P/HSC/DR2/deep/g", target: '02 21 36.529 -05 31 20.16', fov: 0.1});
let hscGreenSurvey = aladin.getBaseImageLayer();
hscGreenSurvey.setImageFormat("fits");
hscGreenSurvey.setColormap("green", { stretch: "asinh" });
hscGreenSurvey.setCuts(-0.2186, 5.30322);
const HSCRedSurvey = aladin.newImageSurvey('CDS/P/HSC/DR2/deep/r', {imgFormat: 'fits', colormap: "red", minCut: 0.34228, maxCut: 2.75785, additive: true, stretch: "asinh"});
const HSCBlueSurvey = aladin.newImageSurvey('CDS/P/HSC/DR2/deep/z', {imgFormat: 'fits', colormap: "blue", minCut: -0.01218, maxCut: 2.27397, additive: true, stretch: "asinh"});
aladin.setOverlayImageLayer('CDS/P/HSC/DR2/deep/r', 'hsc red layer');
aladin.setOverlayImageLayer('CDS/P/HSC/DR2/deep/z', 'hsc blue layer');
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,25 +0,0 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'M51', fov: 360, fullScreen: true, showAllskyRing: true, allskyRingColor: '#eee', allskyRingWidth: 2.0});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,398 @@
<!doctype html>
<html>
<head>
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px">
<div id="notifier" style="position: absolute; left: 0px; bottom: 30px; width: 900px; height: auto; z-index: 100; font-family: Futura,Trebuchet MS,Arial,sans-serif; color: #fdfdfd; background: rgb(69,69,69); background: linear-gradient(90deg, rgba(69,69,69,0.7) 0%, rgba(69,69,69,0.6) 74%, rgba(69,69,69,0) 100%); display: hidden;">
<div style="margin-left: 50px;">
<div id="mainTitle" style="font-size: 53pt;"></div>
<div id="subTitle" style="font-size: 34pt;"></div>
</div>
</div>
</div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: 'MOL', cooFrame: 'galactic', fov: 360, fullScreen: true, showCooGrid: false, showReticle: false})
aladin.gotoRaDec(79.9525321, -69.2742586)
const gaiaFlux = aladin.createImageSurvey('P/DM/flux-G/I/355/gaiadr3', "GaiaDR3GFlux", null, null, null, {imgFormat: 'fits', stretch: 'log'})
aladin.setBaseImageLayer(gaiaFlux)
gaiaFlux.setCuts(3e5, 1e8)
function notify(title, sub, delay) {
$('#mainTitle').html(title)
$('#subTitle').html(sub)
$('#notifier').fadeIn(600).delay(delay).fadeOut(600)
}
// show grid opacity
function delay(t) {
return new Promise(resolve => setTimeout(resolve, t))
}
async function *interval(t, nbIteration) {
let itNb = 0
while(itNb < nbIteration) {
let now = Date.now()
yield itNb
await delay(now - Date.now() + t)
itNb++;
}
}
aladin.view.setGridConfig({opacity: 0, color: {r: 51/255, g: 209/255, b: 1}})
aladin.view.setGridConfig({enabled: true})
async function s_1() {
return new Promise((resolve, reject) => {
aladin.animateToRaDec(266.4150089, -29.0061110, 5, () => resolve())
})
}
async function showcaseProjections() {
aladin.setProjection('SIN')
await delay(2000)
aladin.setProjection('MER')
aladin.setFoV(400)
await delay(2000)
//aladin.setProjection('HPX')
//aladin.setFoV(400)
//await delay(2000)
aladin.setProjection('AIT')
aladin.setFoV(400)
}
let gaiaRadvel
async function s0() {
gaiaRadvel = aladin.createImageSurvey('CDS/P/DM/radial-velocity/I/355/gaiadr3', "Gaia radial velocity", null, null, null)
gaiaRadvel.setOpacity(0.0)
notify('New HiPS overlay', 'Gaia DR3 radial velocity map', 4000)
//galex.setColormap('magma', {stretch: "Asinh"})
aladin.setOverlayImageLayer(gaiaRadvel)
for await(const it of interval(50, 40)) {
gaiaRadvel.setOpacity((it+1) / 40)
}
await delay(3000)
for await(const it of interval(50, 40)) {
gaiaRadvel.setOpacity(1 - it / 40)
}
gaiaRadvel.setOpacity(0)
}
async function showGrid() {
for await(const it of interval(50, 40)) {
aladin.view.setGridConfig({opacity: it / 40})
}
}
async function s2() {
return new Promise((resolve, reject) => {
aladin.animateToRaDec(339.2857279, 34.4199240, 5, () => resolve())
})
}
let galex
async function s3() {
galex = aladin.createImageSurvey('CDS/P/GALEXGR6_7/color', "GALEX", null, null, null)
galex.setOpacity(0.0)
//galex.setColormap('magma', {stretch: "Asinh"})
aladin.setOverlayImageLayer(galex)
}
async function s4() {
for await(const it of interval(50, 40)) {
galex.setOpacity((it+1) / 40)
}
}
async function s5() {
let nbIt = 230
let fovStart = 400
let fovEnd = 0.5
const intervalMs = 25
let fov;
fov = fovStart
for await(const it of interval(intervalMs, nbIt+1)) {
fov = fovStart / Math.pow(fovEnd/fovStart, -it/nbIt)
//fov = fovStart - (fovStart - fovEnd) * ((it+1) / nbIt)
//aladin.setFoV(400 - (fovStart - fovEnd) * ((it+1) / nbIt))
//fov = fovFakeEnd + (fovFakeStart - fovFakeEnd) * (1 - Math.pow((it) / nbIt, 0.15))
aladin.setFoV(fov)
}
aladin.setFoV(fovEnd)
}
async function s5_() {
/*
for await(const it of interval(50, 180)) {
aladin.setFoV(400 - 399.5 * ((it+1) / 180))
}
*/
return new Promise((resolve, reject) => {
aladin.zoomToFoV(5, 3, () => resolve());
})
}
async function hideGrid() {
for await(const it of interval(50, 40)) {
aladin.view.setGridConfig({opacity: 1 - it / 40})
}
}
async function s7() {
return new Promise((resolve, reject) => {
aladin.animateToRaDec(339.0146901, 33.9600401, 5, () => resolve())
})
}
let panstarrs
async function s77() {
panstarrs = aladin.createImageSurvey('CDS/P/PanSTARRS/DR1/g', "PanSTARRS g", null, null, null)
panstarrs.setOpacity(0.0)
panstarrs.setColormap('viridis', {stretch: "Asinh"})
aladin.setOverlayImageLayer(panstarrs, 'panstarrs')
for await(const it of interval(50, 40)) {
panstarrs.setOpacity((it+1) / 40)
}
}
let stephansMIRI
async function s8() {
stephansMIRI = aladin.createImageSurvey('CDS/P/JWST/Stephans-Quintet/MIRI', "stephansMIRI", null, null, null)
stephansMIRI.setOpacity(0.0)
//galex.setColormap('magma', {stretch: "Asinh"})
aladin.setOverlayImageLayer(stephansMIRI, 'stephansMIRI')
for await(const it of interval(25, 100)) {
stephansMIRI.setOpacity((it+1) / 100)
}
}
async function s9() {
return new Promise((resolve, reject) => {
aladin.zoomToFoV(0.125, 5, () => resolve())
})
}
async function s10() {
for await(const it of interval(50, 80)) {
aladin.setRotation(0.5 * it)
}
}
let stephansNIRCamMIRI
async function s11() {
stephansNIRCamMIRI = aladin.createImageSurvey('CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI', "stephansMIRI", null, null, null)
stephansNIRCamMIRI.setOpacity(0.0)
aladin.setOverlayImageLayer(stephansNIRCamMIRI, 'stephansNIRCamMIRI')
for await(const it of interval(25, 180)) {
if (it==80) {
aladin.animateToRaDec(339.0152849, 33.9755441, 25 * 260 / 1000)
aladin.zoomToFoV(2 / 60, 25 * 260 / 1000)
}
stephansNIRCamMIRI.setOpacity((it+1) / 180)
}
await delay(180*25 + 500)
}
async function zoomoutAndgoToMeerkat() {
for await(const it of interval(25, 10)) {
panstarrs && panstarrs.setOpacity(1 - it / 10)
}
panstarrs && panstarrs.setOpacity(0)
let nbIt = 200
let fovStart = 2/60
let fovEnd = 360
let intervalMs = 25
let fov;
fov = fovStart
for await(const it of interval(intervalMs, nbIt+1)) {
fov = fovStart / Math.pow(fovEnd/fovStart, -it/nbIt)
aladin.setFoV(fov)
galex && galex.setOpacity(Math.max(0, 1 - it / 2*nbIt))
}
aladin.setFoV(fovEnd)
galex && galex.setOpacity(0)
await delay(300)
aladin.animateToRaDec(266.2800147, -29.2222859, 5)
await delay(5000)
notify('New HiPS overlay', 'MeerKAT 1284MHz', 6000)
const meerkat = aladin.createImageSurvey('P/MeerKAT/Galactic-Centre-1284MHz-StokesI', "Galactic-Centre-1284MHz-StokesI", null, null, null, {imgFormat: 'fits'});
meerkat.setColormap('magma', {stretch: "Asinh"})
meerkat.setOpacity(0.0)
aladin.setOverlayImageLayer(meerkat, 'meerkat')
for await(const it of interval(25, 40)) {
meerkat.setOpacity((it+1) / 40)
}
nbIt = 300
fovStart = 360
fovEnd = 5.4
fov = fovStart
for await(const it of interval(intervalMs, nbIt+1)) {
fov = fovStart / Math.pow(fovEnd/fovStart, -it/nbIt)
aladin.setFoV(fov)
aladin.setRotation(40 - 40 * it/nbIt)
}
aladin.setFoV(fovEnd)
await delay(500)
notify('', 'Color map changes and contrast adjustment from FITS tiles', 3000)
let cutMin = -0.0004
let cutMax = 0.01
intervalMs = 25
for await(const it of interval(intervalMs, 1000)) {
switch(it) {
case 150:
meerkat.setColormap('parula')
break
case 300:
meerkat.setColormap('eosb')
break
case 450:
meerkat.setColormap('spectral')
break
case 600:
meerkat.setColormap('ylorbr')
break
case 750:
meerkat.setColormap('ylorbr', {reversed: true})
break
}
//const t = Date.now() / 1000;
const t = it / 25
let lambda = Math.sin(t) * 0.5 + 0.5
let cut0 = -0.0004 * lambda + (1 - lambda) * -0.00132
let cut1 = 0.005 * lambda + (1 - lambda) * 0.05759
meerkat.setCuts(cut0, cut1)
}
}
async function animation() {
await delay(1000)
notify('Background HiPS:', 'Gaia DR3 G flux map', 3000)
await s_1()
notify('', 'Enable coordinates grid', 2500)
await delay(1000)
await showGrid()
await delay(1000)
notify('Projection support:', 'Orthographic, Mercator, Aitoff', 6500)
await delay(1000)
await showcaseProjections()
await delay(1000)
await s0()
await delay(1000)
await s2()
notify('New HiPS overlay', 'GALEX GR6/7', 4000)
await delay(500)
await s3()
await s4()
await s5()
await delay(800)
await hideGrid()
await delay(300)
notify('', 'Center view on Stephan\'s Quintet', 3800)
await s7()
await delay(300)
notify('New HiPS overlay', 'PanSTARRS g', 3000)
await s77()
await delay(300)
await s9()
await delay(300)
notify('New HiPS overlay', 'JWST MIRI', 3000)
await s8()
await delay(300)
await s10()
await delay(300)
notify('New HiPS overlay', 'JWST NIRCam + MIRI', 4000)
await s11()
await delay(300)
await zoomoutAndgoToMeerkat()
};
animation();
});
</script>
</body>
</html>

View File

@@ -1,20 +1,14 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/SPITZER/color", cooFrame: 'galactic', fov: 5});

29
examples/al-artifact.html Normal file
View File

@@ -0,0 +1,29 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'https://alasky.cds.unistra.fr/Pan-STARRS/DR1/color-z-zg-g/', // set initial image survey
projection: 'SIN', // set a projection
fov: 114.19, // initial field of view in degrees
target: '19 24 51.556 +45 16 44.36', // initial target
cooFrame: 'equatorial', // set galactic frame
showCooGrid: true, // set the grid
fullScreen: true,
}
);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,18 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {fov: 70,projection: "AIT"});
let hsc = aladin.newImageSurvey("P/HSC/DR2/deep/g", {colormap:"Purples", imgFormat: "fits"});
aladin.setBaseImageLayer(hsc);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,37 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'M 1', fov: 180});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.add(A.circle(83.66067, 0, 30, {color: 'cyan'})); // radius in degrees
var cat = A.catalog({name: 'Some markers', sourceSize: 18});
aladin.addCatalog(cat);
cat.addSources([A.marker(83, 29, {popupTitle: 'Point1', popupDesc: 'Does not show up in circle'})]);
aladin.on("footprintClicked", (footprint) => {
console.log("footprint clicked catched", footprint)
})
aladin.on("objectClicked", (object) => {
console.log("object clicked catched", object)
})
aladin.on("footprintHovered", (footprint) => {
console.log("footprint hovered catched", footprint)
})
aladin.on("objectHoveredStop", (object) => {
console.log("Object hovered stopped", object)
})
});
</script>
</body>
</html>

View File

@@ -1,20 +1,14 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite

View File

@@ -1,20 +1,14 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'M50', fov: 0.3});

View File

@@ -0,0 +1,31 @@
<!doctype html>
<html>
<head>
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'M50', fov: 0.7});
var cat1 = A.catalog({readOnly: true});
aladin.addCatalog(cat1);
cat1.addSources(A.source(105.69239256, -8.45235969));
cat1.addSources(A.source(105.70779763, -8.31350997));
cat1.addSources(A.source(105.74242906, -8.34776709));
var cat2 = A.catalog({readOnly: false});
aladin.addCatalog(cat2);
cat2.addSources(A.source(105.79239256, -8.45235969));
cat2.addSources(A.source(105.90779763, -8.31350997));
cat2.addSources(A.source(105.54242906, -8.34776709));
});
</script>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!doctype html>
<html>
<head>
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
Show sources with proper motion greater than:
<input id='slider' style='vertical-align:middle;width:60vw;' step='1' min='0' max='10' type='range' value='0'>
<span id='pmVal' >0 mas/yr</span><br><br><div id='aladin-lite-div' style='width: 500px;height: 500px;'></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var pmThreshold = 0;
var slider = document.getElementById('slider');
slider.oninput = function() {
pmThreshold = this.value;
$('#pmVal').html(pmThreshold + ' mas/yr');
cat.reportChange();
}
var myFilterFunction = function(source) {
var hpmag = parseFloat(source.data['Hpmag']);
if (isNaN(hpmag)) {
return false;
}
return hpmag>pmThreshold;
}
aladin = A.aladin('#aladin-lite-div', {target: 'M 45', fov: 5});
var cat = A.catalogFromVizieR('I/311/hip2', 'M 45', 5, {onClick: 'showTable', filter: myFilterFunction});
aladin.addCatalog(cat);
});
</script>
</body>
</html>

View File

@@ -1,9 +1,6 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
@@ -15,10 +12,8 @@ Show sources with proper motion greater than:
<input id='slider' style='vertical-align:middle;width:60vw;' step='1' min='0' max='500' type='range' value='0'>
<span id='pmVal' >0 mas/yr</span><br><br><div id='aladin-lite-div' style='width: 500px;height: 500px;'></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var pmThreshold = 0;
@@ -40,7 +35,7 @@ Show sources with proper motion greater than:
return totalPm>pmThreshold;
}
aladin = A.aladin('#aladin-lite-div', {target: 'gal center',fov: 150});
aladin = A.aladin('#aladin-lite-div', {target: 'gal center',fov: 150, showContextMenu: true});
var hips = A.catalogHiPS('http://axel.u-strasbg.fr/HiPSCatService/I/345/gaia2', {onClick: 'showTable', color: 'orange', name: 'Gaia', filter: myFilterFunction});
aladin.addCatalog(hips);

View File

@@ -0,0 +1,42 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'LMC', fov: 55, showContextMenu: true});
// define custom draw function
var drawFunction = function(source, canvasCtx, viewParams) {
canvasCtx.beginPath();
canvasCtx.arc(source.x, source.y, source.data['coo_err_min'] * 5, 0, 2 * Math.PI, false);
canvasCtx.closePath();
canvasCtx.strokeStyle = '#c38';
canvasCtx.lineWidth = 3;
canvasCtx.globalAlpha = 0.7,
canvasCtx.stroke();
var fov = Math.max(viewParams['fov'][0], viewParams['fov'][1]);
// object name is displayed only if fov<10°
if (fov>10) {
return;
}
canvasCtx.globalAlpha = 0.9;
canvasCtx.globalAlpha = 1;
};
var hips = A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/Simbad', {onClick: 'showTable', name: 'Simbad', shape: drawFunction});
aladin.addCatalog(hips);
});
</script>
</body>
</html>

View File

@@ -1,24 +1,17 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'LMC', fov: 55});
var hips = A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/Simbad', {onClick: 'showTable', name: 'Simbad'});
aladin = A.aladin('#aladin-lite-div', {target: 'LMC', fov: 55, showContextMenu: true});
var hips = A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/Simbad', {onClick: 'showPopup', name: 'Simbad'});
aladin.addCatalog(hips);
});
</script>

27
examples/al-cfht.html Normal file
View File

@@ -0,0 +1,27 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/PanSTARRS/DR1/color-z-zg-g", fov:1.5, target: "NGC 7318B"});
aladin.setProjection('AIT');
let cfht = aladin.createImageSurvey("CFHT", "CFHT MegaCam u+g+r", "https://cds.unistra.fr/~derriere/PR_HiPS/2022_Duc/", "equatorial", 10, {imgFormat: 'png'});
let jwst1 = aladin.createImageSurvey("CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI", "JWST NIRCam+MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_NIRCam+MIRI", null, null, {imgFormat: 'png'});
let jwst2 = aladin.createImageSurvey("JWST2", "JWST MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_MIRI", "equatorial", 12, {imgFormat: 'png'});
aladin.setOverlayImageLayer('CFHT', 'overlay_CFHT');
aladin.setOverlayImageLayer('CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI', 'overlay_JWST1');
aladin.setOverlayImageLayer('JWST2', 'overlay_JWST2');
aladin.getOverlayImageLayer('overlay_JWST1').setAlpha(0.0);
aladin.getOverlayImageLayer('overlay_JWST2').setAlpha(0.0);
});
</script>
</body>
</html>

View File

@@ -1,24 +1,20 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {target: 'M81', fov: 360, showCooGrid: true});
aladin.setImageSurvey(aladin.createImageSurvey('Panstarrs', 'Panstarrs', 'http://hips.china-vo.org/change2-moon-7m-dom', 'equatorial', 9, {imgFormat: 'fits', colormap: "redtemperature"}));
aladin.setImageSurvey(
aladin.newImageSurvey('https://hips.china-vo.org/change2-moon-7m-dom', {imgFormat: 'png', colormap: "redtemperature"})
);
});
</script>

View File

@@ -14,15 +14,16 @@
<!--link rel="stylesheet" href="css/grids-responsive-min.css"-->
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.3/build/buttons.css">
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.3/build/buttons-core.css">
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css">
<!--meta name="viewport" content="initial-scale=1.0, user-scalable=no"-->
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
let aladin;
</script>
<div id="aladin-lite-div" style="width:100vw;height:100vh;">
<div id="calibCircle" style="display: none;"></div>
<div id="explain" class="aladin-box"></div>
@@ -80,15 +81,15 @@
<div id="coo_epoca">
<a class="pure-button nav-button nav-goto" href="#">De Epoca</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_legende">
<a class="pure-button nav-button nav-goto" href="#">Légende</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_orion">
<a class="pure-button nav-button nav-goto" href="#">Orion</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_magellan">
<a class="pure-button nav-button nav-goto" href="#">Magellan</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
@@ -96,7 +97,7 @@
<div id="coo_halley">
<a class="pure-button nav-button nav-goto" href="#">Halley</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
</div>
<style type="text/css"> .aladin-reticleColor { color: rgb(178, 50, 178); font-weight:bold;} </style>
@@ -105,27 +106,27 @@
html, body {
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
.aladin-zoomControl {
top: 10% !important;
left: unset !important;
right: 4px !important;
}
.aladin-zoomControl a {
font-size: 24px !important;
padding: 22px !important;
}
#aladin{
flex: 1 1 0;
}
#explain {
padding: 4px;
top: 30%;
@@ -133,51 +134,51 @@
font-size: 11pt;
overflow: scroll;
}
#explain tbody tr:nth-child(even) {
background-color: #ffffff;
}
#explain tbody tr:nth-child(odd) {
background-color: #ccdaeb;
}
#layersControlLeft {
padding: 10px;
right: unset;
left: 4px;
top: 20vh;
}
#layersCL2 {
padding: 10px;
right: unset;
left: 4px;
top: 90vh;
}
#layersControlRight {
padding: 4px;
left: unset;
right: 4px;
top: 25vh;
}
#layersControlLeft, #layersControlRight, #layersCL2 input {
margin-right: 5px;
}
.img-hips {
padding: 5px;
margin: 5px;
}
#opacity-slider {
-webkit-appearance: none !important; /* Override default CSS styles */
width: 220px;
height: 25px;
}
#opacity-slider::-webkit-slider-thumb {
-webkit-appearance: none !important; /* Override default look */
appearance: none;
@@ -186,18 +187,18 @@
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
#opacity-slider::-moz-range-thumb {
width: 25px; /* Set a specific slider handle width */
height: 25px; /* Slider handle height */
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
.aladin-box {
font-size: 12px !important;
}
#calibCircle {
position: fixed;
border: 8px solid red;
@@ -209,32 +210,30 @@
z-index: 1000;
pointer-events: none;
}
.pure-table {
font-size: small;
}
.catcoro {
display: inline;
vertical-align: middle;
}
.coro-star {
vertical-align: middle;
}
</style>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="module">
import A from '../src/js/A.js';
import {Utils} from '../src/js/Utils';
<script type="text/javascript">
let aladin;
A.init.then(() => {
var hipsDir="http://alasky.u-strasbg.fr/CDS_P_Coronelli";
aladin = A.aladin("#aladin-lite-div", {showSimbadPointerControl: true, realFullscreen: true, fov: 100, allowFullZoomout: true, showReticle: false });
aladin.createImageSurvey('illenoroC', 'illenoroC', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: false, minOrder: 3});
aladin.createImageSurvey('Coronelli', 'Coronelli', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: true, minOrder: 3});
aladin.createImageSurvey('illenoroC', 'illenoroC', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: false});
aladin.createImageSurvey('Coronelli', 'Coronelli', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: true});
aladin.setImageSurvey('Coronelli');
$('#layersControlLeft').show();
@@ -253,13 +252,13 @@
aladin.addCatalog(hipsCats['constellations-boundaries']);
aladin.addCatalog(hipsCats['gaia']);
var coronelliStars = {
'coronelli-stars-white': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/white.xml", {name: 'Coronelli white', color: '#ffffff', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-yellow': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/yellow.xml", {name: 'Coronelli yellow', color: '#f6f874', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-red': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/red.xml", {name: 'Coronelli red', color: '#ff5555', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-blue': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/blue.xml", {name: 'Coronelli blue', color: '#1ca5ec', shape: 'rhomb', sourceSize: 10})
'coronelli-stars-white': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/white.xml", {name: 'Coronelli white', color: '#ffffff', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-yellow': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/yellow.xml", {name: 'Coronelli yellow', color: '#f6f874', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-red': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/red.xml", {name: 'Coronelli red', color: '#ff5555', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-blue': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/blue.xml", {name: 'Coronelli blue', color: '#1ca5ec', shape: 'rhomb', sourceSize: 20})
};
coronelliStars['coronelli-stars-white'].hide();
coronelliStars['coronelli-stars-yellow'].hide();
coronelliStars['coronelli-stars-red'].hide();
@@ -289,8 +288,8 @@
if (!$(this).hasClass("selected")) {
$('.img-hips').removeClass("selected pure-button-active");
$(this).addClass("selected pure-button-active");
aladin.setOverlayImageLayer(this.id);
aladin.getOverlayImageLayer().setAlpha(0.75);
let survey = aladin.setOverlayImageLayer(this.id);
survey.setAlpha(0.75);
$('#opacity-slider').val(0.75);
}
else {
@@ -361,7 +360,7 @@
});
// listen to click on objects
aladin.on('objectClicked', function(source) {
aladin.on('objectClicked', function(source, xyMouseCoords) {
var html = '<table class="pure-table">';
if (curSelectedSource != null) {
@@ -377,7 +376,6 @@
curSelectedSource = source;
html += '<tbody>';
if (source.catalog.name == 'Simbad') {
console.log(source.data);
html += '<h3>Simbad object <em>' + source.data.main_id + '</em></h3>';
html += '<tr class="pure-table-odd"><td><b>ra</b></td><td>' + source.data.ra + '</td><td><em>deg</em></td></tr>';
html += '<tr><td><b>dec</b></td><td>' + source.data.dec + '</td><td><em>deg</em></td></tr>';
@@ -499,7 +497,7 @@
deleteOverlayTimeout = undefined;
}
isDrawing = true;
points.push([drawOverlayCanvas.relMouseCoords(e)]);
points.push([Utils.relMouseCoords(e)]);
});
@@ -508,10 +506,10 @@
e.preventDefault();
drawOverlayCtx.clearRect(0, 0, drawOverlayCtx.canvas.width, drawOverlayCtx.canvas.height);
points[points.length-1].push(drawOverlayCanvas.relMouseCoords(e));
points[points.length-1].push(Utils.relMouseCoords(e));
drawOverlayCtx.beginPath();
for (var k=0; k<points.length; k++) {
drawOverlayCtx.moveTo(points[k][0].x, points[k][0].y);
for (var i = 1; i < points[k].length; i++) {

View File

@@ -0,0 +1,104 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'P/allWISE/color', // set initial image survey
projection: 'AIT', // set a projection
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'icrs', // set galactic frame
reticleColor: '#ff89ff', // change reticle color
reticleSize: 64, // change reticle size
showContextMenu: true,
}
);
let btn = A.button({
content: 'My button',
classList: ['myButton'],
tooltip: {cssStyle: {color: 'red'}, content: 'Create a moc in pink!', position: {direction: 'top'}},
action(o) {
aladin.select('poly', p => {
try {
let ra = []
let dec = []
for (const v of p.vertices) {
let [lon, lat] = aladin.pix2world(v.x, v.y);
ra.push(lon)
dec.push(lat)
}
let moc = A.MOCFromPolygon(
{ra, dec},
{name: 'poly', lineWidth: 3.0, color: 'pink'},
);
aladin.addMOC(moc)
} catch(_) {
alert('Selection covers a region out of the projection definition domain.');
}
})
}
});
let btn2 = A.button({
content: 'I do nothing',
tooltip: {cssStyle: {color: 'red'}, content: 'Create a moc in pink!', position: {direction: 'top'}},
});
aladin.addUI(btn)
aladin.addUI(A.box({
header: {
title: "My window",
draggable: true,
},
classList: ['myBox'],
content: "This is the content of my window<br/> I can write proper html",
}))
aladin.addStatusBarMessage({
duration: 10000,
type: 'info',
message: 'Aladin Lite v3.3 is out. New features available:<ul><li>New Button, Box <b>objects</b></li><li>Polygonal, circular selection</li></ul>'
})
});
</script>
<style>
.aladin-stack-control {
position: absolute;
top: 10rem;
left: 10rem;
}
.myBox {
top: unset;
bottom: 0;
left: 0;
}
.myButton {
position: absolute;
bottom: 0;
left: 0;
background-color: pink;
}
.aladin-cooFrame {
position: absolute;
top: 10rem;
}
</style>
</body>
</html>

View File

@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: 'AIT', cooFrame: 'galactic', fov: 200, target: 'galactic center'});
let dss = aladin.createImageSurvey("DSS blue band", "Color DSS blue HiPS", "http://alasky.cds.unistra.fr/DSS/DSS2-blue-XJ-S/", "equatorial", 9, {imgFormat: 'fits'})
aladin.setBaseImageLayer(dss);
aladin.getBaseImageLayer().setCuts(2, 10000);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,39 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width:440px;height:300px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {cooFrame: "icrs", fullScreen: true});
aladin.displayFITS(
//'https://fits.gsfc.nasa.gov/samples/FOCx38i0101t_c0f.fits', // url of the fits file
'data/fits/HorseHead.fits',
//'data/fits/neowise.fits',
//'data/fits/irac.fits',
//'data/fits/FOCx38i0101t_c0f.fits',
{
minCut: 5000,
maxCut: 17000,
colormap: 'viridis'
}, // no optional params
(ra, dec, fov, image) => {
// ra, dec and fov are centered around the fits image
console.log("jjj", image)
image.setColormap("magma", {stretch: "asinh"});
aladin.gotoRaDec(ra, dec);
aladin.setFoV(fov);
},
);
});
</script>
</body>
</html>

View File

@@ -2,8 +2,6 @@
<!doctype html>
<html>
<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>
<body>
@@ -18,17 +16,16 @@ Image Opacity: <br/> <input id="slider" type="range" value=1 min=0 max=1 step=0.
<input id="DSS" type="radio" name="survey" value="P/DSS2/Color" checked><label for="DSS">Optical (DSS2) <label>
<input id="2MASS" type="radio" name="survey" value="P/2MASS/Color"><label for="2MASS">Infrared (2MASS)<label>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: "0 0", cooFrame: "gal"});
var callback = function(ra, dec, fov) {
aladin.addCatalog(A.catalogFromSimbad( {ra: ra, dec: dec} , 1 , {shape: 'circle', color: '#5d5', onClick: 'showTable'}));
A.catalogFromSimbad( {ra: ra, dec: dec} , 1 , {shape: 'circle', color: '#5d5', onClick: 'showTable'}, (cat) => {
aladin.addCatalog(cat)
});
// we must return true, so that the default action (set view to center of image) is performed
return true;
}
@@ -44,7 +41,9 @@ Image Opacity: <br/> <input id="slider" type="range" value=1 min=0 max=1 step=0.
// the JPG to transform to HiPS
'https://noirlab.edu/public/media/archives/images/large/noirlab1912a.jpg',
// no options
{},
{
transparency: 0.6,
},
// A callback fn once the overlay is set
callback
);

View File

@@ -5,11 +5,9 @@
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
/*aladin = A.aladin('#aladin-lite-div', {fov: 360, fullScreen: true, cooFrame: 'galactic'});

View File

@@ -0,0 +1,47 @@
<!doctype html>
<html>
<head>
</head>
<body>
<script type="module">
import A from '../src/js/A.js';
let el = document.createElement('div')
el.id = "aladin-lite-div"
el.style.width = '1024px';
el.style.height = '768px';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
el,
{
projection: 'AIT', // set a projection
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'galactic', // set galactic frame
reticleColor: '#ff89ff', // change reticle color
reticleSize: 64, // change reticle size
showCooGrid: true, // set the grid
fullScreen: true,
showShareControl: true,
showSettingsControl: true,
showLayersControl: true,
showContextMenu: true,
showFullscreenControl: true,
}
);
document.body.appendChild(el);
});
</script>
<style>
.aladin-stack-control {
bottom: 0;
}
</style>
</body>
</html>

View File

@@ -1,25 +1,30 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
<script>let aladin;</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
// Start up Aladin Lite
var aladin = A.aladin('#aladin-lite-div', {target: 'M 82', fov: 0.25});
aladin = A.aladin('#aladin-lite-div', {
target: '09 55 52.4 +69 40 47',
fov: 0.25,
showContextMenu: true,
fullScreen: true,
showSimbadPointerControl: true,
showShareControl: true,
showSettingsControl: true,
showStackLayerControl: true,
samp: true,
});
aladin.addCatalog(A.catalogFromSimbad('M 82', 0.1, {onClick: 'showTable'}));
A.catalogFromSimbad('09 55 52.4 +69 40 47', 0.1, {onClick: 'showTable', limit: 1000}, (cat) => {
aladin.addCatalog(cat)
});
aladin.addCatalog(A.catalogFromNED('09 55 52.4 +69 40 47', 0.1, {onClick: 'showPopup', shape: 'plus'}));
});
</script>

View File

@@ -1,25 +1,44 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'M 45', fov: 5});
aladin.addCatalog(A.catalogFromVizieR('I/311/hip2', 'M 45', 5, {onClick: 'showTable'}));
});
<script type="module">
import A from '../src/js/A.js';
var aladin;
var vmc_cepheids = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=401&FORMAT=votable&QUERY=SELECT%20*%20from%20vmc_er4_yjks_cepheidCatMetaData_fits_V3%20where%20%20CONTAINS(POINT(%27%27,RA2000,DEC2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var pessto = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=3&FORMAT=votable&QUERY=SELECT%20*%20from%20safcat.PESSTO_TRAN_CAT_V3%20where%20CONTAINS(POINT(%27%27,TRANSIENT_RAJ2000,TRANSIENT_DECJ2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'https://alasky.cds.unistra.fr/DSS/DSSColor/', target: 'LMC', fov: 5, showContextMenu: true});
aladin.addCatalog(A.catalogFromURL('https://vizier.u-strasbg.fr/viz-bin/votable?-source=HIP2&-c=LMC&-out.add=_RAJ,_DEJ&-oc.form=dm&-out.meta=DhuL&-out.max=9999&-c.rm=180', {sourceSize:12, color: '#f08080'}));
aladin.addCatalog(A.catalogFromURL(vmc_cepheids, {onClick: 'showTable', sourceSize:14, color: '#fff080'}));
aladin.addCatalog(A.catalogFromURL(pessto, {onClick: 'showPopup', sourceSize:14, color: '#00f080'}));
aladin.on('select', (objs) => {
console.log(objs, "are selected");
})
aladin.select();
});
</script>
</body>
</html>

View File

@@ -2,27 +2,18 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 31', fov: 0.2});
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 31', fov: 3});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.addFootprints([

View File

@@ -0,0 +1,23 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
var vmc_cepheids = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=401&FORMAT=votable&QUERY=SELECT%20*%20from%20vmc_er4_yjks_cepheidCatMetaData_fits_V3%20where%20%20CONTAINS(POINT(%27%27,RA2000,DEC2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var pessto = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=3&FORMAT=votable&QUERY=SELECT%20*%20from%20safcat.PESSTO_TRAN_CAT_V3%20where%20CONTAINS(POINT(%27%27,TRANSIENT_RAJ2000,TRANSIENT_DECJ2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'LMC', fov: 5});
aladin.addCatalog(A.catalogFromURL('https://vizier.u-strasbg.fr/viz-bin/votable?-source=HIP2&-c=LMC&-out.add=_RAJ,_DEJ&-oc.form=dm&-out.meta=DhuL&-out.max=9999&-c.rm=180', {sourceSize:12, color: '#f08080'}));
aladin.addCatalog(A.catalogFromURL(vmc_cepheids, {onClick: 'showTable', sourceSize:14, color: '#fff080'}));
aladin.addCatalog(A.catalogFromURL(pessto, {onClick: 'showPopup', sourceSize:14, color: '#00f080'}), undefined, true);
});
</script>
</body>
</html>

View File

@@ -1,32 +1,26 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id='infoDiv'>&nbsp; </div>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
var aladin = A.aladin('#aladin-lite-div', {target: '05 37 58 +08 17 35', fov: 12});
var aladin = A.aladin('#aladin-lite-div', {target: '05 37 58 +08 17 35', fov: 12, backgroundColor: 'rgb(120, 0, 0)'});
var cat = A.catalog({sourceSize: 20});
aladin.addCatalog(cat);
cat.addSources([A.source(83.784490, 09.934156, {name: 'Meissa'}), A.source(88.792939, 7.407064, {name: 'Betelgeuse'}), A.source(81.282764, 6.349703, {name: 'Bellatrix'})]);
cat.addSources([A.source(83.784490, 9.934156, {name: 'Meissa'}), A.source(88.792939, 7.407064, {name: 'Betelgeuse'}), A.source(81.282764, 6.349703, {name: 'Bellatrix'})]);
var msg;
// define function triggered when a source is hovered
aladin.on('objectHovered', function(object) {
var msg;
aladin.on('objectHovered', function(object, xyMouseCoords) {
if (object) {
msg = 'You hovered object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec;
msg = 'You hovered object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
else {
msg = 'No object hovered';
@@ -34,14 +28,22 @@
$('#infoDiv').html(msg);
});
aladin.on('objectHoveredStop', function(object, xyMouseCoords) {
if (object) {
msg = 'You stopped hove object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
$('#infoDiv').html(msg);
});
// define function triggered when an object is clicked
var objClicked;
aladin.on('objectClicked', function(object) {
var msg;
aladin.on('objectClicked', function(object, xyMouseCoords) {
if (object) {
objClicked = object;
object.select();
msg = 'You clicked object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec;
object.select();
msg = 'You clicked object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
else {
objClicked.deselect();
@@ -52,4 +54,4 @@
});
</script>
</body>
</html>
</html>

View File

@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {fov: 122, showContextMenu: true, fullScreen: true});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.addFootprints([A.polygon(
[[264.375,-35.68533471265207], [258.75,-30.000000000000018], [264.375,-24.624318352164085], [270,-30.000000000000018]],
{color: '#808080', fillColor: '#808080', opacity: .4, lineWidth: 1, fill: true})]);
aladin.gotoRaDec(264.375,-24.624318352164085);
});
</script>
</body>
</html>

View File

@@ -2,27 +2,16 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 1', fov: 0.2});
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 1', fov: 0.2, showContextMenu: true, fullScreen: true});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.addFootprints([
@@ -31,6 +20,22 @@
A.polygon([[8.62807, 220.06330], [83.58397, 10.02280], [150.62792, 87.02258]])
]);
overlay.add(A.circle(83.66067, 22.03081, 0.04, {color: 'cyan'})); // radius in degrees
aladin.on("footprintClicked", (footprint, xyMouseCoords) => {
console.log("footprint clicked catched: ", footprint, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("objectClicked", (object, xyMouseCoords) => {
console.log("object clicked catched: ", object, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("footprintHovered", (footprint, xyMouseCoords) => {
console.log("footprint hovered catched: ", footprint, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("objectHoveredStop", (object, xyMouseCoords) => {
console.log("Object hovered stopped: ", object, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
const cat = A.catalogFromVizieR('B/assocdata/obscore', 'M 1', 100, {onClick: 'showTable', limit: 1000});
aladin.addCatalog(cat);
});
</script>
</body>

View File

@@ -0,0 +1,42 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'P/allWISE/color', // set initial image survey
projection: 'AIT', // set a projection
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'galactic', // set galactic frame
reticleColor: '#00ff00', // change reticle color
reticleSize: 40, // change reticle size
gridOptions: {color: 'pink'},
showCooGrid: true, // set the grid
fullScreen: true,
showShareControl: true,
showSettingsControl: true,
showLayersControl: true,
showZoomControl: true,
showContextMenu: true,
showCooGridControl: true,
showSimbadPointerControl: true,
showFullscreenControl: true,
}
);
aladin.setFoVRange(1, 60)
});
</script>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div>
<div id="offset" style="display: inline-block; width: 200px; height: 100px"></div>
<div id="aladin-lite-div" style="display: inline-block; width: 50%"></div>
</div>
<!--<script type="text/javascript" src="https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js" charset="utf-8"></script>-->
<script>let aladin, hips</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: 'TAN', cooFrame: 'galactic', showSettingsControl: true, showSimbadPointerControl: true, showContextMenu: true, target: 'galactic center', survey: 'P/Finkbeiner'});
// possible values are 'blues', 'cividis', 'cubehelix', 'eosb', 'grayscale', 'inferno', 'magma', 'native', 'parula', 'plasma', 'rainbow',
// 'rdbu', 'rdylbu', 'redtemperature', 'sinebow', 'spectral', 'summer', 'viridis', 'ylgnbu' and 'ylorbr'
//aladin.getBaseImageLayer().setColor([1.0, 0.0, 1.0, 1.0], { tf: 'Linear'} );
});
</script>
</body>
</html>

View File

@@ -14,11 +14,11 @@
<form class="pure-form pure-form-stacked">
<fieldset>
<label for="option-gdr3-flux-color-map" class="pure-radio">
<input id="option-gdr3-flux-color-map" type="radio" name="img-hips" value="CDS/P/DM/flux-color-Rp-G-Bp/I/350/gaiaedr3" checked>
<input id="option-gdr3-flux-color-map" type="radio" name="img-hips" value="CDS/P/DM/flux-color-Rp-G-Bp/I/350/gaiaedr3">
Gaia DR3 flux map
</label>
<label for="option-gdr3-density-map" class="pure-radio">
<input id="option-gdr3-density-map" type="radio" name="img-hips" value="CDS/P/DM/I/350/gaiaedr3">
<input id="option-gdr3-density-map" type="radio" name="img-hips" value="CDS/P/DM/I/350/gaiaedr3" checked>
Gaia DR3 density map
</label>
<label for="option-DSS-map" class="pure-radio">
@@ -36,10 +36,8 @@
</body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
$('#layersControl').show();
<script type="module">
import A from '../src/js/A.js';
var curSelectedSource = null;
let aladin;
A.init.then(() => {
@@ -50,7 +48,7 @@
const fluxMap = aladin.createImageSurvey('gdr3-color-flux-map', 'Gaia DR3 flux map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/color-Rp-G-Bp-flux-map', 'equatorial', 7);
const densityMap = aladin.createImageSurvey('gdr3-density-map', 'Gaia DR3 density map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/density-map', 'equatorial', 7, {imgFormat: 'fits'});
aladin.setImageSurvey(fluxMap);
aladin.setImageSurvey(densityMap);
var hipsCats = {
//'gdr3': A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/I/355/gaiadr3', { name: 'Gaia DR3 sources', shape: 'circle', sourceSize: 8, color: '#d66bae' }),
@@ -62,7 +60,7 @@
aladin.addCatalog(hipsCats['simbad']);
//aladin.addCatalog(hipsCats['gdr3']);
cmDensMapChanged = false;
//cmDensMapChanged = false;
// listen changes on HiPS image background selection
$('input[type=radio][name=img-hips]').change(function () {
if (this.value == 'CDS/P/DM/I/350/gaiaedr3') {
@@ -75,7 +73,6 @@
}
});
// listen changes on HiPS catalogues selection
$('#overlay-form :checkbox').change(function () {
var cat = hipsCats[this.value];
@@ -89,7 +86,7 @@
});
// listen to click on objects
aladin.on('objectClicked', function (source) {
aladin.on('objectClicked', function (source, xyMouseCoords) {
var html = '<table class="pure-table">';
if (curSelectedSource != null) {
@@ -143,4 +140,4 @@
});
});
</script>
</html>
</html>

View File

@@ -0,0 +1,16 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/DSS2/color", fov:1, showCooGridControl:true});
aladin.gotoObject('M 10');
});
</script>
</body>
</html>

27
examples/al-gw.html Normal file
View File

@@ -0,0 +1,27 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script> var aladin;
</script>
<script type="module">
import A from '../src/js/A.js';
//let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {showReticle: true, showSurveyStackControl: true, showOverlayStackControl: false, projection: "TAN", target: '15 16 57.636 -60 55 7.49', showProjectionControl: true, realFullscreen: true, showZoomControl: true, showSimbadPointerControl: true, showShareControl: true, showContextMenu: true, showCooGridControl: true, fullScreen: true, showCooGrid: true, fov: 90});
var moc_0_99 = A.MOCFromURL("./data//gw/gw_0.9.fits",{ name: "GW 90%", color: "#ff0000", opacity: 0.0, lineWidth: 3, fill: false, perimeter: true});
var moc_0_95 = A.MOCFromURL("./data/gw/gw_0.6.fits",{ name: "GW 60%", color: "#00ff00", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
var moc_0_5 = A.MOCFromURL("./data/gw/gw_0.3.fits",{ name: "GW 30%", color: "#00ffff", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
var moc_0_2 = A.MOCFromURL("./data/gw/gw_0.1.fits",{ name: "GW 10%", color: "#ff00ff", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
aladin.addMOC(moc_0_99);
aladin.addMOC(moc_0_95);
aladin.addMOC(moc_0_5);
aladin.addMOC(moc_0_2);
});
</script>
</body>
</html>

View File

@@ -1,20 +1,13 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'http://alasky.cds.unistra.fr/ancillary/GaiaDR2/hips-density-map/', target: 'galactic center'});

View File

@@ -0,0 +1,21 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'galactic center'});
let survey = aladin.createImageSurvey('hips gaia', "hips gaia name", "data/hips/gaia", undefined, undefined, {colormap:"viridis"});
aladin.setBaseImageLayer(survey);
});
</script>
</body>
</html>

View File

@@ -1,28 +1,21 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'http://alasky.cds.unistra.fr/ancillary/GaiaDR2/hips-density-map/', target: 'galactic center'});
aladin = A.aladin('#aladin-lite-div', {survey: 'http://alasky.cds.unistra.fr/ancillary/GaiaDR2/hips-density-map/', showProjectionControl: true, showContextMenu: true, showStatusBar: true, fullScreen: true, target: 'galactic center'});
const fluxMap = aladin.createImageSurvey('gdr3-color-flux-map', 'Gaia DR3 flux map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/color-Rp-G-Bp-flux-map', 'equatorial', 7);
const densityMap = aladin.createImageSurvey('gdr3-density-map', 'Gaia DR3 density map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/density-map', 'equatorial', 7, {imgFormat: 'fits'});
const decaps = aladin.createImageSurvey("decaps", "DECaPS DR1", "http://alasky.u-strasbg.fr/DECaPS/DR1/color/", "equatorial", 11, {imgFormat: 'png'});
const panstarrs = aladin.createImageSurvey("panstarrs", "PanSTARRS", "http://alasky.u-strasbg.fr/Pan-STARRS/DR1/color-i-r-g/", "equatorial", 11, {imgFormat: 'jpg'});
const densityMap = aladin.createImageSurvey('gdr3-density-map', 'Gaia DR3 density map', 'sdfsg', 'equatorial', 7, {formats: ['fits']});
const decaps = aladin.createImageSurvey("decaps", "DECaPS DR1", "http://alasky.u-strasbg.fr/DECaPS/DR1/color/", "equatorial", 11, {formats: ['png'], tileSize: 512});
const panstarrs = aladin.createImageSurvey("panstarrs", "PanSTARRS", "http://alasky.u-strasbg.fr/Pan-STARRS/DR1/color-i-r-g/", "equatorial", 11, {formats: ['jpg']});
aladin.setOverlayImageLayer(fluxMap)
aladin.setOverlayImageLayer(densityMap, "density")

View File

@@ -0,0 +1,34 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
// Start up Aladin Lite
let aladin = A.aladin('#aladin-lite-div', {target: 'Sgr a*', fov: 0.5, showContextMenu: true});
let survey1 = aladin.getBaseImageLayer();
survey1.setColormap('magma', {stretch: 'linear'});
let survey2 = aladin.newImageSurvey("CDS/P/2MASS6X/H");
aladin.setImageLayer(survey2)
survey2.setColormap('rdbu', {stretch: 'asinh'});
let survey3 = aladin.newImageSurvey("https://alasky.cds.unistra.fr/CFHTLS-T0007b/Deep/UALLSKY/");
aladin.setImageLayer(survey3)
survey3.setColormap('cubehelix', {stretch: 'linear'});
aladin.setImageLayer(survey2);
aladin.setImageLayer(survey3);
aladin.setImageLayer(survey3);
//aladin.setOverlayImageLayer(survey2);
});
</script>
</body>
</html>

View File

@@ -1,24 +1,16 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'galactic center'});
aladin.setImageSurvey('P/allWISE/color');
aladin = A.aladin('#aladin-lite-div', {survey: 'P/allWISE/color', target: 'galactic center'});
});
</script>

View File

@@ -0,0 +1,27 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {
target: '09 55 52.4 +69 40 47',
fov: 0.25,
showContextMenu: true,
fullScreen: true,
showSimbadPointerControl: true,
});
aladin.addCatalog(A.catalogFromURL('./data/votable/IMCCE.with_namespace.vot', {onClick: 'showTable', limit: 1000}));
});
</script>
</body>
</html>

View File

@@ -1,23 +1,17 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="module">
import A from '../src/js/A.js';
var aladin;
<script type="text/javascript">
let aladin;
A.init.then(() => {
var aladin = A.aladin(
aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'P/allWISE/color', // set initial image survey
@@ -25,10 +19,19 @@
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'galactic', // set galactic frame
reticleColor: '#ff89ff', // change reticle color
reticleSize: 64, // change reticle size
reticleColor: '#00ff00', // change reticle color
reticleSize: 40, // change reticle size
gridOptions: {color: 'pink'},
showCooGrid: true, // set the grid
fullScreen: true,
showShareControl: true,
showSettingsControl: true,
showLayersControl: true,
showZoomControl: true,
showContextMenu: true,
showCooGridControl: true,
//showSimbadPointerControl: true,
showFullscreenControl: true,
}
);
});

View File

@@ -1,20 +1,13 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" />
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin(

View File

@@ -1,20 +1,12 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
var aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'LMC', fov: 5});
aladin.addCatalog(A.catalogFromURL('https://vizier.u-strasbg.fr/viz-bin/votable?-source=HIP2&-c=LMC&-out.add=_RAJ,_DEJ&-oc.form=dm&-out.meta=DhuL&-out.max=9999&-c.rm=180', {sourceSize:12, color: '#f08080'}));

View File

@@ -1,24 +1,17 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
let a = A.aladin('#aladin-lite-div', {target: '03 47 00.00 +24 07 00.0', survey: 'P/DSS2/color', zoom: 2, showReticle: false});
var cat = A.catalog({name: 'Some markers', sourceSize: 18});
a.addCatalog(cat);
cat.addSources([A.marker(56.87115, 24.10514, {popupTitle: 'Alcyone', popupDesc: '<em>Bmag:</em> 2.806<br/><em>Spectral type:</em> B7III<br/>More info <a target="_blank" href="https://simbad.u-strasbg.fr/simbad/sim-id?Ident=NAME%20ALCYONE&submit=submit">in Simbad</a>'})]);
cat.addSources([A.marker(57.29673, 24.13671, {popupTitle: 'Pleione', popupDesc: '<em>Bmag:</em> 4.97<br/><em>Spectral type:</em> B8vne<br/>More info <a target="_blank" href="https://simbad.u-strasbg.fr/simbad/sim-id?Ident=NAME+PLEIONE&NbIdent=1">in Simbad</a>'})]);
cat.addSources([A.marker(56.58156, 23.94836, {popupTitle: 'Merope', popupDesc: '<em>Bmag:</em> 4.113<br/><em>Spectral type:</em> BVI4e<br/>More info <a target="_blank" href="https://simbad.u-strasbg.fr/simbad/sim-id?Ident=V*+V971+Tau&NbIdent=1">in Simbad</a>'})]);

View File

@@ -1,57 +0,0 @@
<!doctype html>
<html>
<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>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: '240 +10.65', cooFrame: 'j2000d', fov: 90, showFrame: false, showCooGrid: true, showLayersControl: false, showGotoControl: false, fullScreen: true});
var mars = aladin.createImageSurvey('Mars', 'Mars', 'http://hips-calculator1.astro.unistra.fr/boch/MARS-CTX/hips', 'j2000', 11);
aladin.setImageSurvey(mars);
var c = document.createElement('canvas'); c.width = c.height = 11; var ctx = c.getContext('2d'); ctx.beginPath(); ctx.arc(5, 5, 4, 0, 2 * Math.PI, false); ctx.closePath(); ctx.strokeStyle = '#ccc'; ctx.lineWidth = 2; ctx.stroke();
var geoFeatures = A.catalog({shape: c, labelColumn: 'name', displayLabel: true, labelColor: '#fff', labelFont: '14px sans-serif'});
aladin.addCatalog(geoFeatures);
geoFeatures.addSources(A.source(226.2, 18.65, {name: 'Olympus Mons'}));
geoFeatures.addSources(A.source(70.5, -42.4, {name: 'Hellas Planitia'}));
geoFeatures.addSources(A.source(250.4, 40.5, {name: 'Alba Mons'}));
geoFeatures.addSources(A.source(-59.2, -13.9, {name: 'Valles Marineris'}));
geoFeatures.addSources(A.source(147.21, 25.02, {name: 'Elysium Mons'}));
geoFeatures.addSources(A.source(316.0, -49.7, {name: 'Argyre Basin'}));
geoFeatures.addSources(A.source(32.53, 70, {name: 'Vastitas Borealis'}));
geoFeatures.addSources(A.source(-112.58, 1.57, {name: 'Tharsis Montes'}));
geoFeatures.addSources(A.source(298, 25, {name: 'Outflow channels'}));
geoFeatures.addSources(A.source(30, 19.79, {name: 'Arabia Terra'}));
geoFeatures.addSources(A.source(70.5, -42.4, {name: 'Hellas Basin'}));
geoFeatures.addSources(A.source(280, 45, {name: 'Tempe Terra'}));
geoFeatures.addSources(A.source(87, 12.9, {name: 'Isidis Basin'}));
geoFeatures.addSources(A.source(117.5, 46.7, {name: 'Utopia Basin'}));
geoFeatures.addSources(A.source(350, -45, {name: 'Noachis Terra'}));
var landingSites = A.catalog({sourceSize: 16}); aladin.addCatalog(landingSites);
landingSites.addSources([A.marker(-47.95, 22.27, {popupTitle: 'Viking 1', popupDesc: 'Landing date: July 20, 1976 11:53:06'})]);
landingSites.addSources([A.marker(-125.7, 68.22, {popupTitle: 'Phoenix', popupDesc: 'Landing date: May 25, 2008 23:53:44 UTC'})]);
landingSites.addSources([A.marker(-33.22, 19.13, {popupTitle: 'Pathfinder', popupDesc: 'Landing date: July 4, 1997 16:56:55 UTC'})]);
landingSites.addSources([A.marker(354.4734, -1.9462, {popupTitle: 'Opportunity', popupDesc: 'Landing date: January 25, 2004, 05:05 UTC'})]);
landingSites.addSources([A.marker(-225.71, 47.64, {popupTitle: 'Viking 2', popupDesc: 'Landing date: September 3, 1976 22:37:50'})]);
landingSites.addSources([A.marker(175.472636, -14.5684, {popupTitle: 'Spirit', popupDesc: 'Landing date: January 4, 2004, 04:35 UTC '})]);
landingSites.addSources([A.marker(137.4417, -4.5895, {popupTitle: 'Curiosity', popupDesc: 'Landing date: August 6, 2012, 05:17 UTC '})])
});
</script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More