Tags:
create new tag
, view all tags
Le fichier de description contient des informations permettant d'afficher la position courante sur le ciel correspondant à la position du curseur de la souris.
Il s'agit des coordonnées (dans le repère de l'image ET sur le ciel) des 4 coins de l'image, eg:
<?xml version="1.0"?>
<query target="antennae" imtype="color">
<corners>
  <!-- C0 -->
  <corner>
    <skycoord>180.4992 -18.87437</skycoord>
    <imcoord>0 0</imcoord>
  </corner>
  <!-- C1 -->
  <corner>
    <skycoord>180.48445 -18.8978</skycoord>
    <imcoord>0 887</imcoord>
  </corner>
  <!-- C2 -->
  <corner>
    <skycoord>180.44174 -18.874</skycoord>
    <!-- cette valeur permet de recuperer les dimensions de l'image -->
    <imcoord>1710 887</imcoord>
  </corner>
  <!-- C3 -->
  <corner>
    <skycoord>180.45649 -18.85</skycoord>
    <imcoord>1710 0</imcoord>
  </corner>
</corners>
<link type="image">http://cdsweb.u-strasbg.fr/~boch/flex/antennae-color.png</link>
<link type="simbad">http://cdsweb.u-strasbg.fr/~boch/flex/simbad-antennae-color.xml</link>
</query>

Pour le calcul des coordonnées (alpha, delta) correspondant à la position du curseur, on se place dans le cadre d'une approximation linéaire qui devait être suffisante dans le contexte "simple visualiseur"

Dans le repère de l'image, l'axe des X croit positivement vers la droite, l'axe des Y croit positivement vers le bas.

Appelons C0, C1, C2, C3 les 4 coins de l'image. C0 correspond au coin supérieur gauche, C1 au coin inférieur gauche, C2 au coin inférieur droit et C3 au coin supérieur droit.
Appelons (alpha_i, delta_i) les coordonnées sur le ciel du coin Ci.
Appelons par ailleurs (xi, yi) les coordonnées dans le repère image du coin Ci. C0 est l'origine du repère image et a toujours pour coordonnées (0, 0). Les valeurs de x2 et y2 permettent de récupérer les dimensions de l'image. Pour simplifier, on notera W (width) = x2 et H (height) = y2

Pour tout point (x,y) de l'image, les coordonnées (alpha, delta) sur le ciel sont données par :

alpha = alpha_0 + (x/W)*(alpha_3-alpha_0) + (y/H)*(alpha_1-alpha_0)
delta = delta_0 + (x/W)*(delta_3-delta_0) + (y/H)*(delta_1-delta_0)

-- ThomasBoch - 06 Feb 2009

Topic revision: r1 - 2009-02-06 - ThomasBoch
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback