Aladin FAQ
P.Fernique/T.Boch/D.Durand - November 2017 - edition 16

This FAQ version corresponds to the Aladin release 10
In the document, the modifications from the 14th version
are written in green colour and marked by *,
Additions from 15th version are in brown and marked by **

Contents:


1   ** WHAT'S NEW WITH ALADIN


Aladin 10 - October 2017 - (Quick overview...)

Aladin 9 - November 2015 - (Quick overview...)

Aladin 8 - February 2014 - (Quick overview...)

Aladin 7.5 - July 2012

Aladin 7 (All sky) - November 2010 - (Quick overview...)

Aladin 6 - July 2009 - (Quick overview...)

Aladin 5 - february 2008 - (Quick overview...)

Aladin 4 - February 2007 - (Quick overview...)

Aladin 3.7 - August 2006

Aladin 3.5 - August 2005

Aladin 3.0 (Multiview) - April 2005

Aladin 2.0 - November 2003

Aladin 1.4 - January 2003

Aladin 1.3 - June 2002

Aladin 1.2 - December 2001


2  WHAT IS ALADIN?


2.1  What is Aladin ?

Aladin is an interactive software sky atlas allowing the user to visualize digitized astronomical images, superimpose entries from astronomical catalogues or databases, and interactively access related data and information from the Simbad database, the VizieR service and other archives for all known sources in the field.

Created in 1999, Aladin has become a widely-used VO tool capable of addressing challenges such as locating data of interest, accessing and exploring distributed datasets, visualizing multi-wavelength data. Compliance with existing or emerging VO standards, interconnection with other visualisation or analysis tools, ability to easily compare heterogeneous data are key topics allowing Aladin to be a powerful data exploration and integration tool as well as a science enabler.

Aladin is declined in 2 tools:

This FAQ is dedicated to Aladin "Desktop" client. Documentation concerning Aladin Lite is available at this address: http://aladin.u-strasbg.fr/AladinLite/doc

Aladin is developed and maintained by the Centre de Données astronomiques de Strasbourg (CDS).
The Aladin manager is Pierre Fernique

Authors:

Contributors:

Other contributions:

Copyright:

2.2   * Who is using Aladin Desktop?

Aladin is using by professional astronomers for doing their science. Here the Aladin citation history from ADS. In addition of professional astronomers and amateurs, Aladin is also incorporated in many astronomical projects and courses.
We provide below some examples (non-exhaustive list):

Softwares:

Institutes:

Projects:

Courses & astronomical tutorials:

Repackaging:

2.3  Which astronomical data are available via Aladin?

Aladin allows you to access any astronomical service over the world which provides Aladin compatible data (images, cubes, catalogues, ...). From biggest data centers such as NASA, ESA, ESO, MAST, CADC, JAXA, CDS (Simbad, VizieR), NED, SkyView, IRAS, GAVO, ... to smaller institutes or project portails such as SLOAN, LEDAS, SUPERCosmos, SkyBOT, SLOAN, ... more than 20,000 data collections are available in a few clicks.

In Aladin v10, this data collection list is presented as a "data tree" (left panel) that you can easily browse, filter, explore...

In addition, you can use your own data images (in FITS, JPEG, GIF, PNG), catalogues (FITS, VOTable, Tab-Separated-Value (TSV), Character-Separated-Value (CSV), IPAC-TBL or simple ASCII tables (aligned columns)), or all sky maps (HiPS and HEALPix FITS maps) via the menu "File -> Open local file" or on the command line as one argument or also via the script command "load".

2.4   * Aladin Desktop, Aladin Lite? Which difference?

Aladin Sky Atlas project is declined in 2 tools:

2.5  Beta releases, which differences with official Aladin version ?

The Aladin team distributes another version continuously updated: the beta release.

The beta version incorporates new features in test phase for the next official Aladin version. The stability of these features is not totally guaranteed. (details...)

This beta version can be downloaded from the Aladin download page.

2.6   ** Is it true that Aladin V10 is now supporting planets?

It is partially true. Aladin V10 beta is already integrating some planet supports, notably some HiPS planet maps, and the support to EPNcore (IVOA planet standard). But this extension is not yet achieved, thus, not available in the official release.

Note: if you want to start Aladin official release in "beta" mode, just add the command line parameter "-beta" => java -jar Aladin.jar -beta


3  GETTING AND RUNNING ALADIN


3.1  Are Aladin program and documentation only in English ?

Aladin program has multi-language support. Presently, it supports French, English, German ,Italian, Traditional and Simplified Chinese, Russian, Persian, Spanish, Japanese, Portuguese languages. It can be easily extended to other languages by following these instructions:

  1. Launch Aladin and open the preference panel (menu Edit -> User preferences);
  2. Check your language, and if it is not in the list, press the "New Translation" button ;
  3. Follow the instructions;
Do not hesitate to mail us for more details.

By default, if it supports it, Aladin starts in the Operating System language, otherwise it starts in English. You can force this choice via the menu Edit -> User preferences.

Call for translaters: We would be very pleased to support other languages. Do not hesitate to contact us if you would like to add your own, or if you have done the translation for your own needs and you agree to integrate your translation in the official version (Email: cds-question at astro.unistra.fr).

The Aladin documentation is available in Italian, French and English language.

3.2   ** I do not want to read the manual!

As a lot of users, you do not like to read a big manual, especially if this one is a little bit dated. Anyway, you can easily explore the Aladin interface and menu and play with it without requiring to read the manual before. Just launch Aladin, and enjoy the sky.

Now, if you need help, a new function has been incorporated in the Aladin version 10 for "lazy" users. Just let your mouse on a button or a icon. After 6 seconds, you will get a quick help on this function, a little bit longer to the basic tooltip.

3.3   ** How to install and start Aladin Desktop?

The easiest method to install and start Aladin Desktop is to click on this JNLP URL (Java Webstart installer).

Also, Aladin Desktop can be downloaded from Aladin standalone page.

Note that you need to have a Java runtime environment installed on you machine - http://www.Java.com/download - see next point for details.

You can also start Aladin Desktop by downloading the Aladin.jar file and use this command line in a console window:

Java -jar Aladin.jar

3.4  What is a "Java Virtual Machine"?

Any Java executable (like Aladin) is generated by a Java compiler which generates binary code. This binary code is (in theory), independent from any hardware configurations and operating systems. To be executed, it needs a virtual machine, which is a special programme analysing the binary code and executing the instructions for a given architecture.

This Java Virtual Machine need to be downloaded for your particular platform - see http://www.Java.com/download

3.5   ** Can I still use Aladin in applet mode?

Yes you still can, but...

In the applet case, you are running Aladin directly from within a browser such as Firefox, Opera, IExplorer... These days, the Java applet technology is more and more deprecated and HTML5 solution such as AladinLite should be preferred.

Even if Aladin Desktop release 9 is still supporting the applet mode, Aladin version 10 is no longer supporting applet. If you still need Aladin in your Web navigator, have a look on Aladin Lite whish provides definitively a better solution (see http://aladin.u-strasbg.fr/AladinLite/doc).

3.6   ** Which machines support Aladin?

Aladin is compatible from Java release 1.6 to the last Java release. It means that Aladin is supported by the majority of the existing desktop machines - PC under Linux or Windows, Macintosh under OSX,...

When developing Aladin, we are usually trying hard to optimize its performances. So even a "small" computer is a good choice to run Aladin. However, large catalogs (>1,000,000 sources), you need enough memory (typically 2Gb Ram).

Note that Aladin Desktop can not run under Android phones/pads nor Mac mobile phones. Mac phones do not integrate Java technology. And even if Android system is Java based, Google has not implemented legacy Java Oracle libraries required by Aladin (notably AWT). Thus, no mobile support for Aladin Desktop.

3.7   * Can I use OpenJDK?

Aladin is running fine either on OpenJDK Java runtime machine, or on regular Oracle Java runtime machine. Just insure that your version of Java is at least 1.6.

3.8  How accurate are Aladin's coordinates?

All Aladin's coordinates are given to the best astrometric accuracy decoded from images header.

However, in some cases, positions could be off by many arc seconds and can't be used as precise astrometric positions (depending of the image WCS header).

The accuracy of the positions of one given image can easily be checked by superimposing reference astrometric catalogues such as the Tycho-2 Catalogue or the Gaia catalogue. Although even those astrometric catalogues do carry astrometric errors. We advice any potential user who requires precise astrometry to read the documentation of these catalogues to understand their limits.

3.9  What is maximum size of image which Aladin could handle?

Aladin has no RAM limit for images loading in FITS format. If the image is too large for your memory, Aladin will create a preview on the fly and will load the missing pixels since you zoom on a position. Notice that the uncompressor (rice or gzip) can require a lot of memory. In this case, it is preferable to uncompress your huge image with independent tool before loading it in Aladin.

Note: If you are using large JPEG or PNG images, you need to reserve at least 6x image size as RAM (ex: JPEG 20000x20000 requires 2,2GB). See also the FAQ question just above for increasing memory.

Notice that you have also the possibility to create and use a HiPS from your huge image, or collection of huge images) (see this section).

3.10  What is maximum catalog size Aladin can handle?

Aladin spends about 500 bytes per catalog object in memory. It means that you can load about 2 million objects catalog with 1 GB RAM free.But in practice, it is difficult to work with more than 1 million object due to the redrawing time.

See also the FAQ question just above for increasing memory.

3.11  Can I increase the Java memory?

Yes you can!
The Java command line parameter "-Xmx" allows you to increase the maximum memory size used by your Java runtime environment.

For example: Java -Xmx2g -jar Aladin.jar.

But, if you have used a dedicated Aladin packaging you will have to adapt the Aladin launcher according to your configuration:

Warning: if you plan to increase JVM memory to more than 4GB, you have to install a 64-bit JVM.


4  USAGE


4.1   ** How can I find and load data from astronomical servers?

Aladin V10 provides a global method to load images, cubes, catalogs, based on the "Data Discovery Tree". In the new left panel, Aladin V10 displays all data collections that you can load as a tree (more than 20,000 collections). This tree aggregates all collections provided by data centers, institutes, and other projects compatible with the Virtual Observatory, notably CDS collections (Simbad and VizieR catalogs) and HiPS surveys. Explore this tree by opening branches, and click on a collection name to get the "access form" window associated to this collection. This small form shows all available methods to access this collection (by cone, by criteria, by region,...) and possible derived products (coverage map, density map,...).

Additionnally, Aladin V10 provides a powerful filter mechanisms to hide temporary non relevant collections (by keywords or other coverage constraints).

Note that the "Server Selector" form previously used in earlier versions is still available (menu File -> Open server selector... Ctrl+L)).

4.2   ** I do not retrieve my surveys in the File menu?

You are right! Since the release v10, all data collections are now available by the Data Discovery Tree (left panel), and no longer via the File menus.

4.3   ** There are too many collections in the Data Discovery Tree!

It is true! And the filter function will be your friend ("select" field under the tree panel). Do not hesitate to type keywords, ID, or any other constraints that you need to filter this long list of collections.

