Tags:
create new tag
, view all tags
+ Développement de services d’accès intelligents en imagerie astronomique multidimensionnelle

Financement Icube-Miv, coll. Icube équipe MIV Ch. Collet (MIV)

Présentation

Ce stage a pour but de développer un service d'accès au image astronomique mutlidimensionnelle de type cube hyperspectral sous forme de serveur de cube. Ce programme s'integrera dans le service SIAP v2.

Le language de programmation utilisé est java.

Accès au service

Le service est disponible à l'adresse suivante http://obs-stage-s4:8080/cubeTools

Code source

Tout les sources du programme développé durant ce stage sont disponibles sur un dépot git se trouvant sur le poste "obs-stage-s4". Pour récupérer ces sources, il vous faut tout d'abord créer une clez rsa, envoyer la partie public à l'adresse e-mail suivante. Une fois votre clez ajouté au dépot, dans le terminal linux, entrer la commande suivante
 # git clone git@obs-stage-s4.u-strasbg.fr:cubeTools.git

Première ébauche

1. Objectif et fonctions implémenté

Dans une première version du programme, nous avons voulu créer un executable capable d'effectuer un certains nombre de fonctions.
  1. Extraction d'un plan
  2. Extraction d'un spectre
  3. Extraction d'un sous cube
  4. Extraction d'un sous cube en sous bande
  5. Extracton d'une coupe en biais de type position vitesse
  6. Moyenne sur des sous-bandes
  7. Moyenne sur un sous cube
  8. Moyenne sur un cylindre

2. Paramètre

Les coordonées entré en paramètre peuvent être de deux type:
  1. Coordonnée pixel
  2. Coordonnée WCS

3. Format de sortie

Deux types de sortie sont prévu pour ce programme. Le formats fits, utiliser pour les cubes et les spectres. et le format VOTable utilisé spécifiquement pour les spectres.

4. Exemple d'utilisation de l'executable

 # java -jar cubeTools.jar -h // Affiche la manuel d'utilisation
 # java -jar cubeTools.jar -i ../fits/cube/radio/ATCA.fits -o ../fits/sous_cube.fits -m csc -t pix [100,100,20;200,200,120] // Extrait un sous cube 

Accès a distance au service

1. Objectif

// Avoir un service permettant de manipuler des données avant le téléchargements. Les données issue des cube hyperspectraux étant très volumineuse. Il est interrssant de // pouvoir prétraiter les données avant le chargement. Ce service doit pouvoir etre utiliser de deux facons, d'une maniere synchrone, le serveur attends que le traitement soit terminé avant // de répondre au client, et d'une maniere asynchrone, le serveur lance la tache, renvoie le statut courant du traitement au client. Le

2. Implémentation du servlet

a) Servlet asynchrone (UWS)

// La première implémentation du servlet a été l'implémentation du service asynchrone. La librairie UWS a été choisie // develloper ce service. Elle renvoie des informations au format XML sur l'avancement d'une tache. // La communication entre le client se fait en deux temps: // 1. Le client emets une requete ( demande de traitement d'un cube, copie, moyenne sur des plans, regridding, ect ... ). Le serveur lui réponds via un document XML comprenant l'ID de la tache et sont statut courant. // 2. Le client emets une requete sur le traitement lancé via l'id communiqué par le serveur à l'étape 1. Le serveur lui réponds via un document XML, comprenant l'état de la tache et dans le cas ou la tache est finie, // le lien du cube résultant du traitement.

b) Servlet synchrone (Frontal)

// Cette implémentation se base sur le service asynchrone. // Les données sont directement renvoyé lors de la fin du traitement.

c) Les paramètres du service

// Liste des différents paramètre: // ... // ...

Binning adaptatif

1. Objectif

On cherche a avoir une méthode robuste pour identifier les sources dans un cube, afin de facilité l'analyse des données.

2. Centroidal Voronoi Tesselation

3. Weigthed Voronoi Tesselation

4. Comparaison entre les deux méthodes et test effectué

5.Utilisation du GPU pour la méthode de construction du diagramme de Voronoi

Bibliothèque de fonction utilisé

  1. apache.commons.cli Destiné uniquement à l'executable, cette bibliothèque permet de gérer simplement les paramètres du programme.
  2. cds.astro Gère la calibration astrometrique des cubes.
  3. server-api Destiné au classe coté servlet.
  4. uws3.0 Gère les taches du servlet de manière asynchrone.
  5. aparapi Permet d'utiliser le GPU, génère du code OPENCL

Bibliographie

  1. FITS: A Flexible Image Transport System D.C. Wells, E.W. Greisen et R.H. Harten
  2. The FITS image extension J.D. ponz, R.W. Thompson et J.R. Munoz
  3. Simple Image Access Protocol V.2.0 F. Bonnarel, D. Durand, A. Richards, J. Salgado et D. Tody
  4. Adaptive binning of X-ray data with weighted Voronoi tesselations S. Diehl et S. Statler
  5. Voronoi binning: Optimal adaptive tesselations of mutli-dimensional data M. Cappelari
  6. Adaptative spatial binning of integral-field spectroscopic data using Voronoi tessellations M. Cappellari and Yannick Copin
  7. Centroidal Voronoi Tesselations: Applications and Algorithms Quiang Du, Vance Faber, Max Gunzburger

Mémo

Zone mémoire de la jvm

Une fois lancé une zone mémoire est alloué à la JVM. La JVM ne pourra pas dépasser cette zone mémoire. ( lève l'exception "java.lang.OutOfMemoryError: Java heap space" )

-Xms permet de définir la taille mémoire alloué à la JVM. -Xmx permet de définir la taille maximal qui pourra être alloué à la JVM

Exemple:

 # java -Xms3500m -jar cubeTools.jar // Alouera 3500Mo à la JVM

Zone mémoire de la jvm pour tomcat7

Dans le fichier de config catalina.sh ( "/usr/share/tomcat7/bin" ) ajouter cette ligne au début.

 # export CATALINA_OPTS="-Xms512M -Xmx2048M

Topic revision: r11 - 2013-04-23 - KilianHETT
 
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