CPI-Z

Déconvolution aveugle avec AstroSurface ?

Messages recommandés

Il y a 17 heures, Astrowl a dit :

L'idéal serait de capturer la psf à chaque prise de vue utilisée dans l'empilement, puisque potentiellement la psf change d'une image capturée à l'autre, car elle dépend de la turbulence. Tu pourrais alors deconvoluer chaque image avant stack.

 

Il y a quelques années j'avais fait une déconvolution par PSF générée en interne et ce pour une série d'images planétaires.

Pour ensuite les additionner et traiter comme traditionnellement.

Le résultat était tout simplement affreux !

Alors qu'en comparaison la même PSF interne, elle apportait un petit plus si appliquée après empilement...

Je pense que ce mauvais résultat de la déconvolution sur des images individuelles assez bruitées (comme souvent), c'est contre productif. Et on explose en temps de calcul.

 

Lucien

Modifié par Lucien

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 28 minutes, Lucien a dit :

Alors qu'en comparaison la même PSF interne, elle apportait un petit plus si appliquée après empilement...

Je pense que ce mauvais résultat de la déconvolution sur des images individuelles assez bruitées (comme souvent), c'est contre productif. Et on explose en temps de calcul.

 

Théoriquement si tu peux générer la psf de chaque image, ca ne peut être que mieux, elle prendra en compte toutes les déformations par rapport a l'image ideale. Mais ca c'est la théorie, dans les faits c'est impossible, mieux vaut comme tu le dis appliquer une psf moyenne a l'image empilée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Un exemple concret pour les sceptiques

La brute d'empilement

6-100.tif

6-100.png.de36ed95785cd9278b308b09d5f94fd6.png

 

Test sur la couche verte :

6-100_c2.tif

6-100_c2.png.aaec3010922b09e3a10e306e02d280ae.png

 

Deconv sur masque construit à partir de l'image Sharpen

masque.tifmasque.png.639474deca1557e2241572ace37130ff.png

 

Capt-1.PNG.ff4526fa6b6dc8c9ba7b81370d710993.PNG

 

Capt-2.PNG.17345dc791725572bfb11d989da3be98.PNG

 

psf "nettoyée + crop"

psf_6-100_c2_crop.tif   psf_6-100_c2_crop.png.1dcf5d62c96f0108f0f3c60906264fb9.png

 

Résultat :

Capt-3.PNG.627d70f5483b835e088be7abb868d1de.PNG

 

Capt-4.PNG.7eeb8ba0be91dd782aec0f4228dca442.PNG

 

dec_6-100_c2_67.tif

dec_6-100_c2_67.png.bf1a4b3a94f334ae0aca463ba05b51cf.png

 

et la finale avec FitsWork  FFT courbe 2D + réduction du fond AstroSurface

dec_6-100_c2_67_FW+fond.tif

65884ed2831b8_dec_6-100_c2_67_FWfond.png.5868b37b966f17f4aa1146622675ad29.png

 

Vous pouvez directement produire votre finale avec vos outils à partir de la brute couche verte en tif 16bits

 

Ma version Sharpen avec AstroSurface

6-100_c2_SH.tif

6-100_c2_SH.png.718a384eaca10bd444445d634393985e.png

 

Mon analyse :

- la méthode de déconvolution à partir du masque fonctionne sur une brute d'empilement

Les inconvénients :

- toujours le bruit résiduel

- ne fonctionne pas sur une image unique brute de capture car trop bruitée, cela implique de passer par un empilement d'un nombre minimum d'images

- influencée par la construction du masque

- influencée par les choix du nettoyage de la psf

- apporte peu ou rien par rapport aux autres méthodes avec un excellent télescope si les conditions atmosphérique sont bonnes.

 

CPI-Z

 

Modifié par CPI-Z

Partager ce message


Lien à poster
Partager sur d’autres sites

Un second exemple avec la couche bleu qui est forcément plus mauvaise !

Et comme il y a une étoile dans le champ, utilisation de cette psf par crop

6-100_3.tif

6-100_3.png.98f73b61384f0b44c7e002bec14eeee0.png

 

Choix 1 du nettoyage du fond du crop psf

pe_6-100_3.tif    pe_6-100_3.png.2dd289665a074d74d58d274533f77d6e.png

 

bleu-1.PNG.ffb9b558b94b2a0932d004d7982325ae.PNG

 

bleu-2.PNG.e00631444e3b208203042b3e7ed6a365.PNG

 

Choix 2 de nettoyage du fond du crop psf

pe_6-100_3a.tif   pe_6-100_3a.png.ed1737489f8bbcf711fee23d98aea4a8.png

 

bleu2-1.PNG.f41245b2805d4e83b2bdba049e3609f4.PNG

 

bleu2-2.PNG.4936321cad96cb71b05ec86d297b6811.PNG

 

Résultat 1 après FitsWork  FFT courbe 2D + réduction du fond AstroSurface

 

dec_6-100_3_65_FW.tif

dec_6-100_3_65_FW.png.74dfbff705b2006bae7aaad0c5a0de30.png

 

Résultat 2 après FitsWork  FFT courbe 2D + réduction du fond AstroSurface

dec2_6-100_6.tif

dec2_6-100_6.png.c3947aa033d658a649d06862963265b9.png

 

Ma version "classique" :

6-100_3_SH.tif

6-100_3_SH.png.08e954005e547c98d233cb0e199c5614.png

 

Là au moins la déconvolution apporte un plus puisque au moins les 2 taches claires dans la zone du pôle inférieur ressortent :).

 

CPI-Z

 

 

Modifié par CPI-Z
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce que je ne comprends pas c'est pourquoi la "re"convolution du masque avec la psf trouvée (mais pas encore "nettoyée + crop") ne redonne pas du tout l'image de départ, ce qui devrait être le cas pour une vraie déconvolution.

Quelle est donc l'opération exacte effectuée par la "déconvolution Wiener" d'Astrosurface, quand les curseurs sont pareillement en bout de course  ?

alx.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 5 heures, alx a dit :

Ce que je ne comprends pas c'est pourquoi la "re"convolution du masque avec la psf trouvée (mais pas encore "nettoyée + crop") ne redonne pas du tout l'image de départ, ce qui devrait être le cas pour une vraie déconvolution.

Quelle est donc l'opération exacte effectuée par la "déconvolution Wiener" d'Astrosurface, quand les curseurs sont pareillement en bout de course  ?

alx.

OUI cela devrait fonctionner, ... si nous étions dans le cas de déconvolution / convolution "pures".

Mais dans le cas général, ce type d'algo "pures" ne fonctionnes pas du tout à cause du bruit. Les algos utiles ont toujours un paramètre de régularisation. Coté théorique des FFT je suis pas en mesure de te l'expliquer.

En résumer, selon le type d'algo cela fonctionne plus ou moins bien.

 

Une autre propriété de la déconvolution :

deconv(A) par (B) = (C) alors deconv(A) par (C) = (B)

Un autre algo, en images, qui comme tous a ses limites de calcul :

6588ad2f04eda_cran-1.PNG.145039386523debc2208ea9e3f688511.PNG

 

6588ad333d3ad_cran-2.PNG.f9ee5894eae5c012354b90ca7de5d9e4.PNG

 

6588ad37b3c16_cran-3.PNG.ca96a560e503b9b62457c256bb254cd5.PNG

 

6588ad3c295ee_cran-4.PNG.f499a91e1dc03bbcf29dac46bacc8a9f.PNG

 

Le masque est bien ici retrouvé, mais avec quelques artefacts et imprécisions.

Comme quoi l'algo utilisé a aussi son influence dans tout ce qui est "déconvolution", et ils ne sont pas tous égaux.

 

CPI-Z

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 11 heures, CPI-Z a dit :

OUI cela devrait fonctionner, ... si nous étions dans le cas de déconvolution / convolution "pures".

Mais dans le cas général, ce type d'algo "pures" ne fonctionnes pas du tout à cause du bruit. Les algos utiles ont toujours un paramètre de régularisation. Coté théorique des FFT je suis pas en mesure de te l'expliquer.

En résumer, selon le type d'algo cela fonctionne plus ou moins bien.

A ma connaissance, une "déconvolution Wiener" est plus simple que les autres types de déconvolutions qui nécessitent un processus itératif de régularisation pour assurer la convergence. Dans la déconvolution Wiener,  le filtre "déconvolueur" (filtre inverse du filtre de convolution) a une expression analytique explicite avec un seul paramètre qui est le SNR.

Ce serait intéressant de connaître la signification  (@Lucien ?) des paramètres "noise factor" et "lightness" dans l'outil de déconvolution Wiener d'Astrosurface.

 

Modifié par alx

Partager ce message


Lien à poster
Partager sur d’autres sites

En tous les cas avec ImageJ cela fonctionne, sauf que pour la convolution le format de l'image doit-être d'une puissance de 2 (ici choix 512x512)

 

La déconvolution:

conv(jup) / (masque) = psf          mais ici la psf est excentrée comme quoi la version déconvolution Wiener d'astrosurface est plus agréable de ce coté là.

Capt2.PNG.abd730aa8fcfc6c9738070a8a11ce21a.PNG

 

La convolution Inverse Filtering (pure) dans ImageJ

(psf) ** (masque) = conv(jup)          conv(jup) est retrouvée mais excentrée puisque la psf retrouvée par déconvolution était excentrée

Capt3.PNG.87574ad3e285e8cfafa9cbc9c1047e73.PNG

 

Capt4.PNG.a51d4642e17c94fd7274983be901c30b.PNG

 

Par contre dans astrosurface je n'ai pas trouvé un outil de convolution Wiener similaire à celui de la déconvolution Wiener.

Et l'outil de conv / deconv d'astrosurface ne fonctionne pas ici sur cet exemple ... peut-être le calcul se fait bien en 32 bits mais il n'y a pas de bouton "lightness" facteur de réduction de l'intensité pour que la plage des dynamiques de l'affichage  rentre dans du 16 bits, comme dans l'outil "Déconvolution Wiener" d'astrosurface.

Capt5.PNG.b3e8b29296ca9e6ba167811ff4cab0f5.PNG

 

CPI-Z

 

Modifié par CPI-Z

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 25/12/2023 à 10:34, alx a dit :

Dans la déconvolution Wiener,  le filtre "déconvolueur" (filtre inverse du filtre de convolution) a une expression analytique explicite avec un seul paramètre qui est le SNR.

Ce serait intéressant de connaître la signification  (@Lucien ?) des paramètres "noise factor" et "lightness" dans l'outil de déconvolution Wiener d'Astrosurface.

A mon avis SNR (Signal Noise Ratio) et "Noise factor", ça doit être la même chose. L'autre élément qui peut être défini c'est la PSF et sa taille.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

Lightness c'est un simple réglage de luminosité ou de Gain ce qui revient au même.

Pour le Noise Factor le mieux c'est de chercher dans wiki la formulation de la déconvolution Wiener.

 

On voit que en gros ça joue sur la force d'application de la déconvolution.

Lucien

 

Modifié par Lucien

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



  • Contenu similaire

    • Par ngc_7000
      Bonjour
      J'ai ce porte filtre d'occasion mais l'ancien propriétaire a fait une réparation un peu sauvage .
      Les aimants se sont manifestement décollé mais il les a recollé n'importe comment .
      Je souhaiterai respecter le standard du fabricant. Car si je la revend ou je rachète un tiroir , il risque de ne pas coller à cause des aimants mal orienté.
      Grace à cette apli et un smartphone  : https://www.supermagnete.fr/poledetector-app
      On peut connaitre l'orientation de l'aimant
       
      Pouvez vous me dire dans cette configuration , l'orientation des aimants . Attention Les aimants sont en "Bas" (plancher des vaches)
      J’espère que la V2 est similaire à la V1 , car j'ai une V1.
       
      Merci d'avance
       
      Bas à Gauche : Nord/Sud ?
      Bas à Droite : Nord/Sud ?
       

       
    • Par Goofy2
      Bonjour   
       
      Question aux utilisateurs du logiciel "Aladin desktop": https://aladin.cds.unistra.fr/AladinDesktop/
       
      Est-il possible dans le champ stellaire visualisé dans Aladin de montrer tous les objets présents dans le champ et issus de la base de données SIMBAD avec les labels nominatifs correspondants automatiquement affichés ?
      Sur la version Aladin Desktop que j'utilise, on peut faire cercler automatiquement les objets SIMBAD (ou d'une autre base de données) avec des courbes de niveau de luminosité, mais sans les labels nominatifs. Cependant on peut interroger chacun des objets cerclés pour en connaître le nom, puis écrire manuellement avec les outils de dessin proposés le nom de l'objet et une flèche de désignation. Ce serait mieux et plus simple que ce soit fait automatiquement à la demande. Est-ce possible ?
    • Par Goofy2
      Hello  
      Question à ceux qui utilisent Aladin desktop (ou Aladin Lite sur internet). Je sais que @polorider utilise Aladin (Lite je pense).
      Est-il possible dans le champ stellaire visualisé dans Aladin de montrer tous les objets présents dans le champ et issus de la base de données SIMBAD avec les labels nominatifs correspondants automatiquement affichés ?
      Sur la version Aladin Desktop que j'utilise, on peut faire cercler automatiquement les objets SIMBAD (ou d'une autre base de données) avec des courbes de niveau de luminosité, mais sans les labels nominatifs. On peut interroger chacun des objets cerclés pour en connaitre le nom, puis écrire manuellement avec les outils de dessin proposés le nom de l'objet et une flèche de désignation. Ce serait mieux et plus simple que ce soit fait automatiquement à la demande. Est-ce possible ?

      J'ai installé tout récemment Aladin Desktop sur mon ordinateur. Lors de ma capture du quasar, @polorider avait montré une capture depuis Aladin. Cela m'avait interpelé. J'ai testé Aladin Lite (internet), puis Aladin Desktop (sur mon PC). Je suis conquis par la version Desktop et je la garde comme outil d'investigation   
    • Par Adamckiewicz
      Puisqu’il paraît qu’on fait trop la promotion du matériel cher, voici un petit cheshire gratuit
      il pellicules photos ayant un peu déserté nos fonds de tiroirs, je vous propose celui ci avec une boîte d’efferalgan . Ca a juste le bon diamètre, faut couper à 1cm du haut et  Percer le fond à 1.5mm
       

       

       
      testé efficace à f5  
       
      il vous en coûtera une grippe ou un covid et 1e de franchise sur les médicaments  
    • Par Philippoïde
      Bonjour,
      Attention, si vos impressions 3D sont exposées au Soleil, particulièrement pour les coloris noir ou foncés, il y a risque de ramollissement et de déformation du matériau (PLA, PETG...). Imprimez en clair ou peignez en blanc les pièces susceptibles d'étre exposées
      Cela peut aussi se produire pour un objet imprimé qu'on laisse dans une voiture en plein Soleil .
      Glob
  • Évènements à venir