Also, do not hesitate to explore the advanced filter mechanisms (menu File -> Filter on data collections..."). You will discover that you filter this list by a lot of advanced contraints (spatial, temporal, energy). Note that these advanced filters can be saved to be reused later. They appear in the filter selector just under the "select" field.

Also, you could create a bookmark for a specific collection for avoiding to search it each time you need (bookmark icon in the "Access Window" associated to each collection)

4.4   ** In the Data Discovery Tree, some branches appear in green others in orange. Why?

In the data tree provided by Aladin V10 for accessing to any data collection, the leaves written in green color will have results inside the current view. At the opposite, the leaves in orange will not have data in the current view. If the collection does not provide its coverage (MOC), Aladin will display it in white color (no coverage knowledge)

4.5   ** I do not understand what does the "scan" function make?

Under the Data Discovery Tree, you have a "scan" icon. It can be activated for collections which do not provide their spatial coverage (MOC) in the VO registry. In this case Aladin is not able to know in advance if there will be or not results in the current field.

To solve this issue, you can "scan" these collections (those you have selected in the tree). Aladin will explore these collections in order to produce a "temporary" and "local" coverage map for each of them. After this process, Aladin will be able to indicate if these collections will have results (green color) or not (orange results) in the field.

Note: Take care that this scan process can be long and quite "heavy" for the collection servers. So try to convince the data providers to generate their MOC and register them in the VO registry. Definitively a better solution.

4.6  Can I load my own image or table files?

Yes, you can !
The simplest way is to select the menu "File -> Open local file (Ctrl O)".

The dedicated format for the images are FITS with or without a WCS fields in the header. These images can be compressed with RICE, GZIP or HCompress. The Multiple FITS extension format is fully supported.

You can also load JPEG, PNG or GIF images. Generally these will be loaded without astrometric solution, so you will have to add one manually (via the menu "Image -> Astrometrical calibration") if you want to overlay sources from astronomical catalogues - see the point above for astrometrical calibrated JPEG or PNG image.

Also, Aladin supports PDS images (Planetary Data System), but with these restrictions: no compression and the header must be inside the image.

The available format for the tables are:

CSV examples (with TAB):

One record per line, EACH FIELD SEPARATED by ONE TAB. Heading line can be present. If there are several heading lines, the header and the data have to separated by a dash line as shown below. If there is no header at all, the first column has to be RA, the second column DE.
By default, the coordinates are assumed in ICRS, either in decimal degrees or in sexagesimal notation (with ' ' or ':' separator). Aladin can also support ECL, GAL and SGAL coordinate frame based on no-ambiguous colum names.

Example 1:

   
05 34 53.16 	+22 03 20.0 	[SPB96] 910	 UV
05 34 21.95 	+22 05 52.0 	[SPB96] 885	 UV
05 34 14.85 	+22 05 25.4 	G 100-20	 PM*
05 33 51.13 	+21 56 28.0 	[SPB96] 858	 UV
05 34 47.04 	+21 51 51.0 	[SPB96] 906	 UV

Example 2:

   
ID	RAJ2000	DEJ2000	GSC number	Pmag
	deg	deg		mag
--	-------	-------	----------	-----
01	185.701	15.822	0144501972	15.55
02	185.766	15.795	0144502507	13.92
03	185.704	15.844	0144501918	15.06
04	185.710	15.849	0144502383	14.78

You have four possibilities to load your own data:

Note: Aladin recognizes automatically the types of files. Filename extension doesn't matter. However for Aladin script files, it is recommended to use ".ajs" extension to avoid some ambiguities.

4.7  Is Aladin supporting IPAC TBL format?

Yes, it is, since version 7.5 !

4.8  Is Aladin supporting MS-Excel or Libreoffice CSV?

Yes, it is, since version 7.5 !
The possible quoting values are correctly interpreted

4.9  Is Aladin supporting JPEG, PNG or GIF image format?

Yes, it is !
Aladin is supporting JPEG, PNG and GIF images. Generally these images will be load without astrometric solution. You will have to add one manually via the menu "Image -> Astrometrical calibration"

For JPEG and PNG formats, Aladin is able to recognize a FIT header stored into a "comment segment". It means that you can easily attach a WCS astrometrical solution to your JPEG or PNG image with a simple image tool such as GIMP. The supported syntax can be either FITS header dump or ASCII lines not necessary aligned on 80 characters. Alternatively, the FITS header can be stored in an associated file with the same file name and the extesion ".hhh". This file can be a classical 80 character FITS header, or a basic ASCII file.

Aladin also recognizes AVM tags inside a JPEG or PNG image (new emerging VO standard) for finding the astrometrical solution. Note that Aladin saves JPEG and PNG images with the WCS astrometrical solution in FITS keyword syntax, not via AVM

4.10  Is Aladin supporting PDS image format?

Yes, but partially !
Since release 7.5 Aladin can display Planetary Data System images (PDS). But this extension has been implemented "a minima". These images must be uncompressed, and the meta-data header must be inside the file.

4.11  Can I load my own Field of View (FoV)?

Yes, you can!
You have two possibilities:

4.11.1  Via a list of graphical regions

Since release 7.5 Aladin is supporting graphical region definitions (IDL or DS9 syntaxes), it is a simple alternative for displaying a FOV. See next section.

4.11.2  Via a VOTable file

Aladin can use a XML format for describing instrument field of views (FoV). You can describe your FoV in a simple XML/VOTable document as shown in the example below. And load this file in Aladin to draw it. The user will be allow to move it, possibly to roll it, switch on/off some FoV components...

Note: This feature can be used to create your own Proposal tool based on this standard and VOApp/VOObserver Aladin Java interfaces (more...). For instance, see APT (STScI HST Proposal Tool) (demo...)

INT WFC example (thanks to Luis Coral for this example)

   <?xml version="1.0"?>
   <VOTABLE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.ivoa.net/xml/VOTable/v1.1">
     <DESCRIPTION>INT WFC FoV description</DESCRIPTION>
     <!-- This is the FOV itself (and a utype for that) -->
     <RESOURCE ID="INT_WFC_FoV" name ="INT WFC Field of View" utype="ivoa:characterization/[ucd=pos]/coverage/support" >
       <DESCRIPTION>INT WFC is a mosaic camera. The full 
           mosaic is made up of 4 2Kx4100 CCDs in a L-shape design. CCDs are separated
           on the sky by some arc sec gaps. The FoV of each CCD is 11.26 arcmin x 22.55 arcmin.
       </DESCRIPTION>
       <!-- These two complete the Field of View Coordinate system -->
       <PARAM name="FOV Coord Frame" datatype="char"
               utype="stc:AstroCoordSys/SpaceFrame/SpaceRefFrame" value="J2000.0"/>
       <PARAM name="FOV Coord Flavor" datatype="char"
               utype="stc:AstroCoordSys/SpaceFrame/CoordFlavor" value="CARTESIAN"/>

       <!-- First row -->
       <TABLE ID="ccd4" name="Field of View">
         <PARAM name="Region" value="Polygon" />
         <!-- here comes the description of the Vertexes in the tilted and recentered frame -->
         <FIELD ID="VRO" name="VertexRAOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[1]"/>
         <FIELD ID="VDO" name="VertexDecOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[2]"/>
         <DATA>
           <TABLEDATA>
             <TR><TD>-342.0</TD><TD>-97.0</TD></TR>
             <TR><TD>1011.0</TD><TD>-97.0</TD></TR>
             <TR><TD>1011.0</TD><TD>578.8</TD></TR>
             <TR><TD>-342.0</TD><TD>578.8</TD></TR>
           </TABLEDATA>
         </DATA>
       </TABLE>

       <TABLE ID="ccd1" name="Field of View">
         <PARAM name="Region" value="Polygon" />
         <!-- here comes the description of the Vertexes in the tilted and recentered frame -->
         <FIELD ID="VRO" name="VertexRAOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[1]"/>
         <FIELD ID="VDO" name="VertexDecOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[2]"/>
         <DATA>
           <TABLEDATA>
             <TR><TD>-342.0</TD><TD>-795.4</TD></TR>
             <TR><TD>1011.0</TD><TD>-795.4</TD></TR>
             <TR><TD>1011.0</TD><TD>-119.6</TD></TR>
             <TR><TD>-342.0</TD><TD>-119.6</TD></TR>
           </TABLEDATA>
         </DATA>
       </TABLE>

       <TABLE ID="ccd2" name="Field of View">
         <PARAM name="Region" value="Polygon" />
         <!-- here comes the description of the Vertexes in the tilted and recentered frame -->
         <FIELD ID="VRO" name="VertexRAOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[1]"/>
         <FIELD ID="VDO" name="VertexDecOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[2]"/>
         <DATA>
           <TABLEDATA>
             <TR><TD>-1038.8</TD><TD>-795.4</TD></TR>
             <TR><TD>-363.0</TD><TD>-795.0</TD></TR>
             <TR><TD>-363.0</TD><TD>557.6</TD></TR>
             <TR><TD>-1038.8</TD><TD>557.6</TD></TR>
           </TABLEDATA>
         </DATA>
       </TABLE>

       <TABLE ID="ccd3" name="Field of View">
         <PARAM name="Region" value="Polygon" />
         <!-- here comes the description of the Vertexes in the tilted and recentered frame -->
         <FIELD ID="VRO" name="VertexRAOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[1]"/>
         <FIELD ID="VDO" name="VertexDecOffset" datatype="float" unit="arcsec"
             utype="stc:AstroCoordArea/Region/reg:Polygon/Vertex/Position[2]"/>
         <DATA>
           <TABLEDATA>
             <TR><TD>-342.0</TD><TD>595.9</TD></TR>
             <TR><TD>1011.0</TD><TD>595.9</TD></TR>
             <TR><TD>1011.0</TD><TD>1271.7</TD></TR>
             <TR><TD>-342.0</TD><TD>1271.7</TD></TR>
           </TABLEDATA>
         </DATA>
       </TABLE>

     </RESOURCE>
   </VOTABLE>

Other possible shapes:

Circle:

   <TABLE ID="maxExtCircle" name="maxExtCircle">
      <PARAM name="Region" value="Circle" />
      <PARAM ID="CRO" name="CenterXOffset" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Sector/Center[1]" value="0.0" />
      <PARAM ID="CDO" name="CenterYOffset" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Sector/Center[2]" value="0.0" />
      <PARAM ID="radius" name="Radius" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Circle/radius" value="159.66021953366922" />
   </TABLE>

"Pickle":

   <TABLE ID="FGS1 (outline)" name="HST/FGS1/FGS1 (outline)">
      <PARAM name="Region" value="Pickle" />
      <PARAM ID="CRO" name="CenterXOffset" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Sector/Center[1]" value="261.6416" />
      <PARAM ID="CDO" name="CenterYOffset" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Sector/Center[2]" value="238.6036" />
      <PARAM ID="a1" name="StartAngle" datatype="float" unit="deg" utype="stc:AstroCoordArea/Region/reg:Sector/angle1" value="-48.722" />
      <PARAM ID="a2" name="EndAngle" datatype="float" unit="deg" utype="stc:AstroCoordArea/Region/reg:Sector/angle2" value="-130.064" />
      <PARAM ID="rad1" name="ExternalRadius" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Circle/radius" value="824.9" />
      <PARAM ID="rad2" name="InternalRadius" datatype="float" unit="arcsec" utype="stc:AstroCoordArea/Region/reg:Circle/radius" value="618.25" />
   </TABLE>

Label:

   <TABLE ID="PC1-label">
      <PARAM utype="app:footprint.render.overlay.string" />
      <PARAM utype="stc:AstroCoord.Position2D.Value2.C1" unit="arcsec" value="259.0" />
      <PARAM utype="stc:AstroCoord.Position2D.Value2.C2" unit="arcsec" value="265.0" />
      <PARAM utype="app:footprint.render.overlay.string.content" value="PC1" />
   </TABLE>
Labels are useful to designate the name of CCD chips for instance.

Additional parameters:

You can specify if your FoV can be moved, rolled, its color. You can specify an initial position and an initial roll angle by adding these XML lines:

   <VOTABLE... >
      <RESOURCE...>
         <PARAM name="RA" ucd="pos.eq.ra;meta.main" ref="J2000" datatype="char" arraysize="13" unit="&quot;h:m:s&quot;" utype="stc:AstroCoordSys/SpaceFrame/OffsetCenter[1]" value="13:29:55.7000" />
         <PARAM name="DEC" ucd="pos.eq.dec;meta.main" ref="J2000" datatype="char" arraysize="12" unit="&quot;d:m:s&quot;" utype="stc:AstroCoordSys/SpaceFrame/OffsetCenter[2]" value="+47:17:13.00" />
         <PARAM name="PA" ucd="pos.posAng" datatype="float" unit="deg" utype="stc:AstroCoordSys/SpaceFrame/PositionAngle" value="0.0" />
         <PARAM name="Rollable" value="true" />
         <PARAM name="Movable" value="true" />
         <PARAM name="Color" value="blue" />

FoV components:

If a <TABLE... section is inside an embedded <RESOURCE... section, Aladin considers the shapes described in this table as sub-component of the FoV. The users can switch them on/off individually via the plane properties.

4.12  Is Aladin supporting Multiple FITS Extension file (MEF) ?

Yes, it is !
Aladin is supporting all FITS files including Multiple FITS Extension files (ascii tables, binary tables, images and tables, ...). If there are more than one extension, Aladin shows the extensions in a folder in the stack. The properties of each plane give access to the specifical FITS header. The propertie of the folder gives access to the primary FITS header.

Note: You can just load a specifical extension (or a set of extensions) by suffixing the FITS filename with the extension numbers embedded in brackets and separated by comas. Example: myMEF.fits[1,4-6,8]

4.13   ** Is Aladin supporting MEF Multi-CCD images?

Yes it is, since release 10
If your FITS file multi-extension contains a multi CCD images, Aladin will display them simultaneously in order to see them as an unique view, in an unique plane stack. Since you click on a CCD area, this CCD image will automatically become the astrometrical reference for all other CCDs.

Note: Each CCD image has its own background adjustement. If you want to have the same pixel cut, use the pixel form and apply the same constraints on all CCD.

Note: If each CCD astrometrical solution is not oriented in the same direction, you can have a surprising effect of rotation each time you click on another CCD image.

4.14  Is Aladin supporting graphical region definitions?

Yes, it is !
It is possible to draw various shapes over a sky background by using the dedicated "draw":

The shapes:
- draw line(al1,del1,al2,del2,...[,text])
- draw polygon(al1,del1,al2,del2,...[,text])
- draw vector(al,del,size,angle) : arrow
- draw box(al,del,width,height[,angle])
- draw circle(al,del,radius)
- draw ellipse(al,del,semiMA,smiMI,angle)
- draw arc(al,del,PA,radius,startAngle,endAngle)
- draw pickle(al,del,radius1,radius2,startAngle,endAngle) : double arc
- draw dist(al1,del1,al2,del2) : distance segment
- draw phot(al,del,radius) : photometry circle
- draw string(al,del,text) : text
- draw tag(al,del) : simple tag
- draw tag(al,del,text,dist[,angle,types,textsize]) : labeled tag where types can be "reticle|bigreticle|smallcircle|circle|bigcircle|arrow|bigarrow|nopole"

These command will create a graphical object stored in the last "drawing" plane of the Aladin stack. And if there is no "drawing" plane, a new one will be automatically created. It is possible to explicitly create new graphical planes for packaging together graphical objects :
- draw newtool([label]) : create a new "drawing" plane called "label"
- draw newfov(al,del[,angle,label]) : create a new "FoV" plane called "label" where the center of rotation is al,del and the rotation "angle".
In this last case, all graphical objects inside this kind of plane will move or roll together. The coordinate frames:
- setconf frame=ICRS
- setconf frame=J2000|FK5
- setconf frame=B1950|FK4
- setconf frame=Ecliptic
- setconf frame=Gal
- setconf frame=SGal
- setconf frame=B1900
- setconf frame=B1875
- setconf frame=XY : XY coordinates in the current image

All coordinates in "draw" command will be interpreted in the last coordinate frame specified via the "setconf" command (by default ICRS).

Note: A color parameter can be added after the "draw" word for providing a specifical color to the shape (ex: draw red circle(180 0 10°); draw rgb(10,45,120) tag(180 90 "Hello word", 20)).

4.15  Is Aladin supporting DS9 or IDL regions?

Yes, it is !
Aladin has its own language of region definition via the command script "draw" (see section above), but starting from release 7.5 Aladin is also supporting graphical regions definitions in DS9 syntaxes, SAO-image syntaxes or IDL syntaxes. See the corresponding manuals for more information.

The shapes:
- line(al1,del1,al2,del2)
- polygon(al1,del1,al2,del2,...)
- box(al,del,width,height)
- rotbox(al,del,width,height,angle)
- circle(al,del,radius)
- ellipse(al,del,semiMA,smiMI,angle)
- ruler(al1,del1,al2,del2)
- point(al,del)
- vector(al1,del1,al2,del2)
- text(al,del) || text=xxx

The coordinate frames:
- fk5 | J2000
- fk4 | B1950
- icrs
- galactic
- ecliptic
- image

The global directives:
- global color=xxx
- composite(al,del,angle)

Note: Some global properties (dash, font...) and some very specifical shapes (panda, epanda, bpanda, projection, compass) not supported by Aladin will be ignored.

4.16   ** Is Aladin supporting STC-S regions?

Yes, it is!

4.16.1   STC-S script command:

As a script command, Aladin recognizes basic STC-S (IVOA working draft: http://www.ivoa.net/documents/Notes/STC-S/) regions specifications (Circle, Ellipse, Box, Polygon, Position) and translates them into regular Aladin draw commands. However, it does not take into account the possible operators Union, Intersection, Difference, Not... It always assumes BARYCENTER reference. Note that the unit specification is supported.

The STC-S regions can be directly passed as a script command or preceeded by the "draw" command.

Examples:
STC Circle ICRS BARYCENTER 147.6 69.9 0.4
draw STC Box FK4 BARYCENTER 132.5 34.8 0.4arcmin 0.8arcmin

4.16.2   STC-S "s_region" field:

As a field value in a catalog entry, Aladin recognizes STC-S strings (any regions, and Union operator). However, for helping Aladin to recognize a such column, the "s_region" column name is recommended, and/or dedicated Obscore utype (see IVOA Obscore standard).

4.17  Is Aladin supporting RGB FITS images ?

Yes, it is !
Aladin is supporting RGB FITS images for loading and saving.

In fact, the RGB FITS is not really a standard but has been adopted by several tools. Aladin follows the same convention. It considers a 3D FITS cube as a RGB images (Red, Blue and Green components) if the FITS keyworkd CTYPE3 = 'RGB ' is specified in the header.

Aladin supports RGB FITS image with any FITS BITPIX and not only 8.

4.18  Is Aladin supporting FITS cubes ?

Yes, it is !
Aladin is supporting FITS cubes for loading. It can manage large cubes such as 1024x1024x256x64bits size.

Several functions are available for manipulating cubes:

Aladin also supports colored RGB cube. See next section.

4.19  Is Aladin supporting colored cubes ?

Yes, it is!
Aladin interprets a FITS cube as a colored cube if the FITS keyword "COLORMOD = 'ARGB ' is present in the header. In this case Aladin will consider each cube pixel as 4 consecutive bytes (BITPIX=32) for the red, green and blue components. The first byte (A) is ignored (reserved for transparency).

4.20  Is Aladin can display cubes in XxZ rather the XxY ?

Yes, it is!
You can change the X,Y,Z orientation of a cube via its "properties". Notice that this function require enough memory, at least 2x of the cube size.

4.21  Where are saved my preferences ?

Your preferences (menu "Edit -> User preferences...") are automatically saved in the the file $HOME/.aladin/Aladin.conf using a very simple ASCII format that you can edit yourself if required.

4.22  What is the "measurement histogram" ?

Aladin allows you to create easily a histogram concerning the values of a dedicated column of measurements. This histogram is dynamic as you can move your mouse over it for seeing immediately the corresponding sources in the sky.

Usage example:

  1. Load Simbad result around M101
  2. Select all the sources (menu Edit => Select all objects)
  3. Move your mouse pointer over the OTYPE column in the measurement frame and wait 1 seconde
  4. Move your mouse pointer over the created histogram for seeing the corresponding sources
  5. Redo for the "B" column (numerical values)
  6. Go over the histogram. Change the beaning via the mouse wheel or via the small cursor on the left side.

Note: Thanks to the Galex Viewer team for this feature idea

4.23  How to use the bookmarks ?

Just click on it!
A bookmark is a useful method for launching specifical actions. It is just predefined script functions. You can use the default bookmarks and/or create your own bookmarks.

The list of bookmarks is displayed on the top of the Aladin main panel as a list of words, prefixed by a star logo (orange for predefined bookmarks, and blue for you own bookmarks). This list is a subset of available functions which can be browsed, edited and selected via the menu "Tool -> Bookmarks", or by pressing the "+" character at the end of the bookmark list.

Concretely a bookmark is a short script identified by a name which can be executed on demand. See the Script Developer section for details on functions and bookmarks.

4.24  How to use the source tagging facility ?

The tagging facility allows you to tag some specifical catalog sources (resp. graphical tags) in order to come back on them easily. When a catalog (resp. graphical plane) is activated, their tagged objects are automatically displayed in the measurement frame allowing you to clic (or double clic) on them for recentering the view.

To tag a source: select it, and clic on the check box at the beginning of its measurement line.
To add a graphical tag: use the "Tag" tool and clic (not a clic-and-drag, just a simple clic) on the position that you want to tag.

The tagged objects are displayed with a magenta small square.

4.25  How to use SAMP ?

Aladin is SAMP compatible. It means that you can easily exchange data with another SAMP compatible application such as DS9, TOPcat, VOPlot, WWT ,... or even with Web pages implementing Web SAMP profile (Javascript API) (see "What is SAMP?" FAQ question).

You can see at the bottom-right corner of Aladin window a new logo representing a radio antenna. The states of this logo describe the Aladin SAMP status:

You can use the "Interop" menu or click on the antenna logo to open a popup menu dedicated to SAMP. Use it for specifying your SAMP preferences.

Note for advanced users: Aladin incorporates a SAMP hub itself (thanks to Mark Taylor). It means that you need not launch an external SAMP hub to be able to send/receive data to/from another application. However if another SAMP hub is always running (such as AstroRuntime from Astrogrid), Aladin will simply connect itself to this existing hub without launching its own one. You can also choose from the SAMP preferences to prevent Aladin to launch its internal hub.

Aladin supports (ie can process) following SAMP messages :

Detailed description of the SAMP message types is available here.

Note: Aladin V10 does no longer support PLASTIC protocol (ancestor of SAMP).

4.26  How can I copy-and-paste information (measurements, positions,...)

Aladin provides the classical Edit>Copy/Paste menus allowing you to copy the current view in order to paste it in another application such as Impress, PowerPoint... You can also paste any table or image that you have previously copied from another application.

You can directly copy-and-paste measurements or current location via the contextual popup menu (right click) in the system clipboard. Then, you can paste data in any other applications.

Also, each clicked position is memorized into the "location/command" field (just behind the main menu). So, you can move the mouse over and copy it in the clipboard, or directly use the view popup menu..

4.27  Can I draw a pixel cut graph?

The "Dist" tool computes the distance between two points (Menu "Image -> Cut graph", or "Overlay -> dist..."), but also it generates a cut graph along the distance segment. This cut graph is displayed in the zoom panel at the bottom right side of the Aladin window.

Notice that you have to select one, and only one distance segment to see the corresponding cut graph. If you move the segment or one side of segment, the cut graph is dynamically updated.

If you move the mouse on the cut graph Aladin displays some additionnal information.

Note: It is not yet possible to save or print this cut graph.

4.28  How to "extract" image pixel values?

Aladin implements the menu (Image => pixel Extraction...) allowing you to extract the pixel values of one or several images in order to manipulate them as tabular data (histogram, exportation to TOPcat...).

4.29  Is it possible to rotate the image?

Aladin allows free rotation of the current view but only if you use a progressive survey as reference image. Toolbar -> Pan, click & drag the image with CTRL key pressed, or turn the N-E symbol at the right corner of the image.

Otherwise, for classical images, you can only force the "North Up" by clicking on the corresponding button at the left bottom corner of Aladin.

4.30  Is it possible to turn a cube?

Yes it is.
Open the "properties" associated to the cube plane, and change the X,Y,Z orientation according to your needs.

4.31  Is it possible to save a cube?

Unfortunately, no.
Neither in FITS nor in MPEG or other movie standards.

4.32   ** Is it possible to extract a spectrum from a cube?

Yes it is.
Load the cube, and use the menu "Image -> Spectrum extractor" or directly via the button "spect" in the tool box. The resulting spectrum will be displayed in the right bottom panel, a horizontal red bar in this spectrum shows the position of the current cube frame. You can change the extraction position by just click&drag the associated cross displayed over the cube.

Note that this spectrum widget is very basic. Do not hesitate to explore the QuickViz Aladin plugin for a more powerful cube spectrum tool.

4.33   ** Is it possible to save a spectrum extracted from a cube?

Unfortunately, no.
May be in a next version.

4.34  Is it possible to build a mosaic image?

There are three methods for building mosaic images.

Overlays:
The first method just uses the transparency feature in Aladin for displaying simultaneously several images in the same view. This solution is easy to use, fast but it is based on the 4 image corners positions - so it can have small distorsions. You just have to fully activate the "opacity" property of each images.

Classical resampling:
The second method is a classical resampling. It allows you to combine several images for producing an unique large image by resampling them in an unique astrometrical solution. Use the button "assoc." which has replaced the "blink" one in the previous Aladin versions.
In the association control window, select "mosaic" mode instead of "blink" mode.

Progressive survey:
Also, Aladin allows you to generate yourself an progressive survey from a set of FITS images. The generated product is called HiPS for Hierachical Progressive Suvey. It provides you a multi-scale view of your data allowing you to browse them => Zoom and Pan as a unique image". This last method is very powerful either for large survey covering a large part of the sky or for pointed observations for which yo would like to have a global view. For the details, see the HiPS section.

4.35  Is it possible to add, substract, multiply or divide images?

Yes you can!
Aladin is supporting addition, substraction, multiplication, division, convolution and pixel normalisation. If necessary the second image will be resampled according to the astrometrical solution of the first image.

Use the menu "Image -> Arithmetic operations".

You can also use the script commands: + , - , * , / (see corresponding script help)

For substracting one image to another you can also do a colorized substraction, select both of them in the stack and press the RGB button. Thus, select the "substract" selector. Aladin provides you a colored image for which the positive differences are displayed in one color component (for instance red), and the negative differences in another color component (for instance green). The result pixel dynamic is automatically increased (linearly) to get a better contrast of the differences. You keep access to the original pixel values from the 2 original images just by moving the mouse cursor over the colored image.

Note: You can use the "RGBdiff" script command which does the same thing by command line

Note: In case of progressive surveys, you need to crop the field before processing it.

4.36   ** Can I come back to previous targets?

Yes you can, since release 10!
Have a look on the right bottom panel. Aladin provides you the history of the targets that you visited. Click on the small triangle to open a popup menu and choose a dedicated target.

Note that you can append manually the reticle position as a new target by pressing the "location" icon at the left side of this triangle.

4.37   Is it possible to change the display epoch?

Yes, there is!
If you are manipulating a catalog for which the proper motions of the sources are provided, use the slider "J2000" on the bottom of the Aladin stack to change dynamically the epoch of the drawing sources. Note that you have to select the catalog plane before sliding (by clicking on its stack name)

If it is known, the default J2000 epoch is replaced by the epoch of the background image (from the EPOCH or DATE-OBS FITS keywords).

For resetting the epoch, just click on the slider label.

4.38   ** Is it possible to change the original epoch?

Yes, there is, since release 10!
If you are manipulating a catalog for which the proper motions of the sources are provided, and without original epoch, Aladin assumes J2000. However you can manually modify this default epoch: menu Catalog -> Column information, Epoch field.

4.39   Is there a way to convert object coordinates?

Yes, there is !
Move the cursor on the object data line in the measurement window. The position on this object is automatically given in the current coordinate reference system in the position rectangle (just below the menu). So, if you select say, the Gal reference system and move the cursor on the object data you will see their positions in Galactic system.

Additionally, you can use the "coordinate toolbox" available via the Tool>Coordinate toolbox menu. A simple click on a data line will fill up this form providing you simultaneously, in all available reference frames, the location of the associated source. Thanks to this toolbox, the proper motion, the radial velocity, the parallax and the epoch can be manipulated.

4.40  What is the "Simbad pointer"?

Via the menu "Tools -> Simbad pointer", Aladin will continuously query Simbad data base and search for an astronomical object close to the location pointed by the mouse. You have just to click and to let the mouse pointer at the same place 3 seconds to wake up the Simbad pointer. If there are several objects, Aladin retains the object with the most bibliographical references.

The Simbad information will be displayed as a "clickable" sticker over the image. Click on it for loading the full Simbad result concerning this objects.

In Aladin V10, this function can be directly activated via the "study" icon (orange or green mode), at the bottom left of the view panel.

4.41  What is the "VizieR photometry pointer"?

Via the menu "Tools -> VizieR photometry pointer", Aladin will continuously query VizieR data base and search photometry measurements from various catalogs around the location pointed by the mouse. You have just to click and to let the mouse pointer at the same place 3 seconds to wake up the VizieR photometry pointer.

If the Simbad pointer is also activated (see previous FAQ paragraph), the VizieR query will be done around the closest Simbad object. Otherwise, the query will be done with the real mouse coordinates.

The VizieR photometry information are displayed as a "clickable" scatter plot (wavelength vs flux) displayed in the zoom frame location. It provides you a fast an easy method for retreiving an approximated flux signature of the object under the mouse. Take care that this plot IS NOT the SED (Spectral Energy Distribution) of the source, just a few photometry measurements around the position (not necessary really associated to the same object, with various calibration methods...)

A simple click in this plot generates the associated photometry table, displaying both the individual measurements and the corresponding location. This table can be manipulated as any classical table in Aladin (save, column manipulation...). For more advanced photometry manipulation, the last button in the photometry scatter plot open on the same data in your web navigator a more advanced photometry tool.

In Aladin V10, this function can be directly activated via the "study" icon (green mode), at the bottom left of the view panel.

4.42   * How to make Aladin more verbose?

Aladin has 6 trace/debug modes... This is interesting to see how it works and what it is doing. Just type the following script command in the "Location field": "trace x" where x can be 1, 2, 3, 4, 5, 6 or off.

The messages will appear both in the console window in which you launched Aladin. In level 6, the HiPS display strategy is visualized directly in the view.

4.43  Can I use Aladin without a network connection?

Yes, you can!
In this case, you can use only your own data.

However, the time required to detect that there is no network varies between a few seconds until more than 1 minute (depending of your JVM and depending of your network configuration). Therefore, you can start Aladin with "-local" parameter to avoid waiting for the network time out.

Tip: In progressive mode (HiPS surveys), Aladin stores in a local cache ($HOME/.aladin/Cache/Background) your last surveys access. This local cache stays available even you have no network allowing you to redisplay your favorite region.

4.44  Can I reload the server descriptions without restarting Aladin?

Yes, you can. For instance if you have started Aladin with a network connection not yet ready.

Go to the menu "Edit -> User preferences..." and press the "Reload" button in the "Registry" section.

4.45  Can I pass additional Java options when I launch Aladin?

Yes you can !
But it depends of your configuration.
See the examples provides for increasing Java memory in the corresponding FAQ entry.

4.46  Can I run Aladin via a http proxy?

Yes you can!
If you want to run Aladin via a http proxy then you should execute it with the following command:

   Java -Dhttp.proxyHost=###.##.###.## -Dhttp.proxyPort=## -jar aladin.jar

where the #'s correspond to the proxy ip address and port number.
(Thanks to John D. Tanner for this tip)

4.47  Can I run Aladin via a SOCKS5 proxy?

Yes, you can.
If you want to run Aladin via a SOCKS5 proxy, execute it with the following command:

   Java -DsocksProxyHost=<proxy-hostname> -jar aladin.jar

Example :
the following command will start a local SOCKS5 proxy:

   ssh -D 1080 remote-hostname
You can then launch Aladin with:
   Java -DsocksProxyHost=localhost -jar aladin.jar

4.48  Which are the Aladin command line parameters ?

Available command line parameters can be known by launching Aladin with the "-help" parameter (Java -jar Aladin.jar -help).

This command returns this help:

Usage: Aladin [options...] [filenames...]
       Aladin -hipsgen ...
       Aladin -mocgen ...
       Aladin -help
       Aladin -version

   Options:
       -help: display this help
       -version: display the Aladin release number
       -local: without Internet test access
       -theme=dark|classic: interface theme
       -screen="full|cinema|preview": starts Aladin in full screen
               cinema mode or in a simple preview window
       -script="cmd1;cmd2...": script commands passed by parameter
       -nogui: no graphical interface (for script mode only)
               => noplugin, nobookmarks, nohub
       -noreleasetest: no Aladin new release test
       -[no]samp: no usage of the internal SAMP hub
       -[no]plugin: with/without plugin support
       -[no]beta: with/without new features in beta test
       -trace: trace mode for debugging purpose
       -debug: debug mode (very verbose)

       -hipsgen: build HiPS by script (see -hipsgen -h for help)
       -mocgen: build MOC by script (see -mocgen -h for help)

   The files specified in the command line can be :
       - images: FITS (gzipped,RICE,MEF,...), HEALPix maps, JPEG,GIF,PNG
       - tables: FITS, XML/VOTable, CSV, TSV, S-extractor, IPAC-TBL, Skycat or ASCII tables
       - properties: propertie record list for populating the data discovery tree
       - graphics: Aladin or IDL or DS9 regions, MOCs
       - directories: HiPS
       - Aladin backup : ".aj" extension
       - Aladin scripts : ".ajs" extension

New in V10: -theme, properties file support

4.49  Can I define/query other servers than Simbad/Aladin/VizieR/...?

Yes you can !
To do that, you have to write new server definitions in an additional file and load this file in Aladin (for instance, use the script command "load yourfile"). The servers have to be accessible by a simple URL with a HTTP GET method. The syntax required for these server definitions follows the GLU recommandations. Adapt this short example to your own needs :

       %ActionName        Foo
       %Description       My own server definition
       %Aladin.Label      MyServer
       %Aladin.Menu       Others...
       %Aladin.LabelPlane MyServer $1/$2                      
       %Url               http://xxxx/yyy?ra=$1&dec=$2&radius=$3&color=$4...
       %Param.Description $1=Right Ascension
       %Param.Description $2=Declination
       %Param.Description $3=Radius
       %Param.Description $4=Color
       %Param.DataType    $1=Target(RA)
       %Param.DataType    $2=Target(DE)
       %Param.DataType    $3=Field(RADIUS)
       %Param.Value       $3=14.1 arcmin
       %Param.Value       $4=Red
       %Param.Value       $4=Blue
       %Param.Value       $4=Infrared 
       %Aladin.filter     filter Mag.Circle { draw circle(-${Mag}) }
       %Aladin.filter     filter Prop.motion { draw pm(5*${pmRA},5*${pmDE}) }
       %ResultDataType    Mime(image/fits)
      

The servers that you have defined will be accessible by the buttons of the server selector window.

4.50   ** Can I define/append my own data collections in the discovery tree?

Yes you can !
Aladin V10 can append a new branch called "Adds" in its discovery tree for local collection definitions. Each of theses collections must be described by a "properties" record following the vocabulary described in this IVOA document. Several records can be grouped together in a single file, separated by empty lines and load in Aladin.

Example of properties record:

   ID                   = yourAuhority/your/id
   obs_title            = The title of your collection (a few words)
   obs_description      = The description of your collection (a sentence or a short paragraph)
   tap_service_url      = http://your/tap/url

The service URL can be replaced by one of these alternatives:

   sia_service_url      = http://your/sia/url
   ssa_service_url      = http://your ssa/url
   cs_service_url       = http://your/conesearch/url
   hips_service_url     = http://your/hips/url

4.51  How to visualize/edit/save the FITS header?

Select the plane of this image in the plane stack by clicking on its name and press select the menu "Edit -> FITS header".

With Multiple Fits extensions, each FITS extension is inserted in a "folder" in the Aladin stack. The folder plane gives access to the main FITS header if there is one.

Note: Not only FITS images can provide FITS header: you can visualize the FITS header for JPEG or PNG images if these images have an astrometrical calibration embedded in the "comment segment" either in FITS syntax or in AVM syntax (see relevant FAQ item).

It is also possible to edit and save the FITS header.

4.52  What can I do with the "stack sliders"?

Aladin provides several control sliders displayed on the bottom of the Aladin stack.
They allow to:

Not all sliders are displayed by default. Use your preferences form (menu Edit -> User preferences) for adjusting this configuration.

4.53  What is hidden beside the SHIFT and CTRL keys?

In order to keep the Aladin interface as simple as possible, some features are hidden and require the usage of the SHIFT KEY and CTRL KEY. By this way, you can:

1) With SHIFT:

1) With CTRL:

4.54  How to use the plane stack?

The plane stack allows you to control the view display. Each plane stores the result of a server query (image, tables, progressive surveys) or possibly some additional graphics. The eye of the observer is at the top of the stack and sees the projection of all active planes.

By moving the mouse pointer over the icon/name, you will get additional plane information displayed on the top of the stack panel.

4.55  Why the plane stack checkboxes disappears sometimes?

Since Aldin version 7.5, the checkboxes controlling the reference plane associated to each view are displayed only if there is a possibility to choose another reference plane. Otherwise, the checkboxes are removed to simplify the stack usage.

Note: You can force a plane - even a catalog plane - to be a reference for a view just by clicking and dragging the plane icon from the stack to a view panel.

4.56  How to use the multiview mode?

Aladin allows you to display simultaneously several views (2,4,9 or 16 views). You control the number of view panels via the multiview controller at the bottom left of the Aladin screen or via the menu "Edit -> Multiview -> ...".

Each view uses its own reference projection (typically the projection of the base image in the view) and its own zoom factor. Catalogues and graphical overlays will be projected according to the projection/zoom factor for each view. Except for progressive surveys, it is possible to create several views for the same image with different zoom factors.

The simplest method to specify the reference image of a view is to click and drag the image plane logo from the Aladin stack to the view panel. You can use also a catalogue instead of an image.

