Aladin FAQ
P.Fernique/T.Boch/D.Durand - March 2014 - edition 14.1

The full Aladin manual is available at this following address:
http://aladin.u-strasbg.fr/java/AladinManual6.pdf

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

Contents:


1   ** WHAT'S NEW WITH ALADIN


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 "Java" client. Documentation concerning Aladin Lite is available at this address: http://aladin.u-strasbg.fr/AladinLite

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?

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.
Here a non-exhaustive list:

Institutes:

Projects:

Softwares:

Courses & astronomical tutorials:

Others:

2.3  Which astronomical data are available via Aladin?

First of all, 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 (HEALPix FITS maps) via the menu "File -> Open local file" or on the command line (standalone mode) as one argument or also via the script command "load".

In addition, Aladin offers you an access to most of the astronomical servers over the world.

2.4  Is Aladin adapted for outreaching?

Yes it is !
Aladin can be launched in "undergraduate" mode added to the original professional mode. In the undergraduate mode(*), the choice of the images and catalogues has been reduced in order to offer a selection of the most important data without embarrassing the user with too many alternatives or with too sophisticated data. All data are still accessible from the professional version which is offered together with the simplified version. Also the choice of functions activated directly with buttons and switches has been reduced to ease learning curve required by the sofware.

Select via the menu "Edit => User preferences" the default "profile" mode. Or use the dedicated command line parameter : "-outreach". Several courses are already available. See the list above.

Note: This adaptation has been done in the framework of the EuroVO AIDA WP5 project

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.


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 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   ** What is Aladin Lite?

Since 2013, the CDS provides an alternative Aladin client dedicated to the Web pages. It is written in Javascript, based on the HTML5/CANVAS technology. It allows you to display inside a HTML page a progressive survey (HiPS) with some overlays (footprints, catalogs, ..). Documentation and examples are available at this address: http://aladin.u-strasbg.fr/AladinLite .

3.3  How to install and start the Standalone version?

Aladin standalone can be downloaded from Aladin standalone page.

According to your configuration, Aladin is differently packaged:

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

You can also install&run it via a Web Start Java automatic installer if your browser knows this method (aladin.jnlp).

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

java -Xmx1024m -jar Aladin.jar

3.4  What is a "Java Virtual Machine"?

Any JAVA executable (like Aladin) is built 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. Of course, this Java Virtual Machine (JVM) is hardware and operating system dependent. Two types of Virtual Machines exist: those included in every common web browser, and those running as an independent programme, like the Java RunTime Environment (JRE) from Oracle. These programmes need to be downloaded for your particular platform - see http://www.java.com/download

3.5  What is Aladin APPLET? Aladin STANDALONE?

Aladin can be used either as a standalone Java application, requiring a basic installation, or as a Java applet, running inside your Web browser.

Aladin can be used either as a Java applet or as a standalone Java application.

In the applet case, you are running it directly from within a browser such as Mozilla (all platforms) or IExplorer (Windows only).

The alternative is to download the Java code and run Aladin as a standalone application. In this case, you don't need to launch a browser to use Aladin and there is absolutely no security restriction.

If you choose the application solution, you need to download the Aladin package and install a JVM (Java Virtual Machine) - see http://aladin.u-strasbg.fr/java/nph-aladin.pl?frame=downloading.

3.6   ** I heard that APPLETs are dangerous?

These days, the Java APPLET technology is the subject of a lot of debates concerning some potential security risks. Some malware use the java applet technology for trying to access your local resources.

To reduce this risk, Oracle modifies recently its security policy: if you have a recent Java Virtual Machine (>=2014), you will no longer be able to start an applet not fully certified.

Fortunately, Aladin is not a malware and its origin is now certified by GlobalSign (since February 2014). Concretely, if the Java launching banner specifies that the origin of the applet is "Observatoire Astronomique (Universite de Strasbourg)", you can run it without worry.

Alternatively, you can also download Aladin from the CDS site, install and run it as a standalone application.

3.7  Which machines support Aladin?

Aladin is compatible from Java release 1.5 to the last JAVA release. It means that Aladin is supported by the majority of the existing 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).

