Back

Observation 3


Autre experience: je calcule la mediane sur tous les pixels d' une image, entre IRIS, Matlab et un code personnel en C++ (methode de Wirth) : IRIS trouve une valeur pas choquante mais toujours differente des deux autres softs qui eux, convergent vers la meme valeur.



Vous pouvez répeter l'expérience avec cette image test : télécharger.
La taille de l'image est 736*482, j'ai retiré les bords qui étaient à 0 et qui semblaient poser un problème à IRIS. Cela permet de voir ce qu'il se passe quand on regarde une image avec 100% du signal utile.

Voici les valeurs obtenues pour la médiane de l'image:

IRIS v5.58 4886
Matlab 4878
fonction C 4878


IRIS v5.58

Je charge l'image dans IRIS et je tape "stat" dans la fenêtre de commande.

MATLAB

Sous Matlab, j'utilise les scripts suivants pour charger l'image FITS: télécharger. Ces scripts ont été récupérés sur Internet, apparemment développés par un certain R. Abraham, Cambridge University. Lors de l'execution il y a un warning car les champs BSCALE et BZERO sont absents dans les images IRIS, mais ce n'est pas grave: ces champs sont facultatifs d'après le standard FITS.

Je tape les commandes Matlab suivantes

>>close all; (ferme toutes les fenêtres ouvertes)
>>clear; (vide la mémoire)
>>x = fitsread('test.fit'); (charge l'image dans la variable x)
>>size(x) (permet de controller que la taille est bien à 736*482)
>>x2 = reshape(x,[736*482 1]); (réorganise l'image en un tableau 1D, nécessaire pour calculer la médiane)
>>median(x2) (et le résultat s'affiche)


fonction C

J'utilise la méthode de Wirth, discutée en détail sur le site suivant: http://ndevilla.free.fr/median/median/index.html
Pour charger une image FITS dans le code en C, j'utilise la librairie CFITSIO: http://heasarc.nasa.gov/docs/software/fitsio/fitsio.html

Toutes fonctionalités sont déjà implémentées dans mon soft perso dont voici une version en chantier: télécharger Pour retrouver la valeur du tableau, il faut
  1. lancer le soft
  2. ouvrir l'image par le menu principal (File / Open FITS)
  3. faire un clic droit et cliquer sur stat