The number of views is not limited. When you have created several views but some of them are not visible, you can access them via the appearing vertical scrollbar at the left side of the view frame. Only the displayed views use memory, the invisible views do not spend any memory.

Selection: A green border around the view panelsand an associated highligh name in the stack plane show you the correspondence between the views and their reference planes. Move your mouse on a view or on a stack plane to see these correspondences.
A blue border show you the selected view(s) for which an action can be operated (Del, Pixel, Zoom, RGB, Assoc). Click on a view to select it. Maintain the SHIFT key to select several views.

Match scales & orientation: If you just press the "match" button under the main panel (or via the menu "View -> Match scales and orientation (Alt Q)"), Aladin automatically selects all views compatible with the current view and display them in the same astrometrical solution (based on 4 corner projection) until you deselect this fonction.

Move or Copy: You can move a view from a panel to another one just by clicking on its border and draging it from the original panel to a new one. Also, if you maintain the CTRL key pressed during this operation, the view will be duplicated.

4.57  Is it possible to overlay an image to another one?

Yes, you can.
If you have atleast two images in the stack covering the same region, and you select the upper one, you will activate the "opacity slider" at the bottom of the stack. If you click & drag it, you will increase/decrease the opacity level of the corresponding image. And by this way you will overlay this image to the other one.

You can also use the small slider available at the bottom of each plane logo, or open the Property frame of this image for using a larger slider (Prop. button).

In multiview mode, the image for which the opacitity level has been modified can be drawn over several views depending of the stack order (if this image is not used as "a reference" in another visible view)

Note: the image overlay is not a full resampling (better but slower), the four corners are reprojected and the image is drawn by a simple affine transform method. For large images (greater than one degree) the overlay will be distorded.

4.58  Sometime I cannot overlay two images. Why?

Aladin allows you to superimpose severa, imaGes!by modifying the opacity level of the images above. However, if the above image is itself used as a reference for another visible view (see multiview mode), Aladin desactivates automatically the opacity mechanism for allowing side by side comparison.

4.59  Do I need a three-button/wheel mouse?

Three buttons are more useful because some usual functions will be directly available via the mouse:

All these functions are also available via the tool bar.

4.60  How to use the mouse wheel zoom?

The mouse wheel zooms or unzooms the current view. When it increases the zoom factor, Aladin centers the new view on the reticle position. So the best way to use the mouse wheel is to proceed in two (or three) steps:
  1. click on the position (astronomical object) that you want to zoom;
  2. turn the mouse wheel...
  3. ..and in multiview mode, Aladin will adjust the size of all selected views.

4.61   ** How to use the "Command" field?

The Command field is located below the Aladin menu. It is used for several purposes:

4.62   Can I draw a contour?

Yes, you can !
These contours are memorized with astronomical positions. It means that you can display them on another image not necessary having the same resolution.

Note: If the background image is a HiPS, the contourn extraction is possible, but done on the current view only.

4.63   ** Can I change the colour map?

Yes, you can!
Click on the "pixel" button or use the menu "Image -> Pixel contrast & map". You can reverse colours, apply false colours, adjust the pixels dynamics and/or select a transfer function (hsin, sqrt, log, sqr, pow...).

Also, the user can visualize where a specifical level of pixels is located in the image just by moving its mouse pointer through the colomap band on the top of the Colormap window. The corresponding pixels will be drawn in red color and the others in gray levels.

The user can also quickly adjust the pixels dynamics by clicking-and-dragging the right mouse button directly in the view - "a la DS9".

Recent Aladin versions (9 and 10) add new facilities, notably:
- you can switch between the preview pixel mode and the full pixel dynamic mode (if it is provided for the current image or HiPS) either via the pixel form or thanks to the "hdr" icon under the main panel;- In full pixel dynamic mode, it is possible to recompute the current cut range only based on the current visible view (button "local cut");
- it is possible to modify simultaneously the colour maps for all selected images in the stack.

4.64   ** Can I do a X-match between two catalogs?

Yes, you can!
You have two methods: locally or remotely.

4.64.1  Local X-match

A local X-match allows you to cross-correlate 2 catalogs already loading in the Aladin stack. You access to the dedicated form thanks to the menu Catalog -> Cross match objects..., or directly via the "cross" button in the tool bar. This x-match can be based on common column values, or by position, with or without a systematic error or a error ellipse. Note that this correlation engine is limited by the RAM of your machine.

4.64.2  Remote X-match

The release 10 of Aladin also allows you to use the remote CDS X-match server in order to correlate one of your local table/catalog with a remote one hosted at CDS. This new feature is available directly in the "access window" under the checkbox "by CDS Xmatch" appearing when you select a data collection from the Data Discovery Tree. In this case, the table currently selected in the stack will be sent to CDS X-match server. This server will do the Xmatch with the designated table/catalog, and the result will be provided as a new catalog plane, incorporating all columns from your previous table and the x-correlated one. In this case there is no RAM limitation except the size of your own table.

4.65  Can I load my own colour map?

Unfortunately not yet! Certainly in a next release.

However, if you use the IDL Aladin library, you can send an IDL colormap to Aladin (see IDL FAQ item). Also, if you have an interesting colormap not yet in Aladin, do not hesitate to send it us (3 arrays of 256 values in [0..255], for the red, green and blue components).

4.66  Can I reverse the image colours?

Yes, you can!
Click on the "pixel" button and click on the "Reverse" button.

4.67   ** Can I control the grid color & and other overlaid info parameters?

Yes, you can, since release 10, either via the user preferences (Edit menu), or via the "setconf" script command.

4.68  Can I display my color map?

Aladin allows you to display the current color map over the image (menu Overlay -> color map). You can click on this colormap tool to modify its position or its size. Just by moving the mouse over it, you will "paint" temporary the image pixel region concerned by the color map value under the mouse pointer.

4.69  How to do a photometry measurement?

Aladin has two tools suppporting photometric measurements. These tools are associated to the "phot" tool and to the "draw" tool. These tools offer both manual pixel statistics and local source extraction capability:

4.70  Can I change the object size/colour/shape...?

You have three solutions:
  1. by clicking on the "Prop" button. The properties window concerns only the selected graphical object, or the selected plane if there is no individual object selected.
  2. You can also change the object size/colour/shape via "filters". In this case you will constrain this size or colour according to column values. By this way you can draw circles proportional to the magnitude, ellipses for galaxy dimension, etc. (See the documentation available in the filter frame.)
  3. via the "set" script command (example: set Simbad shape=cross)

4.71  Can I create or modify image astrometric calibration?

Yes you can.
Select the image in the plane stack by clicking on its name and select the menu "Image -> Astrometrical calibration...". Then, edit or create a new astrometric reduction either by parameters, either by star matching or by editing directly the WCS header.

By script, you can use the "set" command with the dedicated prefix "FITS". For instance, set MyImg FITS:CRPIX1=400 will modify the pixel reference coordinate of the first axis.

4.72  Can I change the BITPIX of a FITS image...?

Yes you can !
Use the menu "Image -> bitpix convert", or the script command "bitpix".

4.73   ** Can I change the order of the catalog measurements?

Yes you can, since the release 10.
Use the two arrows buttons displaid at the bottom of the "Column information" frame. This frame is available via the menu "Catalog", or directly via the popup menu (right-click) associated to the measurement panel.

