Revision as of 11:35, 13 April 2016 by Lock42 (talk | contribs)

Dynamic PSF

Dynamic PSF est un outil inspiré de la fonction PixInsight du même nom. Il est utilisé pour modéliser les étoiles non saturées dans une image. Pour l'instant, le modèle est restreint à une fonction Gaussienne 2D, ce qui est suffisant pour la plupart des cas.

<html5media width="750">http://free-astro.vinvin.tf/videos/DPSF_vf.webm</html5media>

Exemple de détection d'étoiles dans une image (zoomé à 50%, les étoiles sont entourées de près par des cercles oranges):

Modèle

  • Gaussienne 2D:

[math]\displaystyle{ G(x,y)=B+A e^{-\left( \frac{(x-x_0)^2}{2\sigma^2_x} + \frac{(y-y_0)^2}{2\sigma^2_y} \right)} }[/math]

  • Paramètres:
    • [math]\displaystyle{ B }[/math]: La moyenne du fond ce ciel local, dans la plage de valeurs [0, 1].
    • [math]\displaystyle{ A }[/math]: L'intensité maximale de l'étoile, dans la plage de valeurs [0, 1] : c'est la valeur du pic de la fonction modélisée, localisée sur les coordonnées du centroïde x0 et y0.
    • [math]\displaystyle{ x_0 }[/math] et [math]\displaystyle{ y_0 }[/math]: Les coordonnées du centroïde en pixels, qui est la position du centre de symétrie de la modélisation PSF.
    • [math]\displaystyle{ \text{FWHM}_X }[/math] et [math]\displaystyle{ \text{FWHM}_Y }[/math]: La largeur à mi-hauteur sur les axes X et Y en pixels. Ces paramètres sont calculés de la façon suivante :
      • [math]\displaystyle{ \text{FWHM}_X = 2\sigma_x\sqrt{2\log{2}} }[/math]
      • [math]\displaystyle{ \text{FWHM}_Y = 2\sigma_y\sqrt{2\log{2}} }[/math]
      • Il est possible d'obtenir les paramètres de FWHM en arc-secondes. Pour cela, il faut remplir les champs correspondant à la caméra et à l'optique dans la fenêtre des paramètres. Si les mots-clés standards des fichiers FITS suivants sont présents dans sa HDU, la PSF calculera l'échelle de l'image en arc-secondes par pixel : FOCALLEN, XPIXSZ, YPIXSZ, XBINNING and YBINNING.
    • [math]\displaystyle{ r }[/math]: Le paramètre de rotondité. Il est exprimé par [math]\displaystyle{ \text{FWHM}_Y/\text{FWHM}_X }[/math], avec la condition de symétrie [math]\displaystyle{ \text{FWHM}_X\gt \text{FWHM}_Y }[/math].
    • Angle: L'angle de rotation sur l'axe X par rapport aux coordonnées du centroïde dans la plage de valeurs [-90, 90]. L'angle [math]\displaystyle{ \theta }[/math] est calculé de la façon suivante :
      • [math]\displaystyle{ x' = +x cos \theta + y sin \theta }[/math]
      • [math]\displaystyle{ y' = -x sin \theta + y cos \theta }[/math]
    • RMSE: C'est une estimation de la qualité de la fonction de modélisation. Plus ce nombre est petit, meilleure est la fonction de modélisation.

Minimisation

La minimisation est effectuée en utilisant un algorithme de Levenberg-Marquardt algorithm non linéaire, grâce à la très robuste GNU Scientific Library[1]. Pour la première étape, l'algorithme est exécuté en excluant le paramètre de rotation, pour obtenir plus rapidement de bonnes valeurs de départ, et éviter une divergence. Si [math]\displaystyle{ \sigma_x-\sigma_y \gt 0.01 }[/math] (paramètres directement calculés dans la formule Gaussienne 2D, voir plus haut), alors une autre modélisation est lancée avec le calcul de l'angle. Par conséquent, la Dynamic PSF de Siril fournit des valeurs fidèles pour tous les paramètres modélisés.

Utilisation

La Dynamic PSF peut être appelée de deux façons différentes, en fonction du but recherché :

  • Pour modéliser seulement une étoile. Dans ce cas, après avoir dessiné un rectangle de sélection sur une étoile non-saturée (c'est important pour la précision du résultat), on peut soit taper "PSF" dans la ligne de commande, soit faire un clic droit dans l'image et lancer la "PSF". Dans les deux cas, vous pourrez copier le résultat et le coller où bon vous semble. Dans ce cas, la magnitude relative est calculée à partir de [math]\displaystyle{ -2.5\times \log I }[/math], où [math]\displaystyle{ I }[/math] est l'intensité totale de l'étoile modélisée.
  • Pour modéliser plusieurs étoiles et obtenir des moyennes. Dans ce cas, vous devez travailler avec la fenêtre spéciale pour le PSF, disponible dans le menu Analysis -> Dynamic PSF ou en sélectionnant une étoile non-saturée et en cliquant sur "Pick a star" pour l'ajouter à la liste.

The dynamic PSF window is shown and provides very valuable tools:

  • You can select and/or remove a star choosing it in a tree list.
  • You can export the result of the PSF in ASCII file.
  • You can run the star detection algorithm by clicking on the corresponding button.
  • You can average the PSF results and copy and paste the result.

Star detection

As said before, this dynamic PSF also contains an automatic tool of star detection. This algorithm is based on the publication of Mighell, J. J.[2] which is a simple peak detector algorithm identifying any pixel that is greater than any of its eight neighbours. In addition to this basic algorithm, a PSF is applied on every possible "detected stars" and Siril rejects all detected structures that don't fulfil a set of prescribed detection criteria. Finally, a circle is drawn around detected stars. Nevertheless, if a non-stellar object is selected, it is possible to select it and remove it from the list. You may notice that during the automatic star detection, no rotation angle are fitted due to speed consideration.

References

  1. http://www.csse.uwa.edu.au/programming/gsl-1.0/gsl-ref_35.html
  2. Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.