Nouveautés des versions 5.33 et 5.34


Version 5.34 - 9 october 2006

Nouvelles fonctions de déconvolution

Iris V5.34 ajoute une fonction publique de convolution de deux images dans le domaine de Fourier. C'est un outil idéal pour tester les outils de restauration d'images. Le nom de cette nouvelle commande est  FCONV.

Considérer l'image suivant de la planète Saturne :

Ce sera notre image test. Même si ce n'est strictement exact est sera considérée comme une image parfaite de l'objet (elle est assimilée à une image ayant une résolution spatiale infini).

Avant de réaliser des opérations liées aux domaine de Fourier, une bonne idée est de modifier la taille des images à traiter de manières que leurs dimensions soient égale à une puissance de deux (128, 256, 512, 1024, ...). La commande WINDOW3 est pratique pour réaliser ce type de transformation géométrique. Sélectionner une aire dans l'image, au voisinage de l'objet à traiter (utiliser la pointeur de souris) :

Seul le centre de la sélection a ici de l'importance - pas la taille du rectangle. Lancer la commande WINDOW3 :

>WINDOW3  256

La taille de la nouvelle image en mémoire est de 256 x 256 pixels. Cliquer ici pour télécharger une copie de cette image. Sauvegarder le résultat de la transformation, en faisant par exemple

>SAVE   PLANET

Créer une image vierge de la même taille. Il y a plusieurs méthodes pour cela, par exemples

>FILL  0

ou

>NEW  256  256

Produire maintenant la fonction de flou de l'image. C'est elle qui va nous permettre de dégrader l'image test de départ, pour ensuite de la déconvoluer. Nous simulons ici une image d'Airy, telle que l'on peut la voir avec un fort grossissement au foyer d'un télescope (avec une turbulence atmosphérique quasi nulle). On simule la tache de diffraction d'un télescope de 200 mm ayant une obstruction centrale de 0,33. L'intensité au pic de la tache de diffraction va être fixée à 5000 unités de compte. On suppose encore que l'échelle donnée par l'optique et le détecteur est de 0,1 seconde d'arc par pixel et que la longueur d'onde de travail est 0,55 micron (partie verte du spectre). Lancer la commande DRAW_AIRY avec des paramètres :

>DRAW_AIRY  256  256  5000  200  0.33  0.55  .1


Une vue à haute contraste de la tache de diffraction de notre télescope virtuel.

Sauvegarder l'image du disque de Airy. Par exemple :

>SAVE  AIRY

A présente il est possible de convoluer l'image "parfaite" de Saturne par la tache de diffraction :

>FCONV  PLANET  AIRY


L'image perturbée de Saturne, telle qu'elle est observée en raison de la diffraction de l'ouverture du télescope.

Garder une copie de l'image observée de la planète Saturne :

>SAVE  BLUR

La commande FCONV réalise l'opération

où  g(x) est le résultat de FCONV command (l'image télescopique de Saturne), p(x) caractérise la réponse fréquencielle du système d'imagerie - c'est la  Point Spead Function (PSF), ou fonction d'étalement d'un objet uniforme (ici le disque d'Airy), et f(x) est l'image de départ. Le symbole indique une opération de convolution.

Noter que la commande >FCONV AIRY PLANET est  théoriquement identique à >FCONV  PLANET AIRY, mais pour des raisons internes de normalisation, la seconde version est préférée.

La syntaxe de  FCONV est

FCONV [IMAGE] [PSF]

La commande bien connue RL (algorithme de Richardson-Lucy) peu être utilisée pour retrouver l'allure de l'image initiale. Cependant, pour que l'opération soit faisable, le champ image observée doit contenir l'image d'un objet ponctuel, perturbée par la réponse percutionnelle du système (une étoile par exemple). Ici, nous allons synthétiser une étoile artificielle dans le champ :

>LOAD  AIRY
>TRANS  85  85
>ADD  BLUR
>SAVE  BLUR

Voici la résultat (noter la présence de l'étoile synthétique dans le coin supérieur droit) :


Click here for download the blurred image.

Avant de lancer la commande RL command, sélectionner la PSF avec la souris

puis, par exemple, pour réaliser 50 itérations avec un facteur de relaxation de 0.5

>RL  50  0.5

La version  5.34 de Iris ajoute le filtrage inverse de Wiener. La forme de ce filtre est

où  P est la transformée de Fourier de la PSF, P* est son conjugué et k est une constante. La constante k fixe le degré de filtrage des fréquences basses dans le résultat (et l'importance du bruit).

La syntaxe de la commande de filtrage inverse de Wiener est  

WIENER [K-PARAMETER]

Le seul paramètre est la valeur de la constante k. Si k=0, on réalise un filtrage inverse pur, mais en général impraticable à cause de la remontrée du bruit. Typiquement, k est une valeur comprise entre 1 et 0.0001. Il faut faire plusieurs essais pour trouver la valeur optimale.

Charger l'image à restaurer

>LOAD  BLUR

puis, sélectionner la PSF

et enfin, lancer par exemple

>WIENER  0.001

Voici le résultat du filtrage dans cet exemple :

La présence de bruit dans l'image impacte fortement le résultat. Pour tester cette dépendance, il est facile d'ajouter dans l'image de test un bruit artificiel avant deconvolution. Par exemple

>LOAD   BLUR
>ADDNOISE   10  2

La valeur RMS du bruit blanc ajouté est de 10 count. On considère une valeur du gain électronique de la caméra de 2 électrons (le fait que ce deuxième paramètre de ADDNOISE ne soit pas nul signifie que l'on ajoute aussi du bruit de photon dans le l'image - un bruit proportionnel à la racine carré du signal).

Sauvegarder l'image bruitée (qui est plus réaliste de ce que l'on observe en pratique) :

>SAVE  BLUR2


Visualisation à haut contraste de l'image floue et bruitée.

L'importance du choix du paramètre "k" est bien visible sur les images suivantes :


k=0.1


k=0.01


k=0.001

Pour  k=0.1 la déconvolution est incomplète, pour k=0.001 le bruit est fortement amplifié.

Iris implémente aussi une version incrémentale du filtrage de Wiener pour un meilleur contrôle de la résolution et du bruit. C'est la commande WIENER2. La syntaxe est

WIENER2 [ITERATION] [PARAMETRE K]

Le paramètre ITERATION indique le nombre d'itérations du processus. La paramètre k du filtre de Wiener standard est aussi demandé.

Recharger l'image floue, sélectionner l'étoile, puis

>WIENER2  50  1


Le résultat du filtre de Wiener incrémental sur une image bruitée.

Il est facile de simuler un flou de bougé. En premier il faut créeer un "vecteur" de mouvement :

>NEW 256 256
>PUT 122 128 5000
>PUT 123 128 5000
>PUT 124 128 5000
...
...
>PUT 135 128 5000
>PUT 136 128 5000
>SAVE MOTION


La PSF de mouvement, c'est à un segment simple uniforme. La longueur du segment est égale à l'amplitude du bougé.

Maintenant nous pouvons voir l'effet du bougé sur l'image de la planète Saturne

>FCONV  PLANET  MOTION
>SAVE  BLUR3

et ajouter la PSF à l'image bougée

>LOAD  MOTION
>TRANS  85  85
>ADD  BLUR3
>SAVE  BLUR3


Un bougé vertical de l'image de plus de 10 pixels et la PSF correspondante ajoutée (cliquer ici pour charger cette image).

Le filtrage de Wiener inverse est appliqué à l'image bougée :


Selection de la PSF
 


L'image restaurée avec
>WIENER  .002


L'image restaurée avec
>WIENER2  50  .05 

Rappel, il faut trouver la valeur de k par essais successifs.

Note : les fonctions de restauration telles que  RL, RL2, MEM, VANCITTERT, WIENER, ... sont à présent compatibles avec les images 48 bits (images en vraies couleurs).

Iris V5.34 implémente un (très) experimental algorithme de convolution dite "aveugle" (blind deconvolution en anglais). La déconvolution en aveugle consiste à retrouver le contenu d'une image au départ dégradée sans disposer de la PSF instrumentale. Iris utilise un schéma itératif basé sur le filtrage de Wiener, en incluant des contraintes de non négativité, de support et de relaxation du bruit. L'opération est complexe et consomme de la puissance de calcul. Ce type de déconvolution est assez instable, ne garantie la convergence vers la meilleure solution pour l'image et/ou la PSF. La sélection du modèle initial de PSF est par ailleurs crucial. Il faut reserver les tests sur des images de petite tailles (256x256 ou 512x512 pixels). Malgré toute cela, la déconvolution aveugle est un domaine fascinant !

Ajouter à l'image bougée de Saturne une étoile artificielle sous la forme d'un simple point (un Dirac). Ce sera notre point de départ pour le modèle de la PSF (une fonction fort éloigné de la solution que l'on cherche). Faire

>LOAD  BLUR3
>PUT
 30  230  8000
>SAVE  BLUR4

La commande réalisant la déconvolution aveugle est  BLIND, de syntaxe

BLIND [ITERATION #] [K-PARAMETER] [RELAXATION]

Le paramètre [RELAXATION] limite l'importance du bruit dans le résultat final. Les valeurs typiques sont comprises entre 0 et 2. Dans la majorité des situations il faut faire RELAXATION=0. La PSF trouvée est sauvegardée dans le fichier image ayant le nom @PSF.

Sélectionner la PSF ponctuelle, puis

>BLIND  200  .2   0


L'image bougée. La solution à priori pour la PSF est sélectionnée.


 L'image déconvoluée (200 itérations).


L'image de la PSF retrouvée
>LOAD @PSF

Voir aussi ici plus d'informations à propos de la déconvolution sous Iris. Voir encore les commandes FFTD, FFTI, FCORREL, et la méthode pour retirer les bruits périodiques  ici.

NOUVELLES COMMANDES

FILL_INV [VALEUR]
Donne l'intensité [valeur] aux pixels situés en dehors d'un rectangle de sélection.

WORK [CHEMIN]
Définition du répertoire de travail depuis la console. Par exemple

>WORK   C:\MYIMAGES\SESSION21


Version 5.33 -  17 septembre 2006

Amélioration de l'acquisition avec les appareils photographiques numériques

Ces fonctions concernent les appareils de la gamme Canon EOS.

La capacité de déclencher l'appareil depuis la liaison USB standard a été ajouté pour des temps de pose inférieurs à 30 secondes. Vous pouvez donc piloter votre EOS dès à présent sans employer une interface spécifique. Vous disposez en particulier d'un intervalomètre puissant. Cependant, pour réaliser des poses supérieure à 30 secondes avec Iris, l'interface USB QuickRemote demeure nécessaire.

Pour déclencher une pose de 1/100 de seconde par exemple, passer en mode M (mode Manuel depuis la molette de l'appareil photo), puis entrer le temps de pose dans la boite de dialogue d'acquisition (accessible depuis le menu Photo numérique), puis cliquer sur GO, c'est tout :

Pour utiliser l'interface QuickRemote, vous devez cocher dorénavant le bouton requis dans la boite de dialogue.

En outre, une option de relevage du miroir reflex apparaît dans cette version de Iris. Un délai de 3 secondes est ménagé entre la levée du miroir et le déclenchement proprement dit. Cette option n'est disponible qu'avec l'interface QuickRemote. Vous devez en outre sélectionner l'option de "verrouillage du miroir" dans le menu des fonctions personnalisées de votre boîtier.

Toutes les autres possibilités de l'acquisition à partir d'un boîtier reflex sont gardée à l'identique. Voir ici pour plus de détails.

Ajout d'une fonction d'ajustement du contraste

Activer la boite de dialogue Ajustement du contraste... à partir du menu Visualisation.

Vous pouvez ajuster la tonalité de la luminance de l'image en mémoire, agir sur le contraste des 3 couches de couleurs simultanément (option RGB) ou sur les couches de couleurs individuellement. L'option Luminance est d'un usage le plus général. Elle à l'intéret d'ajuster le contraste avec un effet neutre sur la balance de couleur.


L'image à corriger. On note le fort contre-jour.

En déplaçant le curseur central (C1) et le curseur inférieur (C3) vous pouvez définir une table de transcodage éclaircie les parties faiblement lumineuses (le graphe montre la relation entre l'intensité d'entrée - l'axe horizontal - et l'intensité de sortie - l'axe vertical)::

Voici l'effet d'une courbe en 'S' (réduction du contraste des tons intermédiaires) ::

Une courbe en 'S inversée' permet au contraire d'accroître le contraste :

La position des seuils de visualisation à une influence dans le résultat. Cet aussi un moyen de réglage de la commande. En effet, la modification de la tonalité n'est effective que pour les niveaux de l'image compris entre le seuil haut et le seuil bas. Par exemple, en écartant les seuils, l'image devient sombre :

A partir de ce choix des seuils de visualisation, vous pouvez obtenir de nouveaux effets (ici un abaissement de la saturation colorée) :

Avant de lancer la commande d'ajustement du contraste, vous pouvez sélectionner une zone de l'image qui gardera la même tonalité coloré quelque soit les modifications apportées au reste de l'image. Faire une sélection à la souris :

Puis modifiez la balance colorées en utilisant les options R, G et B. La fait de cocher la case Utiliser un point de référence fait que la zone en question ne voit pas sa balance de couleur significativement modifiée. Par exemple :

Noter que malgré l'effet donné au ciel, la couleur de la coupole ne change pas d'aspect.

Amélioration de la commande d'ajustement gamma

L'action sur le gamma est un moyen simple et efficace de visualiser l'ensemble des parties d'une image présentant un fort contraste. Ouvrir pour cela la boite de dialogue Ajustement du gamma du menu Visualisation :

Voici par exemple l'image dont on souhaite modifier la tonalité (voir aussi ici) :

Le résultat en utilisant l'outil d'ajustement du contraste :

Le résultat en utilisant l'outil d'ajustement du gamma :

La saturation des couleurs est moins prononcée dans ce dernier cas. Ce peut être un effet voulu, mais vous pouvez aussi retoucher cette saturation avec l'outil Ajustement de la saturation du menu Visualisation. Noter un point important lors de l'usage de la fonction gamma : celle-ci agit sur les niveaux d'intensité définis par la position courante des seuils de visualisation. En outre, pour un résultat optimal, ne pas hésiter à écarter les deux seuils avant d'ajuster le gamma. Par exemple ici, faire au préalable :

Vous pouvez aussi utiliser plusieurs fois consécutivement la commande d'ajustement du contraste pour en accroître plus encore l'effet.

Affichage d'un réticule dans la fenêtre vidéo

Il est possible de faire apparaître dynamiquement un réticule dans la fenêtre de prévisualisation vidéo (menu Vidéo, commande Prévisualisation).

Alors que l'affichage de la vidéo est active, depuis la console de commande, taper

>R_START

Pour positionner le centre de la croix, faire un double click avec le bouton gauche de la souris où bon vous semble dans l'image.

Vous pouvez changer la taille du réticule avec la commande R_SIZE. Par exemple :

>R_SIZE 100

Vous pouvez encore modifier la couleur en fournissant les valeurs R, V et B dans cet ordre à la commande R_COLOR. Par exemple, pour afficher le réticule dans la couleur rouge, faire :

>R_COLOR  255  0  0

Pour ne plus afficher le réticule, faire

>R_STOP

Autres

Un bug a été corrigé dans le boite de prétraitement automatique des images APN (menu Photo numérique), qui concerné certaines images RAW issues des boîtiers photo Nikon.

Iris peut lire les images RAW du Canon EOS 400D (sélectionner les modèles 5D/20D, ... dans la boite de dialogue de réglage des paramètres caméras).

Ajout de la commande SCAN2PIC3, constituant une image à partir de la valeur des mêmes colonnes prises dans une séquence d'images d'entrée (voir par exemple les applications de spectrohéliographie avec le spectrographe Lhires 3). Le nombre de colonne est programmable.