4.74   ** Can I specify which columns Aladin must use for RA and DEC?

You have 2 solutions: manually, or programmatically.

4.74.1  Manual RA and DEC designation

Use the second column in the the "Column information" table. This frame is available via the menu "Catalog", or directly via the popup menu (right-click) associated to the measurement panel.

By clicking in the second column at the appropriate field, you will be able to specify if this field contains RA, DEC, PMRA, PMDEC, X or Y information.

4.74.2  Programmatical RA and DEC designation

If you can control the format of your catalog, choose a VOTable format with a COOSYS element (see IVOA VOTable standard).

4.75  Can I modify the catalogue projection?

By default, the catalogue projection is determined by the astrometrical solution of the background image. But if you have no image, but just the catalogue, Aladin uses a default projection: TAN for small fields, ZEA for middle size fields and AITOFF for the whole sky.

You can change this projection via the "Properties" of the catalogue plane.

4.76  Can I project a catalog on one image only?

This question makes sens only in multiview mode.
By default, a catalog is projected on all compatible views for which the reference plane is under the catalog plane into the Aladin stack. But if you move the catalog plane and the reference (image) plane into the same stack folder, you can limit the projection for this image only.

Open the folder propertie and select "local scope" attribute instead of "global scope" attribute. The folder with local scope behaviour is drawn like a closed envelop.

Note: You can modify this property via the "set" script command: set FolderName scope=local|global

4.77   Can I abort a query?

Yes, you can !
Click on the name plane associated to your query. Remove this plane by clicking the "Del" button in the toolbar.


5  Hierarchical Progressive Survey (HiPS)


5.1   * What does Progressive Survey mean?

Aladin provides access to progressive sky surveys with the capability to zoom and pan on any regions. This kind of surveys are called "HiPS" for Hierarchical Progressive Survey. This mode allows you see a survey at any scale, even the whole sky.

It can take into account all sky or wide image surveys, cube surveys, catalog surveys and density maps.

HiPS are described in this paper 2015A&A...578A.114F. Since 2017, it is an IVOA standard described in this document: http://www.ivoa.net/documents/HiPS

5.2  How do I control a HiPS display?

In "progressive mode", the best way to control the display requires a mouse :
- one click to move the reticle;
- double click to recenter the view on the reticle;
- mouse wheel to zoom/unzoom;
- click & drag with the left or middle button to pan.

Note: In case of active graphical overlays, such a catalog, the pan left click & drag will be invalidate for allowing the selection of the sources. In this case, use the middle button, or switch explicitely in pan mode via the "Pan" button.

You can also use the touchpad, or the dedicated buttons/menus, but it is less flexible.

When you are zooming, Aladin will load automatically the pixels covering your current view according to your current zoom factor. The stack plane associated to the all sky survey shows a control ball helping you to know the state of this process:
- blinking green/orange ball: Aladin is still downloading additionnal data;
- orange ball: the display is ready, but there is better resolution data for this region;
- green ball: the display is ready with the better resolution data for this region;
- red ball: there is a problem (server error, missing data...)

5.3  What is the small bar displayed under the HiPS name in the stack?

This small bar concerns only the HiPS catalog.
It represents the proportion of sources displayed in the current field (green part) compared to sources present in this field, but not displayed yet (orange part). More you zoom in the field, more the green part is growing. When the progress bar is fully green you are sure that you have and see all sources in the field.

5.4  Can I change the density of a HiPS catalog?

Yes you can!
Use the "dens." slider at the bottom of the stack for adjusting the density of a HiPS catalog without modifying the zoom factor. Take care that a heavy density can be easily reached requiring a lot of resources and time.

Note: If you do not see this density slider in your stack, activate it via your preferences (Edit->User preferences->Control sliders).

5.5   ** Can I modify the HiPS projection?

By default Aladin uses a AITOFF projection to display a progressive survey, but you can also display them in SIN (spheric) or any other projections supported by Aladin (sinus,tangential,aitoff, zenital equal area, stereographic, cartesian, mollweide,...) => For that, use the projection selector on the top right side. You can also modify the projection via the "Properties" associated to each plane. In this last case, only the concerned plane will modify its projection, the other planes will keep the global projection.

Note: You can also modify permanently the default projection via your preferences (Edit->User preferences->HiPS projection).

5.6  Can I display images over a HiPS ?

Yes you can, even an HiPS over another HiPS. Use the small slider at the bottom of the plane logo (in the stack) for adjusting the transparency.

HiPS and regular images can have transparent pixels (BLANK, NaN or image borders) allowing you to see simultaneously several "pixel" planes without adjusting the opacity slider. The order of the display follows the order in the stack. This facility is available for FITS and PNG coding, but it is not supported for JPEG images/HiPS as JPEG does not have transparency channel.

5.7  Can I get the true pixel values in a HiPS ?

Yes you can, but only for HiPS surveys providing them.
For good performances, the remote progressive surveys are generally distributed in 8 bits pixels in JPEG or PNG format (color or grey levels). But you can switch from JPEG/PNG format to FITS format (use Pixel panel via the corresponding button or the "hdr" button on the bottom-left side of the main panel). You get the same progressive survey, but in true pixel mode (be patient, it can take a while).

Note that the FITS mode allows you to adjust as you need the contrast. In JPEG or PNG mode, the pixel dynamic has been computed in advance in 256 levels.

5.8  How does the Aladin progressive mode work ?

Since release 7, Aladin provides a progressive display mode for sky surveys or wide images with the capability to zoom and pan on any regions (see below). This mode is called HiPS for Hierarchical Progressive Survey. It is based on a HEALPix tesselation scheme. According to the HEALPix principle, the sky is divided in 12 equals area rhombs. Each rhomb can be divided in 4 sub-rhombs recursively until reaching the maximal survey resolution. Libraries and documentation on HEALPix can be found at this address : http://healpix.sourceforge.net. Aladin uses this hierachical division to gain speed and only load the rhombs that cover the current user view.

Internally, Aladin is spliting the survey in a hierarchy of directories storing all the HEALPix rhombs. The structure is quite simple. In order to avoid too many files, Aladin manages HEALPix surveys via 512x512 pixels tiles. Each tile is stored in a separated file, labelled by its HEALPix index number (either in FITS for true pixel value access and/or in JPEG/PNG). The hierarchy deeply depends of the maximal survey angular resolution. Presently, the maximal angular resolution supported by Aladin is 0.0004" (*) (NSIDE=536870912 => 12* 2^20 * 2^20 tiles of 512*512 pixels)

   /Norder3
      +Dir0
	 + Npix0.fits
	 + Npix1.fits
	 +...
	 + Npix767.fits
   ...
   /Norder11
      +Dir0
      +Dir10000
      +...

When the progressive survey is loaded from an http server, in order to increase the display speed, these HEALPix hierarchies are duplicated in a user cache directory ($HOME/.aladin/Cache/) following the same directory structure.

Thanks to Martin Reinecke for the HEALPix Java API.

Note: Since 2017, HiPS is an IVOA recommended standard. The document is available at this address: http://www.ivoa.net/documents/HiPS .

5.9   ** How does Aladin choose the good HiPS server?

A HiPS survey is generally dupplicated on several mirror sites over the world. When you load a HiPS, Aladin will test the speedness of each of them and select the best one according to your localization. This test will be redo since your change your localization, or if the last test is dated. Also, this selection can be temporary modified via the properties of the HiPS plane (Prop button).

Note: In case of network failure between your localization and the current HiPS server, Aladin will silently switch to another one.

5.10  Is Aladin supporting HEALPix maps ?

Yes it is!
Aladin is able to load standard HEALPix maps stored in a FITS file (in fact a FITS binary table), in RING or NESTED scheme, and/or in partial mode (whenever a subpart of the sky only is described). This mode is notably adapted for low resolution surveys (typically file < 1GB).

Good examples of HEALPix fits maps can be loaded from the LAMBDA site. For instance cut and paste in Aladin this WMAP map http://lambda.gsfc.nasa.gov/data/map/dr4/skymaps/7yr/raw/wmap_band_iqumap_r9_7yr_K_v4.fits - 96MB:

For deeper surveys (>1GB), Aladin uses its own HEALPix structure based on a hierachy of directories and files (see above "How the Aladin progressive mode works").

5.11  Why Aladin does not load my partial HEALPix map ?

Presently, for loading a "partial" HEALPix map, Aladin requires the memory corresponding to the "full" HEALPix sky map at the same resolution. Concretely, you are limited to HEALPix sky map low resolution even in partial mode.

One solution is to convert before your HEALPix map in HiPS thanks to this command: Java -jar Aladin.jar -hipsgen in=yourHealpixMap.fits creator_did=XXX/test out=YourHips

5.12  Is Aladin supporting HEALPix cube maps ?

Yes and no !
As described below, Aladin is able to load standard HEALPix maps stored in a FITS file. This FITS file can contain several extensions, for instance an extension instance an extension for the intensity all-sky map, another extension for the all-sky map containing the number of observations at each location... In this case Aladin allows the user to create one all sky view per extension (via the Propertie of the plane in the stack). But it is not really a display of an all-sky cube (as a movie).

5.13  I've heard that Aladin can drawn polarisation data ?

Yes it can.
As described below, Aladin is able to load standard HEALPix maps stored in a FITS file. This format supports extensions that describe Q and U polarisation parameters for each pixel. When Aladin finds this information, it allows the user to create:
- a polarisation overlay plane displaying polarisation segments over each pixel. The density, size and thickness of these segments can be controlled via the Propertie panel associated to the polarisation stack plane;
- a false color view based on polarisation angles;
- a false color view based on polarisation intensities.

Good examples of HEALPix fits maps containing polarisation data can be loaded from the LAMBDA site. For instance cut and paste in Aladin this WMAP map http://lambda.gsfc.nasa.gov/data/map/dr4/skymaps/7yr/raw/wmap_band_iqumap_r9_7yr_K_v4.fits - 96MB:

5.14  Can I "crop" an image from a HiPS ?

Yes you can, via the menu "Image => Crop image area" (or directly via the "crop" button) you activate the crop tool. Select the region by clicking and draging the red control rectangle, and validate your choice. You can directly edit the size of your target image by double clicking the small figures.

When your background survey is displayed in preview mode (JPEG|PNG), the resulting image will be a simple "screen dump", with a simple astrometrical calibration. But when your background survey uses the FITS mode, the resulting image will be produced by a resample algorithm from the original HEALPix pixels to the resulting FITS image. It is better but slower. The resample algorithm is based on the bilinear approximation method (since version 7.5).

5.15   * Can I create my own HiPS ?

Yes you can!
Aladin allows you to create your own HiPS (Hierarchical Progressive Survey) from a set of FITs or JPEG|PNG images. The goal is to prepare yourself a hierarchy of HEALPix tiles that Aladin will be able to display.

You can use the menu "Tools => Generate a HiPS..." and follow the instructions.

But as this process can take a while (10 hours for one band of the DSS survey), it is possible to do the same thing via a command line using Aladin "-hipsgen" parameter. In this case, the Aladin graphical interface won't be activated (and no XDisplay is required).

The simplest hipsgen command is:

   Java -Xmx2g -jar Aladin.jar -hipsgen in=Path creator_did=my/test/id

Once you have generated the HiPS, it's possible to use it locally, or to offer your data to your collaborators, or even to the whole Aladin community, just by exposing these files via a HTTP server. A simple access to target path URL is enough for accessing to your HiPS survey.

For detailed instructions, have a look on this document: http://aladin.u-strasbg.fr/hips/HipsIn10Steps.gml

5.16  Is it possible to create a HiPS **colored** ?

Yes it is ! You have two possibilities.

Your original images are in colored JPEG or PNG, with associated astrometrical calibration (via .hhh file or inside the JPEG|PNG comment). In this case you proceed as for FITS original images with the additional parameter "color=..." (see previous section).

Alternatively your original surveys are provided in two or three bands and you want to combine them in an progressive colored survey. In this case, you generate first separately the 3 HiPS, one per band (see previous section). And after that, you open the last tab of the tool "Menu Tool -> Progressive sky builder (HiPS)" and follow the instructions.

5.17   * Can I create a HiPS color by script ?

Yes you can!
Aladin integrates a HiPSgen library which allows you to generate HiPS colored as a combination of 2 or 3 previous HiPS.
Launch this command for details: Java -jar Aladin.jar -hipsgen -h

5.18  What's the best choice, FITS, JPEG or PNG tiles ?

The HiPS generation can be done simultaneously in true value tiles or in compressed tiles. In the first case, the HiPS tiles are coded in FITS keeping all the pixel dynamic. In the second case, the tiles can be coded in JPEG or in PNG. In both JPEG or PNG cases, a pixel cut must be applied (keeping 256 grey levels).

JPEG solution is faster than PNG (faster during the compression/decompression phases, and faster because the tiles are smaller (about 4x)). However JPEG can create some artefacts, notably at the borders of the observations. And JPEG can not manage translucende pixel.

So, if you have a full sky survey, choose JPEG. Otherwise, for pointing observations or partial surveys, prefer PNG. And, if your users do not need to have an access to the true pixel values (no scientific context), you have the possibility to remove the FITS tiles before publishing your HiPS.

5.19   * How to distribute my own HiPS ?

In order to distribute a progressive survey that you generated as in the above section ("Can I create my own progressive survey"), you have just to expose the HiPS behind an HTTP server. No data base system nor dedicated CGI are required, only files.

In this context, it is recommended to also generate the JPEG or PNG tiles for efficient remote acess. The users will have the choice to switch from fast preview access to Fits true pixel value (but slower) mode.

5.20  Can I control the access to my survey ?

If your survey is exposed behind a protected web server (by password), at the first access of your survey, Aladin will ask to the user the name/password parameters according to the HTTP standard (basic protection).

5.21  The click & drag function does not move the sky as I want it to !

In spherical projection (sinus), when you pan the sky, the sphere rotation is done around the poles. If you display a HiPS and you want to move through the galactic plane, it will be difficult if your reference frame is equatorial (ICRS for instance). Switch to GAL the current reference frame, or display the coordinate grid for vizualizing easely the equator plane.

Tip: You can set the default system frame via the user preferences (menu Edit => User preferences).

5.22  Sometime I get the true pixel value, sometime I do not !

Aladin HiPS display has two modes:
- a fast preview mode (the indivual HiPS tiles are in JPEG or PNG format);
- and a full mode (the indivual HiPS tiles are in FITS format).
The second mode is dedicated for accessing the true pixel values (move your mouse over the survey). If your survey provides both JPEG|PNG and FITS rhombs, you can switch between these two modes via the "Pixel frame" (Menu : Image => Pixel contrast").

The FITS mode is inevitably slower (files are 10 to 40 time larger), but remember that the files are duplicated in a local cache disk. So the next time you view the same region, it will be faster.

5.23  Can I display the survey in galactic system, and get the coordinates in equatorial system ?

Yes you can ! Use the "Properties" panel associated to the survey for dissociating the survey frame and the coordinate frame.

5.24  Can I move to a specific HEALPix pixel number ?

Yes you can !
In the location field, type the HEALPix pixel number (NESTED notation) prefixed by the HEALPix order (NSIDE = 2^order) - use "/" as separator.
For instance, "3/755" will move the reticle to the center of the HEALPix pixel number 755 at the NSIDE 2^3) => 315 -24.625 GAL

5.25   * Can I display an HEALPix grid ?

Yes you can!
Aladin supports both coordinate grid and HEALPix grid. Select HEALPix grid in the corresponding menu (Overlay -> HEALPix grid)

5.26  It seems that the progressive mode requires more memory !

This is true. You need a minimum of 64MB for running Aladin in progressive mode, but in practice 256MB is more appropriate.

However, two functions require more memory:
- To load a HEALPix Fits map in RING ordering: the RAM must contain the whole sky => in practice, NSIDE 8192 in RING is a limit (3.75GB RAM required). There is no such constraint for HEALPix Fits maps in NESTED ordering.
- for creating your HiPS from a large collection of FITS images: use as much memory as possible to speed up the process time

5.27   * I can not adjust the contrast of colored HiPS !

No longer true since Aladin release 9.

5.28   * Can I build a catalog HiPS myself?

Yes you can, but not with Aladin!
A catalog HiPS can be generated thanks to the package Hipsgen-cat provided here: http://aladin.u-strasbg.fr/hips

5.29  I cannot display my HEALPix map?

Aladin requires an HEALPix map with a NSIDE greater or equals to 8 and necessarely a power of 2.


6  Multi-Order Coverage map (MOC)


6.1  What is a Multi-Order Coverage map?

A Multi-Order Coverage map, also called "MOC", is a method for describing arbitrary sky regions. Its goal is to be able to provide a very fast comparison mechanism between coverage maps. The mechanism is based on the HEALPix sky tessellation algorithm. It is essentially a simple way to map regions of the sky into hierarchically grouped predefined cells.

Concretely, a MOC is a list of HEALPix cell numbers, stored in a FITS binary table.

MOC is fully described by an IVOA standard available at this address: http://www.ivoa.net/documents/MOC/

6.2  "MOC", "HiPS", I'm lost!

New technologies imply new vocabulary!
Both are based on the same HEALPix sky tesselation. But MOC is used for describing sky coverage, and HiPS is used for accessing data (pixels, catalog sources...)

6.3   ** Where can I find MOCs?

All CDS data collections (Simbad and VizieR catalogs) and all HiPS are provided with their MOC. Also, some VO providers generate their collection MOCs. All of them are directly available thanks to the data discovery tree (Aladin v10).

6.4  Why do I have to use MOC rather than other coverage method?

The operations on MOC are extremelly simple and fast (generally a few milliseconds) even for very complex sky regions. Thanks to the menu "Coverage -> Logical operations", Aladin provides a set of MOC functions: union, intersection, subtraction, difference, complement, very usefull for manipulating sky regions.

For instance, you can determine in a few mouse clicks the region observed by SDSS and HST, but for which there are no information in Simbad.

6.5   ** Can I convert a polygon, a circle, a STC-S region in a MOC?

Yes you can!
Draw your polygons and your circles (manually or by script command), select them, and use the menu "Coverage -> Generate a MOC based on... -> The selected drawing objects.

6.6   ** Can I convert a MOC in polygons?

Yes you can but presently only via the "export" script command. You can save a MOC as a polygon (the perimeter of the MOC) via this script command: export -ajs MOCPlane mypolygon.txt

6.7   ** Can I load several MOCs simultaneously?

Yes you can!
If you select several collections in the Data Discovery Tree, either by a multiselection (Ctrl mouse action) or by selecting branches rather leaves, the "access window" will propose to load each MOCs, or the unions of the MOCs, or the intersection of the MOCs.

6.8  Can I create a MOC from my own images?

Yes you can !
If you have just one or two images, load them in Aladin and use the menu "Coverage -> Generate from image or HEALPix map". For a large collection of images, it is preferable to use the action "Coverage -> Generate from a image collection..." without loading the images individually.

6.9  Can I create a MOC from my own source tables?

Yes you can !
If you can load your table in Aladin (< one million sources), use the menu "Coverage -> Generate from catalog". If your table is larger, prefer to use TOPcat/STILTS which can manipulate bigger tables.

6.10  Which MOC resolution do I have to use?

The MOC resolution specify the angular size of the smallest MOC HEALPix cell. It is specified with a order number following this table:
      0   58.63deg	8   13.74'	15  6.442"	22  50.32mas
      1   29.32deg	9   6.871'	16  3.221"	23  25.16mas
      2   14.66deg	10  3.435'	17  1.61"	24  12.58mas
      3   7.329deg	11  1.718'	18  805.2mas	25  6.291mas
      4   3.665deg	12  51.53"	19  402.6mas	26  3.145mas
      5   1.832deg	13  25.77"	20  201.3mas	27  1.573mas
      6   54.97'	14  12.88"	21  100.6mas	28  786.3micro-as
 							29  393.2micro-as
 

The choice of the resolution depends of the purpose, but generally an order between 9 and 12 is a good compromise between precision and compactness.

6.11  Why does Aladin change the MOC precision when I zoom?

Aladin draws a MOC as a list of rhombs. As a MOC can contain a lot of rhombs, for keeping good drawing performances, Aladin decreases the MOC precision when it has to draw it over a large part of the sky. It is just a visual effect. The measurements and operations on the MOC is always done with the original MOC resolution.

This Aladin MOC display method is also useful to find easily small observations on the sky, too small to find it at the true MOC resolution.

Note: You can modify the visual MOC resolution via the "dens" slider under the stack

6.12   * Is it possible to create at MOC from a polygon?

Yes you can.
Draw a polygon via the tool "Draw" without forgetting to close it by clicking on the first control point. Thus, select the menu Coverage -> Generate a MOC based on -> The selected drawng objects".

6.13   ** Is it possible to query data bases by regions or MOC?

Yes there is! But only on servers which are supporting this kind of queries, notably all CDS services.
Draw a polygon, or a circle, or load a MOC. Select it in the view, or in the stack. And select the collection that you want to query with this region in the Data Discovery Tree. After that select the "query by regions or MOC".

Notice that these queries by MOC are extremely fast and powerful, even with very complex sky regions.


7  SCRIPT MODE AND MACROS


7.1  What is the "script mode"?

Aladin's experienced users have access to a possibility to control Aladin: the script mode or command line mode.

This control mode can be used via:

Tip: You can also pass any script command in the "Command" field on the top of the window.

Here is the script command list:

    PLANE:                                   VIEW:
       get servers [target] [radius]           mview [1|2|4|9|16] [n]
       load filename                           cview [-plot] [[x] v]
       select x1 [x2..]                        select v1 [v2..]
       set [x1] [x2..] prop=value              zoom ...
       hide|show [x1] [x2..]                   northup|unnorthup [v1] [v2..]
       mv|copy x1 x2                           thumbnail [radius]
       rm [x1] [x2..] | -all                   lock|unlock [v1] [v2..]
       export [-fmt] x filename                match [-scale] [v|x|off]
                                               mv|copy v1 v2
    IMAGE:                                     rm [v1] [v2..] | -lock
       cm [x1|v1...] [colorMap...]             save [-fmt] [-lk] [WxH] [file]
       RGB|RGBdiff [x1|v1...]                  coord|object
       blink|mosaic [x1] [x2...]
       + | - | * | / ...                     CATALOG:
       norm [-cut] [x]                         filter ...
       conv [x] ...                            addcol ...
       kernel ...                              xmatch x1 x2 [dist] ...
       resamp x1 x2 ...                        ccat [-uniq] [x1...]
       crop [x|v] [[X,Y] WxH]                  search {expr|+|-}
       flipflop [x|v] [V|H]                    tag|untag
       contour [nn] [nosmooth] [zoom]          select [-tag]
       grey|bitpix [-cut] [x] BITPIX           browse [x]
     
     
    GRAPHIC TOOL:                            FOLDER:
       draw [color] fct(param)                 md [-localscope] [name]
       grid [on|off]                           mv|rm [name]
       reticle [on|off]                        collapse|expand [name]
       overlay [on|off]
                                             COVERAGE:
                                               cmoc [-order=o] [x1|v1...]
    MISCELLANEOUS:
       backup filename     status       sync       demo [on|off|end]  pause [nn]
       help ...            trace        mem        info msg
       macro script param  call fct     list [fct] reset
       setconf prop=value  function ... = ...      convert      quit   

The Aladin V10 new command is: ccat, cmoc, browse, call -batch, setconf additional properties

The help for each command can be access via the help script command.

Example of PERL script controlling Aladin:
To create a view with GSC1.2 and Simbad overlayed on the default image of Aladin image server for 3 astronomical objects .

   #!/usr/bin/perl
   open(ALADIN,"| Java -jar Aladin.jar");
   print ALADIN "grid\n";
   foreach $obj ("M1","M104","NGC2024") {
      print ALADIN "reset; get aladin $obj; get Vizier(GSC1.2); get simbad;\n";
      print ALADIN "zoom 10arcmin; reverse; save $obj.jpg\n";
   }
   print ALADIN "quit\n";
   close ALADIN;

Example of Python script controlling Aladin:
Same example as above, but in Python:

#!/usr/bin/env python
import subprocess

p = subprocess.Popen(['Java -jar Aladin.jar'],
                     shell=True,
                     stdin=subprocess.PIPE
                       )
p.stdin.write('grid on\n')
for obj in ('M1', 'M104', 'NGC2024'):
    p.stdin.write('reset; get aladin '+obj+'; get VizieR(GSC1.2); get simbad;\n')
    p.stdin.write('zoom 10arcmin;save '+obj+'.jpg\n')

p.stdin.write('quit\n')
p.wait()

Other example by simple redirection:
To create a RGB image for M1 with three images coming from Aladin server, STScI DSS server and ESO DSS server.

   echo "get aladin(2mass) M1;get STScI(dss1);get ESO(dss2);rgb;save M1.png;quit" | Java -jar Aladin.jar -nogui

7.2  Where can I find documentation on script?

Unfortunatelly, the documentation on the Aladin script command is not very huge. A short description of each command is available directly in Aladin via the menu "Help -> Help on script commands". All these command descriptions are also available in a reference manual at this address : http://aladin.u-strasbg.fr/Java/AladinScriptManual.gml

7.3  Which script command do I have to use?

For discovering which command must be used for such or such action, the easiest method is to do the action via the graphical interface, and have a look in the console (menu "Tool -> Script console"). The corresponding script command must be echoed.

7.4   ** How works the "get" script command?

The get command is the most powerful script command in Aladin. Its syntax is very flexible in order to cover all kind of servers and protocols.
[PlaneName =] get ServerName(keyword,...) [Target [RadiusUnit]]
[PlaneName =] get ProtocolName(collectionID,...) [Target [RadiusUnit]]

If the Radius is omitted, Aladin takes the most appropriate radius according to the current view. If the Target is omitted, Aladin takes into account the last specified target.

For a given server, the number and the order of the keywords don't matter. Aladin tries to associate automatically the keywords with the server query vocabulary. That gives a very simple general syntax for any servers but it can have ambiguities if there is the same keyword for two different things (ex: a scan machine called JPEG). In this case, it is now possible to prefix the value by a parameter name (ex: survey=DSS). The parameter name will be searched in the description of the parameter.

If there are several matched items, just one is returned (chosen by the server).

In these context, the available keywords evolved according to the evolution of the servers.

A few examples:

Tip: By opening the Properties of the generated plane, you can see the URL query. It is a good method for verifying your query interpretation.
Tip: You can learn a lot about the "get" syntax by opening the Aladin console (F5) and looking the generated echo commands.

7.5  The get command returns an information tree and I want an image!

Some servers requires two steps for selecting images: the first step generates a list of available images, displayed as a metadata tree. And you must check some of them for really downloading the images.

Now, you can add some constraints in the get command list for filtering the metadata tree and immediately download the relevant image.
For instance "get SDSSDR8("Title=filter g") NGC1055" will return immediately the first image for which the metadata title contains the "filter g" substring.

Notice that you can mix constraints concerning the first and the second steps. For instance: in "get MAST(ACS,filename=J9FX08031) 5 34 32 +22 00 52", the "ACS" constraints will be used in the first step by constraining the SIAP query (matching one default value). The "filename=J9FX08031" will be used in the second step for filtering the SIAP result and querying the relevant image.

Tip: The dedicated parameter "Number" allows you to specify how many images you want. For instance "get SDSSDR8("Title=filter g",Number=5) NGC1055" will return the five first images matching the "Title" constraint.

7.6  Can I define a script function?

Yes you can!
A script function is a list of commands identified by a name. It can use parameters (prefixed by "$"). A function is executed thanks to the script keyword call functionName.

A script function must follow this syntax:

   function name($param1,$param2,...) {
      command1
      command2 $param1
      ... 
   }

Example:

   function loadDM($file) {
      load $file
      cm rainbow sqrt
      zoom 180deg
      grid on
   }

The predefined functions are listed by the "list" command. The detail of one specifical function name can be displayed by executing "list name" command.

7.7  How do $TARGET and $RADIUS function parameters work?

An Aladin function can have parameters. These parameters are identified by the prefix "$". Two predefined parameters can be also used:

Example: for loading a DSS QuickV fits image from STScI data provider corresponding to the current view:

   function loadDSS($TARGET,$RADIUS) {
      get STScI(QuickV) $TARGET $RADIUS
   }

