Création d'un DARK

La création d'un dark est identique à l'offset mais sur les images darks en pansant à retirer l'offset. Pour des raisons de performance, les images sont toutes chargées en mémoire. Le traitement se fait et le résultat est stocké dans un fichier dark.tiff.

for(count = 0; count < images[0]->bufferSize/2  ; count++)
    {
      m=0;
      off = offset.buffer[count*2]+256*offset.buffer[count*2+1];
      for (j=0;j<i;j++)
	{
	  v = images[j]->buffer[count*2]+256*images[j]->buffer[count*2+1];
	  v -= off;
	  if (v< 0)
	    v = 0;
	  m+=v;
	}
      m = m/i;
      dark.buffer[count*2+1]=m/256;
      dark.buffer[count*2]=m-dark.buffer[count*2+1]*256;
    }

Algorithme

L'algorithme est identique à l'offset.

On vérifie que la soustraction de l'offset ne donne pas un pixel négatif.

Création par médiane

La création d'un dark par médiane, ne consiste pas à faire la moyenne des darks bruts mais de prendre la valeur médiane de l'ensemble des valeurs d'un point de l'image.

Voir l'offset

Améliorations à réaliser

Voici des idées d'améliorations de ces algorithmes :

  • Vérifier les tailles des images et la durée d'exposition.
  • Prévoir une moyenne pondérée par les temps d'exposition
  • Vérifier la taille de la variable m pour éviter des débordements de capacité de variable.
  • Le tableau des images est statique et limité à 16. Prévoir une version dynamique de ce tableau.
  • Garder l'offset en mémoire en cas de réutilisation au sein du programme.
 
apa/theorie/dark.txt · Dernière modification: 2008/01/08 17:28 par davidl
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki