Skip to content

soar-telescope/aladin-lite

 
 

Repository files navigation

Aladin Lite v3

An astronomical HiPS visualizer in the browser Aladin Lite logo

Aladin Lite is a Web application which enables HiPS visualization from the browser. It is developed at CDS, Strasbourg astronomical data center.

See A&A 578, A114 (2015) and IVOA HiPS Recommendation 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, ESO Science Archive portal and ALMA Portal.

More details on Aladin Lite documentation page.

How to test it ?

Aladin Lite v3 is out! Please play with Aladin Lite v3 at this link.

If you want to embed it into your webpage, please include the javascript script of Aladin Lite v3 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:

<!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>

New features corner

  • Fits images drag and drop
  • Support of fits and webp tiles
  • Planetary name resolver

Goals of v3

  • Rust/WebGL new core integration

  • Remove jQuery dep

  • UI dev, better support for smartphones

  • FITS images support

  • easy sharing of current « view »

  • support of all VOTable serializations (using votable.js?)

  • support of FITS tables?

  • creating HiPS instance from an URL

  • multiple mirrors handling for HiPS tile retrival

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

Aladin Lite is currently licensed under GPL v3.0

If you think this license might prevent you from using Aladin Lite in your pages/application/portal, please open an issue or contact us

Contributing

There are several ways to contribute to Aladin Lite:

  • report a bug: anyone is welcome to open an issue to report a bug. Please make sure first the issue does not exist yet. Be as specific as possible, and provide if possible detailed instructions about how to reproduce the problem.

  • suggest a new feature: if you feel something is missing, check first if a similar feature request has not already been submitted in the open issues. If not, open a new issue, and give a detailed explanation of the feature you wish.

  • develop new features/provide code fixing bugs. As open development is a new thing for us, we will in a first time only take into consideration code contribution (i.e. Pull Requests) from our close partners. In any case, please get in touch before starting a major update or rewrite.

Building the application steps

First you need to install the dependencies from the package.json Please run:

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

Once it's installed you can only build the project:

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):

npm run serve

For just compiling the rust core from the root location (it is faster to do so)

cd src/core
cargo check --features webgl2

and run the tests

cd src/core
cargo test

To generate the Rust backend API documentation

cd src/core
cargo doc --no-deps --open

Releases

No releases published

Packages

No packages published

Languages

  • Rust 53.2%
  • JavaScript 40.1%
  • GLSL 4.5%
  • CSS 1.8%
  • Shell 0.4%