7.8   ** I do not understand the "-batch" parameter for the "call" script command?

Each script command of a function called by "call" command is executed sequentially. But by default this sequence is managed by the script Aladin runtime machine in "autosync" mode. That's mean that the stack must be fully ready (no blinking ball) for launching a new script command. This behaviour can be problematic if you have queried a very slow server which will jam the runtime machine. And if you disable the "autosync" mode (via "sync off" command), the runtime machine will no longer wait the end of the previous command before launching the next. For associated sequence of commands (see the example below), this behavior is also problematic.

Thus, the "-batch" parameter forces the execution without waiting the stack "synchronization", but by only verifying that the previous command, and only the previous command is ready.

For instance, this function should launch in batch mode to run properly:

   function mybrowse($cat,$coo) {
      get Vizier($cat) $coo 50deg
      browse
   }
   
   call -batch mybrowse(gliese,hd1)

Note: The "-batch" mode is notably recommended for collaborative tool controlling Aladin via the VOApp interface (see corresponding section).

7.9  How to use a function as a bookmark?

A bookmark is just a function for which its execution can be directly launched by a button on the top of the main Aladin panel. The list of bookmarks can be modified by the setconf bookmarks=... script command.

For instance:
- For displaying bookmarks of Optical, DSS and MyFct functions: setconf bookmarks=Optical,DSS,MyFct
- For removing DSS bookmark: setconf bookmarks=-DSS
- For adding SDSS bookmark: setconf bookmarks=+SDSS

7.10  Can I use "macros" in Aladin?

Yes you can !
The Macro tool (menu: Tools -> Macro controller) allows you to write (or load) an Aladin script which will be used for an object list. This objet list can be written by hand or loaded from a file.

It is a very simple and powerful tool for repeated actions.

In order to use macros, open the Macro controller window from the Tools menu. This window is splitted into 3 parts :
- the top panel allows you to write the script to be executed. Parameters should be written as '$1', '$2', The script can also be loaded/saved from the File menu.
- the middle panel allows you to type a list of parameters. First column contains the set of values for parameter '$1', second column values for parameter '$2', etc. This list can also be loaded/saved from the File menu, or even imported from a catalog plane (see menu File).
- the bottom panel is made of several buttons controlling the execution of the script

Usage example:
Script :

   reset
   get aladin($1) $2
   sync
   get simbad
   get vizier($3)
   sync
   contour 5

Parameters:

   DSS1    hd2      USNO-B1
   2MASS   hd2      UCAC2
   DSS2    taurus   NOMAD
   2MASS   taurus   GSC2.2
   IRAS	   ngc1333  Tycho

Note: You can apply a macro on the list of sources already loaded in Aladin as a classical catalog. Use the Macro menu: File => Use selected plane sources as params".

7.11  Can I launch a "macro" via a script command?

Yes you can !
Aladin offers a new script command called "macro" which takes 2 parameters. The first one is the path of the macro, and the second one, the path of the macro parameters.

7.12  Can I create thumbnail images from a target list?

Yes you can ! You have two methods: by creating a list of view centered on the objects, or via a script :

7.12.1  Thumbnail as a list of views

The simplest method is to use a progressive survey and to generate as many views as you have targets.

Suppose that you have generated a list of targets from our own table (see the associated FAQ entry).

  1. Open a progressive survey: Bookmark "DSS";
  2. Load the source list as a classical table (menu File => Load => File)
  3. Launch the creation of the views : menu View => Thumbnail generator

Note that the new views are "locked" on target. You can change the zoom factor, but not the center of each individual view. For removing all the created views, choose one of these options: View => Delete other views, or View => Delete all the locked views.

7.12.2  Thumbnail via a script

Another method is to use a dedicated macro applied on a progressive survey.

Suppose that you have generated a list of targets from our own table (see the associated FAQ entry).

  1. Open a progressive survey: Bookmark "DSS";
  2. Open the macro controller (menu Tool => Macro controller...);
  3. Load the source list as a list of macro params (menu File => Use selected plane sources as params)
  4. Adapt the following macro: $3; zoom 20arcmin; save $2.jpg
  5. Launch the macro on the target list.

7.13  Is it possible to generate a contour for a specifical value?

With the graphical interface, it is difficult but possible. Keep only one level and adjust it on the proper value. !
Vith the "contour" script command, you can not. May be in a next release.

7.14   ** Is it possible to pass a galactic position even if the default frame is equatorial?

Yes it is, since release 10.
You can specify a coordinate with the frame accronym as a suffix (GAL, ECL, ICRS, FK5, FK4...). In this case the default coordinate frame is ignored.

Example: 123.00 +56.5 GAL


8  TROUBLESHOOTING?


8.1  On MacOS Mountain Lion the .dmg file is reported "damaged" or "can't be opened"

On the Mountain Lion release of Mac OS X, attempting to install the Aladin.dmg file apparently can result in the message:

"Aladin is damaged and can't be opened, you should eject the disk image"

or possibly (not so far reported, but looks like it might happen):

"Aladin can't be opened because it is from an unidentified developer"

It seems that this is in Mountain Lion and later, security settings (a.k.a. GateKeeper) default to not letting you run anything from anywhere other than the Mac App Store or from signed applications. Unfortunately, this results in it reporting Java-based non-signed applications as "damaged".

There are two workarounds for this. One is to eliminate the quarantine flag for the file from the command line. If Aladin is in the current path, you can type

xattr -d com.apple.quarantine Aladin.app

Alternatively, you can (perhaps temporarily) change one of the security settings by going to the Apple menu | "System Preferences..." | "Personal" section | "Security & Privacy" | "General" pane' and changing the setting Allow applications downloaded from: to Anywhere. You can run Aladin, and a dialog will be shown telling you the application is not signed. Once you accept it, you can revert, if you want, your security settings to the default setting, Allow applications downloaded from: Mac App Store and identified developers. Here is a more detailed explanation (for a different application, but you get the idea).

Thanks to TOPCAT FAQ and Juan de Dios Santander Vela who reported these solutions.

8.2   ** The outreach mode does not work?

Until version 9, Aladin could be launched in "undergraduated" mode, with simplified menus and data collections. It is no longer the case in Aladin V10. The main reasons for this evolution are: the fact that outreach mode users often complain that some advanced features were not available in the outreach mode (!); the simplication of Aladin V10 interface (default DSS color survey, data discovery tree, ...).

8.3  My sources are not displayed at their right positions !

If you see a constant offset of all your sources, it is generally a problem of astrometrical calibration of the background image, or maybe in your table. Check it by loading an astrometrical catalog such as USNO.

If you detect an offset of some sources, the main reason is generally a problem of epoch with objets with large proper motions. Aladin uses the coordinates provided in the table "as is", without applying an epoch correction even the image background epoch is different of your catalog one.

If your sources are totally wrongly displayed, it is generally a problem of a bad detection of coordinate columns (typically with CSV tables). You can check and fix it via the menu "Catalog => column info, button Coord. columns".

8.4  I cannot load my HEALpix map !

Aladin can load HEALPix map stored in a FITs binary table (following the HEALPix standard), both in RING or NESTED scheme. But there are a few limitations:
- the NORDER must be a power of 2
- the NORDER must be greater or equal to 3 (NSIDE=8)

Note: Aladin requires more RAM for loading an HEALPix map in RING scheme than in NESTED scheme. In case of memory problem, prefer the NESTED scheme.

8.5  I cannot easily pan my progressive survey !

In progressive mode, when you pan the view, Aladin rotates the sky along the equator of the current coordinate system. Typically, if you want to "turn" along the milky way it is easier to select before the GAL coordinate system instead of an equatorial one.

8.6  Aladin says "out of memory error" instead of loading images!

Aladin runs through a Java Virtual Machine and depends on its memory configuration. First of all, free the Aladin plane stack from the unused images/catalogues and try again. Then, if it doesn't work better, see section "What is the image size limit" to have more details.

8.7   ** I cannot build the HiPS of my observations !

For building an HiPS (Hierachical Progressive Survey), your observations must have an appropriated astrometrical calibration. You can test one of your image by loading it in Aladin and check if the coordinate grid can be activated. It it is not the case, your image can not be used for building an HiPS.

Also, the HiPS technology is evolving very rapidly. Do not hesitate to install the last Aladin beta version to be sure that the "hipsgen" internal library is the last available one.

8.8  What is this ".aladin" in my home directory?

The directory ".aladin" is used for four things:

  1. Aladin uses a temporary directory to memorize full pixel images during a session. This directory caches are created inside the ".aladin" directory in your home directory which is never removed.
  2. The configuration file of the user preferences (aladin.conf) is stored in this ".aladin" directory.
  3. The Aladin compatible plugin Java classes have to be saved in a "Plugins" subfolder to be recognized by Aladin (see Plugins FAQ question)
  4. The "Cache" directory memorizing GLU record files, VizieR keyword files,... for starting Aladin faster, and also a lot of pre-loaded HiPS "tiles" for avoiding too many network access.


9  DEVELOPER INFORMATION


9.1  Can I get the source code?

Yes you can !
Since release 7 Aladin is distributed under a GNU GPL v3 licence. Here the address for the last source package : http://aladin.u-strasbg.fr/Java/AladinSrc.jar

9.2  What is an Aladin compatible plugin?

Aladin can be "extended" by personal Java plugins. It means that you can easily write your own Java code for your purpose either for image manipulation or catalog manipulation. Aladin offers Java methods to access directly the internal Aladin data buffers allowing you to keep good performances and avoid data duplication in memory.

