melix

Sol'Ex et décalage de pixels non entiers

Messages recommandés

Bonjour à tous,

 

Faute de pouvoir imager moi même, il pleut en Bretagne, je continue mes développements :) Lorsqu'on traite une vidéo Sol'Ex, on utilise généralement le "milieu" de la raie détectée (typiquement le milieu de la raie h-alpha), mails il est aussi possible de reconstruire une image en faisant un décalage de pixels par rapport à ce milieu. Voici un exemple de détection de raie sur la vidéo de test de traitement disponible sur le site de Christian :

 

image.png.3105f231870da13bf357e5180a036662.png

 

Ainsi par exemple en décalant de 10 ou 15 pixels, on se retrouve dans le "continuum". J'avais donc ajouté à JSol'Ex la possibilité de calculer ces images décalées, mais j'avais aussi, arbitrairement, limité cette possibilité à des nombres entiers (1 pixel, -2 pixels, etc...). Or, de part la précision que l'on peut obtenir lors de la reconstruction, inférieure au pixel, et l'interpolation lors de la reconstruction, il n'y avait pas de raison de limiter.

 

Voici par exemple la différence entre l'image centrée (décalage = 0) et celle décalée de 0.2 pixels :

 

 

Ceci est particulièrement intéressant si on souhaite faire une animation, qui part par exemple d'un décalage de -12 pixels à +12 pixels, pour aller "d'un continuum à un autre". En effet, on peut dès lors obtenir une animation très fluide. Voici un exemple:

 

 

Il suffit de 45 secondes sur ma machine pour générer cette animation, en tout automatique ! Voici le script que j'ai utilisé :

 

[params]
shift=12 
step=0.2

[tmp]
images=range(-shift;shift;step)
fixed=remove_bg(fix_banding(images;25;3))
cropped=autocrop2(fixed;1.1;32)
adjusted=clahe(cropped;1)

[outputs]
video=anim(adjusted;40)

 

On peut même tenter une version colorisée, même si je suis moins convaincu du résultat:

 

 

avec ce script:

 

[params]
shift=12
step=0.2

[tmp]
images=range(-shift;shift;step)
fixed=remove_bg(fix_banding(images;25;3))
cropped=autocrop2(fixed;1.1;32)
adjusted=clahe(cropped;1)
colorized=colorize(adjusted;"h-alpha")

[outputs]
video=anim(colorized;40)

Tout ceci est disponible dans JSol'Ex 1.5.2. A noter que vous devez être raisonnable sur l'incrément (0.2) et la taille de l'intervalle (-10;10) parce qu'il va y avoir un grand nombre d'images à générer et stocker en mémoire. J'ai optimisé l'utilisation mémoire dans cette version, mais la reconstitution des images à différents décalages de pixels demande de pouvoir stocker chaque image en mémoire. J'essaierai de faire d'autres optimisations dans une prochaine version, mais utiliser moins de RAM veut aussi dire utiliser plus de disque. SSDs indispensables !

 

image.png

  • J'aime 5

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant