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