Have a look on Aladin plugin Web page to see the list of public Aladin compatible plugins (http://aladin.u-strasbg.fr/java/nph-aladin.pl?frame=plugRep).

To install a plugin, you will proceed in 2 steps:

  1. Open the "Plugin controller" (first item int the menu "Plugins" in Aladin);
  2. Download and copy the plugin class/jar file into your dedicated Aladin plugin directory ($HOME/.aladin/Plugins)(*) and press the "Re-load" button.
    or Drag&Drop the plugin class/jar file directly from your OS desktop (Windows) into the Aladin plugin list.

(*) On Windows, the home directory is located in C:\Users\YourName

To execute a plugin:

  1. Look for your plugin in the Aladin "Plugins" menu;
  2. Execute your plugin either by the plugins menu, or by the "Plugin controller" or by the corresponding script command.

Note: Your own plugins will not work with a Web Start launching. Only official ones.

9.3  How to create my Aladin plugin?

Before creating your own plugin, look on Aladin plugin Web page to see the list of public Aladin compatible plugins to be sure that your plugin has not been written yet by another developer. If not, you have several tutorial example here.

First of all, a simple example:

     import cds.aladin.*;

     public class Rotate extends AladinPlugin {

        public String menu() { return "Image rotation"; }
        public String description() { return "This plugin rotates the image"; } 
        /*
         * Execute an 90deg image rotation
         * 1) get the pixels and image size
         * 2) create a new pixel array width=>height and height=>width
         * 3) rotate the image from the previous array to the new one
         * 4) send the new pixel array to Aladin
         */
        public void exec() {
           try {
              AladinData sd = aladin.getAladinImage();
              double [][] pix = sd.getPixels();
              int w = sd.getWidth();
              int h = sd.getHeight();
              double [][] rotpix = new double[h][w];
              for( int y=0; y<h; y++) {
                 for( int x=0; x<w; x++ ) rotpix[y][w-x-1] = pix[x][y];
              }
              sd.setPixels(rotpix);
           } catch( AladinException e ) { e.printStackTrace(); }
        } 
     }

Create your plugin:

9.4  Where can I find Aladin plugins?

All public plugins are available on Aladin plugin Web page.

Call for plugins: Aladin team would be pleased to register your public plugins for the astronomical community. If you agree, send it to us at this following address cds-question at astro.unistra.fr

9.5  Can I use Aladin behind my Web server as a CGI tool?

Yes you can.

Aladin can be interfaced to a CGI script to produce images on the fly (look for instance the Aladin preview tool generating automatically coloured jpeg images with this mechanism - http://aladin.u-strasbg.fr/AladinPreview).

You have to take care of this issue :
On Unix, Aladin requires a X11 display and in this CGI context there is not. However it exists an very useful tool called Xvfb simulating an X11 display. So you just have to launch it before Aladin (if it is already running, it will stop launching).

Here is a CGI PERL script example creating on the fly a field chart (DSS + USNOB1 + Simbad) around the user's object. Feel free to adapt and use it for your own purpose.

   #!/usr/bin/perl
   #
   # Name  : AladinChart
   # Author: P.Fernique [CDS] - june 2012
   #
   # CGI PERL script to produce on the fly Aladin field charts
   # 1) Install it on your Web server CGI directory
   # 2) Adjust the path section (and install Xvfb and cjpeg if you have not)
   # 3) Try it with the URL http://your.web.server/cgi-bin/AladinChart?M101
   # 4) Do not forget the credit mention somewhere ("generated by Aladin from CDS")

   #The astronomical user object from HTTP parameter line
   $o = $ENV{'QUERY_STRING'};

   #HTTP decoding (if you prefer, use a standard lib)
   $o=~s/\+/ /g;
   $o=~s/%([0-9A-F]{2})/pack('C',hex($1))/eig;

   #The paths (adjust them according to your configuration)
   $Java   = "/usr/bin/Java";
   $jar    = "/usr/local/Aladin/Aladin.jar";
   $xvfb   = "/usr/X11R6/bin/Xvfb";
   $fonts  = "/usr/X11R6/lib/X11/fonts/misc/";
   $tmp    = "/tmp/tmp$$.jpg";

   #The Aladin script to produce the field chart and save it
   #You can modify it to produce any kind of charts
   $script = "get STScI(DSS1) $o;get VizieR(USNOB1) $o;get Simbad $o;".
             "grid on;save $tmp1;quit";

   #Command definitions
   $output = "> /dev/null 2> /dev/null";
   $aladin = "$Java -jar $jar -script $output";
   $Xdisp  = "$xvfb :1 -screen 0 1152x900x8 -fp $fonts -ac -pn $output &";       
   $exec   = "DISPLAY=localhost:1.0;export DISPLAY;echo '$script' | $aladin";

   #debugging output line (uncomment them to fix possible problems)
   #print "Content-type: text/plain\n\n$Xdisp\n$exec\n";
   #exit(0);      

   #Command execution
   system($Xdisp);
   system($exec);

   #Image transmission
   if( !open(IMAGE,$tmp) || (stat(IMAGE))[7]==0 ) {
      print "Content-type: text/html\n\nError !!!";     
   } else {
      $size = (stat(IMAGE))[7];
      print "Content-type: image/jpeg\n\n";
      read(IMAGE,$buf,$size);
      print $buf;
      close(IMAGE);
   }

   #
   unlink $tmp;

9.6  How to create an Aladin clickable maps ?

Aladin can easily produce clickable maps for Web servers. Here a Simbad clickable map produced by this method.
Here a NED clickable map produced by this method.

Aladin is able to create a PNG chart file and an associated link file for using them as a clickable map. These maps can be prepared in advance or on the fly (see the section concerning the Aladin usage behind a web server). The only constraint is to use overlay catalogs with "clickable objects". It means that each overlay source must have at least one link associated to its measurements (displaying in blue underlined in Aladin) (see LINK votable attribute)

  1. Generate the map and the associated link file concerning your data via the save PNG+LINK menu. Here a full script example for producing a Simbad finding chart around M104: "get Simbad M104;sync;set Simbad filter=colorized;grid on;save -lk M104.png"
  2. Copy the two produced files (.png and .lk) on your http server
  3. Install/use/extend this very simple CGI perl script on your http server.

   #!/usr/local/bin/perl
   #
   # A simple CGI perl code for Aladin clickable maps generated by the
   # Aladin script command "save -lk xxx.png"
   #
   # 0) Adjust the $DIR variable below 
   # 1) put the 2 produced files (xxx.png, xxx.lk) in $DIR
   # 2) install this "nph-plot.pl" cgi in your http server
   #    (do not modify the prefix "nph-")
   # 3) try the url http://your.httpd.site/.../nph-plot.pl?name=xxx
   # 4) Click on an object
   #

   #A directory readable by the httpd user
   $DIR = "/home/fernique/aladin/dochtml/";

   # Generate the HTML page containing the clickable map
   sub sendHtml {
      my($program)=$0=~/([^\/]*)$/;  
      my($name)=&getParam("name");
      print "HTTP/1.1 200 OK\nContent-type: text/html\n\n";
      print "<HTML><HEAD><TITLE>Aladin Plot</TITLE></HEAD><BODY>\n";
      print "<H1>Clickable map by Aladin</H1>\n";
      print "<A HREF=\"$program?mode=click&name=$name\">\n";
      print "   <IMAGE SRC=\"$program?mode=image&name=$name\" ISMAP BORDER=0>\n";
      print "</A>\n";
      print "</BODY></HTML>\n";
   }

   # Send the png image of the clickable map
   sub sendImage {
      my($name)=&getParam("name");
      my(@stat)=stat("$DIR$name.png");
      open(F,"< $DIR$name.png");
      read(F,$img,$stat[7]);
      print "HTTP/1.1 200 OK\nContent-type: image/png\n\n";
      print $img;
   }

   # Open the url associated to the closest object of the mouse click
   sub callLink {
      my($X,$Y)=$ENV{'QUERY_STRING'}=~/\?([0-9]+),([0-9]+)/;
      my($name)=&getParam("name");
      my($dmin)=-1;
      open(F,"< $DIR$name.lk");
      while( <F> ) {
         ($plan,$id,$x,$y,$url)=split("\t");
         $dist = ($X-$x)*($X-$x) + ($Y-$y)*($Y-$y);
         if( $dist<50 && ($dmin<0 || $dist<$dmin) ) { $URL=$url; $dmin=$dist; }
      }
      if( !defined $URL ) { &sendHtml;  }
      else {
         print "HTTP/1.1 301 OK\n";
         print "Location: $URL\n\n";
      }
   }

   # Just for parsing HTTP url parameters
   sub getParam {
      my($key)=@_;
      my($a,$value);
      ($a,$value)=$ENV{'QUERY_STRING'}=~/(^|&)$key=([^\&\?]*)/;
      $value=~s/\+/ /g;
      $value=~s/%([0-9A-Fa-f]{2})/pack('C',hex($1))/eig;
      return $value;
   }

   # Main choice
   $mode = &getParam("mode");
   if( $mode eq "image" )    { &sendImage;  }
   elsif( $mode eq "click" ) { &callLink;  }
   else { &sendHtml; }

9.7  Can I control Aladin from IDL (Interactive Data Language) ?

Yes, you can (requires IDL>=6.0) !
The idl_aladin_interface.tar.gz archive contains a set of IDL functions (.pro files) allowing to launch Aladin, load images, load tables, select object in tables, etc. Those functions make use of the IDL Java Bridge to call Aladin Java methods from IDL.

Uncompress the archive (tar zxvf idl_aladin_interface.tar.gz), and have a look at the README.txt file in directory idl_aladin_interface to learn how to setup IDL in order to use this API. a

9.8  Can I launch Aladin from another Java application?

For Java developers, Aladin can be launched from another Java application. You have to use the Aladin.launch() static method with these following optional parameters: (String CmdLineParams).

Example:

   public class MyApp() {

      public void startAladin() {
         Aladin.launch("-trace");
      }      
   }

See the section VOApp for controlling Aladin from your own applet/application.

9.9   ** I do not want the new dark theme

By default, Aladin V10 starts with a new dark theme (darkgray background...). However, you can modify this default theme either via the user preferences (Menu Edit), or by the command line parameter "-theme=classic|dark".

This last method may be useful, notably if you are controlling Aladin from another Java application using a classical GUI them.

9.10  What is the Aladin cds.tools.VOApp Java interface?

For Java developers Aladin can be controlled (and control) another Java application such as APT (NASA), GuideCam (ESO),... To do that, we created a Java "interface" defining the possible interactions between Aladin and another Java tool. This interface is implemented by Aladin and has to be implemented also by the other application. The interactions between both applications are symmetrical.

package cds.tools;
import Java.io.*;
public abstract interface VOApp {

   /** To load a VOTable to another application
    * @param in VOTable stream
    * @param dataset label, or null
    */
   public abstract String putVOTable(InputStream in,String label);

    /**
    * Allow an "external" application to send new data via an InputStream
    * in VOTable format. The reference to this "external" application has to
    * passed in order to eventually calls back the "external" application,
    * or to be called again by the "external" application concerning the
    * VOTable objects that it had sent before (see showVOTableObject() and
    * selectVOTableObject() methods below)
    * For this calls or callbacks, the "external" application has to
    * create a new VOTable column giving an unique identifier for each object
    * that it has sent. This column has to be described by the following
    * VOTable FIELD tag : <FIELD name="_OID" type="hidden">. It is strongly
    * recommended to add an unambiguous prefix to avoid conflicts with the
    * assignations done by the "external" application and its own assignations.
    * The unicity has to be maintained during all the session. It means that
    * successive VOTables must have difference unique identifiers.
    * @param app "external" application compliant with VOApp Java interface
    * @param in VOTable stream
    * @param dataset label, or null
    * @return an unique ID for this dataset (application dependent - for instance,
    *         the plane name in Aladin)
    */
   public abstract String putVOTable(VOApp app, InputStream in,String label);

   /** To get a dataset in VOTable format (typically for catalogues).
    * @param dataID the dataset identifier (application dependent
    * for instance, the plane name in Aladin)
    * @return a stream containing the VOTable
    */
   public abstract InputStream getVOTable(String dataID);   

   /** To load an image to another application
    * @param in FITS stream
    * @param dataset label, or null
    */
   public abstract String putFITS(InputStream in,String label);   

   /** To get a dataset in FITS format (typically for images)
    * @param dataID the dataset identifier (application dependent
    * for instance, the plane name in Aladin)
    * @return a stream containing the FITS
    */
   public abstract InputStream getFITS(String dataID);


   /**
    * Call or Callback asking the other application to SHOW objects found
    * in a VOTable previous transmission via loadVOTable() method.
    * The action "SHOW" is a choice of the other application (for example a blink)
    * @param oid list of identifiers found in VOTables (see comment of the
    *            putVOTable() method.
    */
   public abstract void showVOTableObject(String oid[]);

   /**
    * Call or Callback asking the other  application to SELECT objects found
    * in a VOTable previous transmission via loadVOTable() method.
    * The action "SELECT" is a choice of the other application (for example select
    * objects by showing the corresponding measurements, it can be the same thing
    * that the "SHOW" action - see showVOTableObject() method.)
    * @param oid list of identifiers found in VOTables (see comment of the
    *            putVOTable() method.
    */
   public abstract void selectVOTableObject(String oid[]);

   /**
    * Allow an "external" application to show or hide this application
    */
   public abstract void setVisible(boolean flag);

   /**
    * Allow an "external" application to control by script this application
    * @param cmd script command depending to this application
    * @return error or messages, can be null
    */

   public abstract String execCommand(String cmd);

   /** To register an observer of VO events implementing VOObserver interface.
    * see VOObserver.position() and VOObserver.pixel() associated callback methods
    * ex: addObserver(this,VOApp.POSITION|VOApp.PIXEL)
    * @param app the application to register
    * @param eventMasq a bit field (use POSITION or PIXEL),
    *                  (0 to remove the observer)
    */
   public abstract void addObserver(VOObserver app,int eventMasq);
}

As historically Aladin is both a standalone Java application and an applet, you have to instantiate Aladin by following the example below (and not by Aladin constructor):

Example of VOApp usage

import cds.tools.*;
import Java.io.*;

public class mytool implements VOApp {

   public void startAladin() {
      // Instantiate Aladin
      VOApp aladin = cds.aladin.Aladin.launch();

      // Ask Aladin to load a FITs image
      InputStream in = (InputStream)(new FileInputStream("FITsFile.fits"));
      aladin.putFITS(in,"MyFITS");

      // Ask Aladin to load a VOTable file (you pass your own object reference
      // for possible callbacks. You can use the simpler method putVOTable(in,"MyVOTable")
      // if you do not want to be called back for showing or selecting objects
      // of this VOTable)
      in = (InputStream)(new FileInputStream("VOTableFile.xml"));
      aladin.putVOTable(this,in,"MyVOTable");

      // Ask Aladin to select the VOTable objects identified by OID=78 and 82
      // See comment of the putVOTable() method for object identifier method
      aladin.selectVOTableObject(new String[]{"78","82"}   
   }

   // You own implementation of VOApp methods for Aladin callbacks
   public String putVOTable(VOApp app, InputStream in,String label) { return null; }
   public String putVOTable(InputStream in,String label) { return null; }
   public InputStream getVOTable(String dataID) { return null; }
   public String putFITS(InputStream in,String label) { return null; }
   public InputStream getFITS(String dataID) { return null; }
   public void showVOTableObject(String oid[]) {
      System.out.print("I have to show:");
      for( int i=0; i<oid.length; i++ ) System.out.print(" "+oid[i]);
      System.out.println();
   }
   public void selectVOTableObject(String oid[]) {
      System.out.print("I have to select:");
      for( int i=0; i<oid.length; i++ ) System.out.print(" "+oid[i]);
      System.out.println();
   }
   public void setVisible(boolean flag) {}
   public String execCommand(String cmd) { return null; }
   public void addObserver(VOObserver app,int eventMasq) {}
}

9.11  What is the Aladin cds.tools.VOObserver Java interface?

For Java developers Aladin can interact with another Java application in order to transmit it the coordinate position and/or the pixel value corresponding to the current Aladin mouse position. To do that, the collaborative Java application has to implement this following VOObserver Java interface.

package cds.tools;
import Java.io.*;
public abstract interface VOObserver {

   /** The observer method to call on a position VO event
    * in order to transmit the current coordinates J2000 position.
    * Generally called by a Java mouse event, it is strongly recommended
    * to implemented this method as short as possible.
    * @param raJ2000 Right ascension in degrees J2000 
    * @param deJ2000 Declination in degrees J2000
    */
   public abstract void position(double raJ2000,double deJ2000);

   /** The observer method to call on a pixel VO event
    * in order to transmit the current pixel value
    * Generally called by a Java mouse event, it is strongly recommended
    * to implemented this method as short as possible.
    * @param pixValue pixel value under the mouse
    */
   public abstract void pixel(double pixValue);
}

As hisotrically Aladin is both a standalone Java application and an applet, you have to instantiate Aladin by following the example below (and not by Aladin constructor):

Example of VOObserver usage

import cds.tools.*;
import Java.io.*;

public class mytool implements VOObserver {

   public void startAladin() {
      // Instantiate Aladin
      VOApp aladin = cds.aladin.Aladin.launch();

      // Register me for Position and Pixel events
      aladin.addObserver(this,VOApp.POSITION|VOApp.PIXEL);
   }

   // VOObserver callback method for coordinate positions
   public void position(double raJ2000,double deJ2000){
      System.out.println("The current Aladin coordinates are: "+raJ2000+" "+deJ2000);
   }

   // VOObserver callback method for pixel value
   public void pixel(double pixValue) {
      System.out.println("The current Aladin pixel value is: "+pixValue);
   }
}

9.12  Where can I get an Aladin icon for links ?

Here, there are 32x32 pixel icons , a 32x23 pixel icon and a 16x16 pixel icon


10  MORE INFORMATION AND REFERENCES


10.1  Where can I find the manual?

A full Aladin manual is available in French, in English and in Italian on the Aladin official site. These manuals are dedicated to the version Aladin version 6. Some new features are not described and the screen dumps can be not totally similar to the current release 9.

10.2  How to acknowledge Aladin?

The preferred reference to use if you are using Aladin for your own research is the following: Bonnarel F., Fernique P. et al. 2000A&AS..143...33B - Astron. Astrophys., Suppl. Ser., 143, 33-40 (2000) - April(I) 2000.

10.3  What is SAMP?

SAMP is a protocol for communication between client-side astronomy applications. Concretely, it allows you to send data to another SAMP compatible application and select some of them and see the corresponding selection into the other application.

SAMP is a three parts mechanism : two applications (or possibly more) and one "hub" for forwarding messages and data from one application to the other. It exists several SAMP hub implementations.

More information on SAMP web page.

Aladin is compatible with SAMP and integrates itself a SAMP hub. See t