3.8  Is Aladin APPLET needing browser plug-ins?

Yes you need java plug-ins if your configuration does not have java yet. If you install java, you will have automatically the plug-ins capability available for all your browsers. Use this link see http://www.java.com/download

3.9  Can I run Aladin without Firefox, Mozilla or IExplorer?

Yes, you can.
See the What is Aladin APPLET? Aladin STANDALONE? section above.

3.10  Do the applet and the standalone share the same code?

Yes they do !

3.11  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 US Naval Observatory Catalogue of Astrometric Standards (USNO-B2.0). 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.12   ** 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.13  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.14  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 -Xmx1024m -jar Aladin.jar.

But, if you have used a dedicated Aladin packaging or if you use Aladin as an applet, 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.

3.15  Can I increase the JAVA memory of my browser?

Yes you can !
You have to use the JAVA ControlPanel provided with the Java (plug-in) distribution.

  1. Find your JAVA installation and open, with your favourite browser, the HTML document ControlPanel.html (generally, into the subdirectory "jre")
  2. The JAVA control panel will be launched as an applet in your browser and let you modify some default values and especially to specify additional parameters.
  3. Find the appropriate text field to put this following parameter : -Xmx512m (512 Mbytes for the heap)

You can do the same thing by activating the JAVA ControlPanel with the Operating System:
- on a Mac: use the "Applications -> Utilities -> Java" menu of the "Finder";
- on a Windows machine: use "Start -> Settings -> Control Panel -> Java plug-in" menu;
- on a Linux: launch the "ControlPanel" script located in the Java installation directory.

(Thanks to Daniel Durand for this tip)


4  USAGE


4.1  How can I select VizieR catalogues for overlay?

Most of the astronomical catalogues and tables are taken from the VizieR data base (see the question "Which data is available via Aladin?").

The interface between Aladin and VizieR presents three alternatives for the choice of tables/catalogues. Once you have to select the "load" button, you can select:

Note: In these three VizieR forms, you can also just type in the Catalogue box the acronym (e.g. HD) or CDS identification of catalogue (e.g. III/135); a comma-separated list of acronyms may be specified for several catalogues, e.g. BD,CD,CPD; click here for a complete list of available catalogue acronyms or identifications.

Two checkboxes allow you to specify:
. "all columns": By default VizieR just returns the main columns. This checkbox will force VizieR to provide all original columns.
. "whole catalog": the whole catalog will be concerned and the target/radius will be ignored. This option is limited to 1 million objets.

Since Aladin 8, you can also load the density map and the coverage associated to each catalog or table. The coverage is provided as a MOC (MultiOrder Coverage map) allowing you to manipulate it very efficiently (union, intersection, comparison...). See the MOC section for details.

4.2  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).Since release 8, 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.3   * Is Aladin supporting IPAC TBL format?

Yes, it is, since version 7.5 !

4.4   * Is Aladin supporting MS-Excel or Libreoffice CSV?

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

4.5  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.6   * 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.7   * Can I load my own Field of View (FoV)?

Yes, you can!
You have two possibilities:

4.7.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.7.2  Via a VOTable file

Aladin is supporting an emerging VO standard 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.

Warning: The FoV standard is still progressing. Aladin will implement the definitive standard when it will be ready. But it will continue to support the current one as long as this will be required.

4.8  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.9   * 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", "setframe" script commands.

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: Since release 8, 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.10   * 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.11   ** Is Aladin supporting STC-S regions?

Yes, it is, partially, since version 8 !
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.12   * 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). The FITS keyworkd CTYPE3 = 'RGB ' will help it to recognize this kind of images. Since version 7.5, Aladin supports RGB FITS image with any FITS BITPIX and not only 8.

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

Since version 7.5, Aladin also supports colored RGB cube. See next section.

4.14   * Is Aladin supporting colored cubes ?

Yes, it is, since version 7.5 !
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.15   * Is Aladin can display cubes in XxZ rather the XxY ?

Yes, it is, since version 8 !
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.16  How can I retrieve archive previews ?

Some archive previews are directly available via the "Frame Server Selector" (menu File -> Open...), and notably through the "All VO form". You can also load some of them via the mission log of the archives provides by VizieR catalog service. For this last case, you have to proceed in two steps:

Firstly, you query the VizieR service for the mission log of the archive (for example, the HST log or the FIRST log) around a target.
Secondly, you select the resulting positions in the view and look at the corresponding data in the measurement window. If you find a button "Image" in the data line, click on it to retrieve the corresponding archive image. A new plane will be created automatically in the stack.

4.17  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.18  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.19   ** 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.20   ** 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.21  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.

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

Since release 8, 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.23  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.24   * How to "extract" image pixel values?

Since release 7.5, 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.25   * Is it possible to rotate the image?

Since release 7.5, 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 force the "North Up" by clicking on the corresponding button at the left bottom corner of Aladin.

4.26   ** Is it possible to turn a cube?

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

4.27  Is it possible to save a cube?

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

4.28   * 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:
Since release 7.5, 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.29  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.30   How to retrieve the previous target in the server selector?

Normally, the target and radius fields are automatically filled up according to the current Aladin view. But if you modify them, these modifications will be the new default. To retrieve the previous values, reset the form (use the "RESET" button). You can also click in any Aladin view (especially in multiview modes) to adjust the target/radius to this view.

4.31   ** Is it possible to change the epoch?

Yes, there is, since version 8!
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.32   ** 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, since Aladin 8, 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.33  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 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.

4.34   ** 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 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.

This photometry tool is available since the release 8.

4.35  How to make Aladin more verbose?

Aladin has 4 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 or off.

The messages will appear both in the console window in which you launched Aladin (or java console in applet mode).

4.36  Can I use Aladin without a network connection?

Yes, you can, but obviously, only with the Standalone version.
It 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.37  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.38  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.39   * Is Aladin supporting HTTPS?

Yes it is ! Since release 7.5

4.40  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.41  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.42  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 -chart="[server[,server...]" object
       Aladin -hipsgen ...
       Aladin -mocgen ...
       Aladin -help
       Aladin -version

   Options:
       -local: without Internet test access
       -screen="full|preview": starts Aladin in full screen
               or in a simple preview window
       -glufile="pathname|url[;...]": local/remote GLU dictionaries describing
               additionnal data servers compatible with Aladin 
       -stringfile="pathname[;...]": string files for additionnal
               supported languages
       -scriptfile="pathname|url[;...]": script by local files or url 
       -script="cmd1;cmd2...": script commands passed by parameter
       -nogui: no graphical interface (for script mode only)                => noplugin, nobanner, nobookmarks, nohub
       -nobanner: no Aladin banner
       -noreleasetest: no Aladin new release test
       -[no]hub: no usage of the internal PLASTIC hub
       -[no]plugin: with/without plugin support
       -[no]bookmarks: with/without bookmarks support
       -[no]outreach: with/without outreach mode
       -[no]beta: with/without new features in beta test
       -[no]proto: with/without prototype features for demonstrations and tests
       -trace: trace mode for debugging purpose
       -debug: debug mode (very verbose)

       -chart=: build a png field chart directly on stdout
       -hipsgen: build HEALPix progressive sky by script (see -hipsgen -h for help)
       -mocgen: build MOC by script (see -mocgen -h for help)
       -help: display this help
       -version: display the Aladin release number

   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
       - graphics: Aladin or IDL or DS9 regions, MOCs
       - directories: all-sky HEALPix folders
       - Aladin backup : ".aj" extension
       - Aladin scripts : ".ajs" extension

New in V8: hipsgen, mocgen

4.43  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.

Note: If you are using Aladin in applet mode, the new server definition must be available itself via an http address and you must pass this address in the aladin launch url via an additionnal http parameter: -glufile=http://yoursite/yourGluFile.dic. Remember that this url must be http encoded.

4.44   ** 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).

Since release 8, it is also possible to edit and save the FITS header.

4.45   ** What can I do with the "stack sliders"?

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

Only 3 sliders are displayed by default (size, opac. and zoom). Use your preferences form (menu Edit -> User preferences) for adjusting this configuration.

4.46  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.47   * 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.

4.48   * 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.49  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 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.50   * 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.51  Sometime I cannot overlay two images. Why?

Aladin allows you to superimpose several 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.52  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.53  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, if the "synchronization function" is activated, Aladin will adjust the size of all compatible views.

4.54  How to use the "Location" field?

The Location field is the small white rectangle below the Aladin menu. It is used for several purposes:

4.55   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.

4.56  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".

Since release 7, it is possible to modify simultaneously the colour maps for all selected images in the stack.

4.57  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.58  Can I reverse the image colours?

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

4.59   * Can I display my color map?

Since version 7.5, 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.60   ** How to do a photometry measurement?

Aladin offers tools concerning 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:
  • Local source extraction: With the same "phot" tool, click on a source. Aladin will draw an ellipse based on a local extraction of this source. If you select this source, Aladin displays the associated measurements (central position, background estimation, peak level]...
    Thanks to P.Grosbol's "Image Quality Estimate" original code from ESO).

    4.61   * 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.62  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.63   * Can I change the BITPIX of a FITS image...?

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

    4.64  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.65  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.66   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?

    Since version 7, 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, catalog surveys and density maps.

    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 since Aladin release 8!
    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 are running Aladin v8, but 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 spherical (sinus) projection to display a progressive survey, but you can also display themitin AITOFF or any other projections supported by Aladin (sinus,tangential,aitoff, zenital equal area, stereographic, cartesian, mollweide,...) => see the "Properties" button.

    Any new HiPS will reuse the projection of the last HiPS loaded in Aladin. You can also modify permanently the first default sinus 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.

    Since release 8, HiPS and 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). 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.jpl.nasa.gov. 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). 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: Technical details can be found at this address: http://aladin.u-strasbg.fr/HiPS/HiPS%20technical%20doc.pdf

    5.9  Is Aladin supporting HEALPix maps ?

    Yes it is, since release 7
    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.10   ** 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.

    5.11  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.12  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.13   * Can I "crop" an image from a progressive survey ?

    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.14   ** Can I create my own progressive survey ?

    Aladin v8 allows you to create your own progressive survey (also called HiPS for 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 "Tool => Progressive sky builder (HiPS)" and follow the instructions.

    But as this process can take a while (three days 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 -Xmx2000m -jar Aladin.jar -hipsgen in=Path
    

    The list of optional parameters can be displayed via the "-h" option.
    The parameters are:

        -f                 Do not take into account possible previous computation
        in=dir             Source image directory (fits or jpg|png+hhh or HiPS)
        out=dir            HiPS target directory (default $PWD+"ALLSKY")
        mode=xx            Coadd mode when restart: pixel level(OVERWRITE|KEEP|AVERAGE) 
                           or tile level (REPLACETILE|KEEPTILE) - (default OVERWRITE)
        img=file           Specifical reference image for default initializations 
                           (BITPIX,BSCALE,BZERO,BLANK,order,pixelCut,dataRange)
        bitpix=nn          Specifical target bitpix (-64|-32|8|16|32|64)
        order=nn           Specifical HEALPix order
        hdu=n1,n2,...      List of HDU numbers (0 is the primary HDU - default is 0)
        border=...         Margins (in pixels) to ignore in the original images (N W S E or constant)
        circle=nn          Circle mask (in pixels) centered on each original images
        blank=nn           Specifical BLANK value
        maxThread=nn       Max number of computing threads
        region=moc         Specifical HEALPix region to compute (ex: 3/34-38 50 53)
                           or Moc.fits file (all sky by default)
        pixelCut=min max   Specifical pixel cut and/or transfert function for PNG/JPEG 8 bits
                           conversion - ex: "120 140 log")
        pixelRange=min max Specifical pixel value range (required for bitpix
                           conversion - ex: "-5 110")
        skyval=true|key    Fits key to use for removing a sky background, true for automatic detection
        fitskeys=list      Fits key list (blank separator) designing metadata FITS keyword value to memorized in the HiPS index
        fading=true|false  False to avoid fading effect on overlapping original images (default is true)
        mixing=true|false  False to avoid mixing (and fading) effect on overlapping original images (default is true)
        partitioning=true|false True for cutting large original images in blocks of 1024x1024 (default is true)
        method=m           Method (MEDIAN|MEAN) (default MEDIAN) for aggregating compressed tiles (jpeg|png)
        color=jpeg|png     The source images are colored images (jpg or png) and the tiles will be produced in jpeg (resp. png)
        publisher=name     Name of the person|institute who builds the HiPS
    

    By default, hipsgen makes these actions: INDEX TILES PNG GZIP PROGEN. If required, you can also control separately each steps of your HiPS generation.

    Note: Some hipsgen parameters has been modified between Aladin v7.5 and v8. The previous syntax is no longer described but it is still supported. However, note that the previous SkyGen java class has been renamed in HipsGen java class meaning that the launching method: "java -cp Aladin.jar cds.allsky.SkyGen ..." is no longer supported.

    It is possible to do same thing with a set of JPEG or PNG images as explained in the next FAQ entry.

    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.

    5.15   * 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).

    Alternativly 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.16   ** Can I create a HiPS color by script ?

    If you original images are JPEG or PNG you can (see the FAQ entry above). Otherwise,you can't.
    The combination of 3 HiPS in a color HiPS is not yet implemented in Aladin. Certainly in a next version.

    5.17   ** 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.18  How to distribute my own progressive survey ?

    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.

    1. If you have a simple HEALPix map as an unique FITS file, just expose it behind your web server. The URL can be directly loaded in Aladin. In practice, this method works only for small files (<100MB).

    2. If you have generated a HiPS as a hierarchy of directories/files (by using the menu "Tool => Progressive sky builder (HiPS)"), just expose them behind your web server. The URL of the root directory can be directly loaded in Aladin. It is the best method, notably for large surveys. 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.

    Describe your progressive survey:
    In order to see your progressive survey in the Aladin HiPS menus, you have to describe it via a small record (GLU syntax), stored in a text file. Use the "publish" form available via the menu "Tool => Progressive sky builder + Publish result Tab" to generate this file or adapt the example below. Once this is done, you can load this file in Aladin and the all-sky tab of the Aladin server selector will be updated to include your survey.
    You can distribute this file to your collaborators. You can also send it to CDS (cds-question at astro.unistra.fr) in order to publish it to the whole Aladin community.

       %ActionName      MySurvey.hpx
       %Description     This is my survey
       %Url             http://my.web.server/mysurvey
       %Aladin.Profile  >6.1
       %Aladin.XLabel   My survey
       %Aladin.Tree     Image/Test
       %Aladin.HpxParam 6 jpeg fits galactic
       %VerboseDescr    This survey has been produced....
       %Institute       ...
       %Acknowledgment  ...
       %Copyright       ...
       %Copyright.url   http://...
       %Doc.User        http://... 
    

    Note: The HpxParam is a list of keywords:
    - The first figure provides the maximal level according to this rule : NSIDE = 2^(level+9). In practice, have a look in the directory hierarchy and pickup the largest NN in the NorderNN directories.
    - jpeg, fits means that you distribute both the jpeg and fits tiles, and jpeg is the default. You also have png.
    - galactic|equatorial|ecliptic describe the refence system - the default is galactic.
    - If your survey consists of a single HEALPix fits map (instead of a directory hierarchy), then replace all the keywords by "map".

    Tips: If your survey is stored in simple HEALPix map, but the corresponding file is too large for an efficient remote access (files > 100MB), you can use the directory system build in your Aladin cache directory instead of the original single Healpix map file. To do so, you need to display at least once the HEALPix fits file in Aladin. Aladin will thus create a directory hierarchy in its cache ( $HOME/.aladin/cache/HPX/TheNameOfYourFile/TFIELD1). You can then just expose this directory behind your Web Server. Please note that before exposing it, you can generate the JPEG files by using the corresponding tab via the menu Tools => HEALPix tools => Build your all sky".

    5.19  Can I control the access to my survey ?

    Note: 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.20  What is this "HpxFinder" directory in my allsky survey directory ?

    When you generate an HEALPix all sky via the menu "Tools => HEALPix tools => Build your allsky", Aladin needs to generate a temporary index. This directory is not required to display the allsky survey and you do not need to expose it behind your web server if you want to publish your survey.

    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 an allsky survey 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 HEALPix tiles are in JPEG or PNG format);
    - and a full mode (the indivual HEALPix 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

    You can also activate the HEALPix cursor which displays the HEALPix pixel border containing the mouse pointer. Use the menu : Tools => HEALPix mouse control => ... and choose the required NSIDE. Note that the HEALPix rhomb borders are drawn from corner to corner, it is not the real HEALPix geometry.

    5.25   ** Can I display the whole HEALPix grid ?

    Yes you can, but it is designed for Aladin debugging.
    Type "grid hpx" in the location field. The ORDER is automatically adjusted according to your current view.

    If you zoom enough, the number of the HEALPix pixel is displayed following this syntax : ORDER/NESTED-number. The lower possible NSIDE is 8 (768 rhombs). Notice that the HEALPix grid lines are drawn from pixel corner to pixel corner, it is not the real HEALPix geometry.

    For switching off the HEALPix grid, type "grid off".

    5.26  It seems that the progressive mode requires more memory !

    This is true. You need 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 all sky !

    Unfortunately, you can not.
    Aladin uses a true color mode too slow for supporting contrast adjustement on the fly in this progressive mode. However, in grey levels you can, and also with the full original pixel dynamic (in FITS true pixel value display).

    5.28   ** Can I build a progressive catalog myself?

    Not with Aladin!
    In Aladin, some large catalogs can be displayed progressively, according to the current zoom factor of the user (for instance Simbad). The more you zoom in, the more you get sources. On the contrary to the HiPS image for which you get the possibility to build it yourself (menu Tool => Progressive sky builder (HiPS)"), you cannot do it yourself for catalogs with Aladin.

    The CDS team is working on a independent tool available soon.

    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   ** 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.4   ** Where can I find MOCs?

    The main MOC providers is CDS VizieR which provides a MOC for each catalog and table. These MOC are available in Aladin via the VizieR form (button "Coverage"). But MOC is an emerging IVOA standard and there are more and more providers which provide them. An exhaustive list of MOC providers is available here : http://wiki.ivoa.net/twiki/bin/view/IVOA/MocInfo

    Additionnally, the Progressive Surveys (HiPS) are generally published with their MOC. In Aladin, these MOC are available in the propertie frame of the HiPS plane thanks (button "Coverage").

    6.5   ** 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.6   ** 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.7   ** 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.8   ** 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 (>30 degrees). 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 disable the multi-resolution MOC drawing method via the propertie frame of the MOC plane.

    6.9   ** Is it possible to query data bases by MOC?

    Yes you can! At least for Simbad and VizieR tables.
    But it is still in developement, and to acces to this new functionality, you must restart Aladin in "proto" mode: java -jar aladin.jar -proto. The prototype form is available in the MOC tab in the server selector window (Menu Open).

    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:

    It is also possible to use it in Applet version in order to launch Aladin in a pre-configured state. See the question Can I launch Aladin Applet with predefined images or data for this purpose.

    Tip: You can also pass any script command into the rectangle indicating the current position.

    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                      lock|unlock [v1] [v2..]
           rm [x1] [x2..] | -all              match [-scale] [v|x|off]
           export [-fmt] x filename           mv|copy v1 v2
                                    	  rm [v1] [v2..] | -lock
        IMAGE:                                save [-fmt] [-lk] [WxH] [filename]
           cm [x1|v1...] [colorMap...]        coord|object
           RGB|RGBdiff [x1|v1...]
           blink|mosaic [x1] [x2...]          CATALOG:
           + | - | * | / ...                  filter ...
           norm [-cut] [x]                    addcol ...
           conv [x] ...                       xmatch x1 x2 [dist] ...
           kernel ...                         cplane [name]
           resamp x1 x2 ...                   search {expr|+|-}
           crop [x|v] [[X,Y] WxH]             tag|untag
           flipflop [x|v] [V|H]               select -tag
           contour [nn] [nosmooth] [zoom]
           grey|bitpix [-cut] [x] BITPIX
    
        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]                   show|hide [name]
    
        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 V8 new commands are: =, convert, grid hpx, draw stc...

    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.
    [PlaneName =] get ServerName(keyword,...) 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.

    Note: The previous server keyword "allsky" (v7.5) is deprecated but still supported in v8. It has been replaced by "hips" keyword

    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 SDSSDR7(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 SDSSDR7(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   ** 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.9  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: Since release 8, 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.10   * Can I launch a "macro" via a script command?

    Yes you can !
    Since release 7.5, 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.11   ** Can I create thumbnail images from a target list?

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

    7.11.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 the progressive survey, for instance Menu File => Progressive sky (HiPS) => Image => Optical => DSS => DSS colored;
    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.11.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 the progressive survey, for instance Menu File => Progressive sky (HiPS) => Image => Optical => DSS => DSS colored;
    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.12   ** 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.13  Can I launch Aladin applet with images or data coming from my own http server?

    Yes, you can.
    You have to use script commands passed in the Aladin URL as parameters. The commands has to be preceded by "script=" and has to be HTTP encoded. For example, to launch Aladin applet with your image, the script could be;
       myPlaneName = get File(http://my.host.site/myLocation)   
    
    So, the starting Aladin applet URL will be:
     http://aladin.u-strasbg.fr/java/nph-aladin.pl?script=myPlaneName%3Dget%20File%28http:%2F%2Fmy.host.site%2FmyLocation%29
    

    plane_name is the name used in the Aladin stack and origin is displayed with the properties associated to this plane. Do not omit to URLencode the command even YourUrl parameter. If the URL contains a comma, you can encode it by the HTTP syntax %2C

    In order to help you, we have prepared a form which will generate automatically the proper URL according to your server configuration. Try: http://aladin.u-strasbg.fr/java/nph-aladin.pl?frame=form

    7.14  Can I add my own data server description in Aladin forms even it has been started in Applet mode?

    Yes, you can.
    You can add your own data server description via a dedicated GLU record in order to offer to your users a form to your server (see corresponding FAQ item). But in Applet mode, you have to specify how Aladin will download this GLU record via an URL. For that, you will add to the Aladin applet URL the parameter "-glufile=urlOfYourGluDic" :
       http://your.host/cgi-bin/nph-aladin.pl?...someParameters...
                 &-glufile=http://your.host/Pages/Glu.dic
    

    Note: the url of your glufile has to be HTTP encoded.


    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  Aladin in Chinese language shows surprising square characters !

    Aladin is supporting multi-language, currently English, French, Italian, German, Russian, Persian and Chinese languages. You can select language via the "Edit -> User preferences" menu. However, for some languages using no-latin characters, your Java Virtual Machine must be an international version (with extended fonts) and you Operating System has to support extended language too. If you are not is this configuration, some widgets can appear with square characters.

    8.3  Pourquoi mon Aladin démarre en Français ?

    Aladin is supporting multi-language, currently English, French, Russian and Chinese languages. If you have not set a specifical language via the"Edit -> User preferences" menu, Aladin starts with the Operating System language. And if Aladin does not know it, it starts in English language.
    It means for french users - and only for french users - you have to modify manually your preferences if you want to run Aladin in English.

    8.4   * 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.5   * My user preference CSV setting has disappeared !

    This user setting is no longer required as Aladin (since release 7.5) can automatically recognize the separator character of a CSV file. If you encounter a problem with your CSV file, please contact us.

    8.6   ** My "zoom" button has disappeared !

    This zoom button is no longer required as Aladin (since release 8) provides now a zoom slider at the bottom of the stack. If this slider is not displayed, re-activate it via the Edit -> User preferences.

    8.7   ** My "back/forward" buttons have disappeared !

    This "back/forward" buttons are no longer required as Aladin (since release 8) provides a new tagging facility which memorizes the associated locations. By this way it is easy to come back to a particular location. So, try the "tag" button.

    8.8   * I cannot load my HEALpix map !

    Aladin 7 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.9   * 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.10   * I cannot adjust the contrast of the colored DSS survey !

    Unfortunately, you are right: for obscured performance reasons you cannot adjust the colormap of a progressive survey (HiPS). But you can crop the view to produce a classical colored image, and after that, you can fully adjust its colormap.

    8.11   ** My Simbad popup object information does no longer work!

    It is still working, but just not activated.
    Since the Aladin version 8, the automatic mouse tools ("Simbad pointer", "VizieR photometry pointer", and "Auto-distance measurer") are, by default, unactivated.

    You have to activate it via the menu "Tool". Note that your new configuration will be memorized for you next sessions.

    8.12  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.13  The links in measurement frame do nothing !

    You certainly use Aladin in Applet mode with a Popup/Banner filter activated. Unfortunately, this kind of system jams also the Aladin popup windows. Lots of firewall packages or antivirus packages provide the same kind of functionalities. Generally you can avoid this mechanism by pressing the CTRL key when you click on the links. If it does not work, you have to remove your popup filter mechanism or install Aladin as a standalone application.

    8.14   ** 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, before release 8.024 (find the full number version via the menu Help -> About), the MEF format (Multi-Extension-Fits file) was not supported. If it is your case, update your Aladin version, and try again.

    8.15  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/nph-aladin.pl?frame=get&id=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).

    Note: Plugin work only with a standalone installation, Applet mode and Web Start mode are not supporting plugins.

    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.

    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  Can I install Aladin applet on my own Web server?

    Yes you can.
    To install it, follow these steps:

    If you decide to install Aladin applet on your Web server, may you inform us for which purpose you need Aladin (and also to have your email address for the next release (cds-question at astro.unistra.fr)).

    9.7  Can I control Aladin applet by JavaScript?

    Yes you can.
    It is a very flexible method for avoiding to relaunch a new Aladin applet instance just for displaying other results.

    In fact, you can access to the applet via the JavaScript reference: document.aladin and Aladin is implemeting a method that you can use for submitting Aladin script commands: execAsyncCommand("...your script commands...").

    For instance, if you want to switch on the coordinate grid from JavaScript control, you have to implement a JavaScript function like this:
    function gridOn() { document.aladin.execAsyncCommand("grid on"); }

    Here a simple HTML+JavaScript example: (try it...)

          <HTML>
          <H1>Aladin applet control by JavaScript methods</H1>
          <FORM onSubmit="button();return false">
             Your target: <INPUT type="field" name="target">
             <INPUT type="submit" value="Go !">
          </FORM>
    
          <APPLET
             name="aladin" 
             archive="Aladin.jar"
             code="cds.aladin.Aladin" width="700" height="700">
             <PARAM name="script" value="reset;mview 4;grid on;help off">
          </APPLET>
          </HTML>
    
          <SCRIPT  type="text/javascript">
             function button() {
                var applet = document.aladin;
                var target = document.getElementsByName("target")[0].value;
                applet.execAsyncCommand("get Aladin,Simbad "+target);
             }
          </SCRIPT>
    

    Note: If your JavaScript control needs to know the Aladin stack status you can use the "status" script command. But in this case, as you need a result, use execCommand("status"). Contrary to the execAsyncCommand(), this one is returning a result that you can use/parse....

    9.8  How to create an Aladin clickable maps ?

    Aladin can easily produce clickable maps for Web servers. The goal is to have an alternative not requiring the full aladin applet.
    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.9  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. The setup procedure, as well as the different available functions, are also fully described on the page http://eurovotech.org/twiki/bin/view/VOTech/AladinIDL

    9.10  Can I launch Aladin from another JAVA application or applet?

    For JAVA developers, Aladin can be launched from another JAVA application, and even from your own JAVA applet. You have to use the Aladin.launch() static method with these following optional parameters: (String CmdLineParams,Applet yourJavaApplet).

    Application example:

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

    Applet example:

       public class MyApplet() extends Applet {
    
          public void startAladin() {
             Aladin.launch("-nobanner -trace",this);
          }      
       }
    

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

    9.11  What is the Aladin cds.tools.VOApp JAVA interface?

    For JAVA developers Aladin can be controlled (and control) another JAVA application such as VOPlot, TOPCat, VOSpec,... 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 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.12  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 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,d