Changeset 2808 in Sophya for trunk/SophyaLib/NTools/dynccd.cc


Ignore:
Timestamp:
Jun 14, 2005, 1:25:05 PM (20 years ago)
Author:
ansari
Message:

MAJ documentation - Reza 14/6/2005

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/dynccd.cc

    r2615 r2808  
    1111#include "dynccd.h"
    1212
    13 //++
    14 // Class        DynCCD
    15 // Lib          Images++
    16 // include      dynccd.h
    17 //
    18 //      Cette classe permet la specification des parametres
    19 //      definissant la dynamique du CCD, et doit etre utilise
    20 //      pour le calcul des images de bruit.
    21 //      - TypNoise = 1 :
    22 //      Bruit = Sqrt( (RONoise/Gain)**2 + ValPix/Gain )     
    23 //      - TypNoise = 2 :                                     
    24 //      Bruit = Sqrt( RefSFond**2 + (ValPix-RefFond)/Gain ) 
    25 //      - TypNoise = 0
    26 //      Bruit = 1  (Constant pour tous les pixels)
    27 //      - TypNoise = 3         
    28 //      Bruit = Sqrt(Abs(ValPix))
    29 //
    30 //      Les pixels hors dynamique sont marques (Bruit = 0)
    31 //      ( < MinADU ou > MaxADU) pour toutes valeurs de TypNoise.
    32 //      Gain est exprime en electron par ADU, RONoise en electron,
    33 //      Bruit, ValPix et RefFond en ADU.
    34 //--
     13/*!
     14  \class SOPHYA::DynCCD
     15  \ingroup NTools
     16 
     17  Cette classe permet la specification des parametres
     18  definissant la dynamique du CCD, et doit etre utilise
     19  pour le calcul des images de bruit.
    3520
    36 //++
    37 // Links        Parents
    38 // PPersist
    39 //--
    40 //++
    41 // Links        Autres
    42 // RzImage
    43 // Image<T>
    44 //--
    45 //++
    46 // Titre        Methodes
    47 //--
    48 //++
    49 // DynCCD(int_4TypNoise=0, r_8 MinADU=-9.e19, r_8 MaxADU=9.e19, r_8 Gain=1., r_8 RONoise=0., r_8 RefFond=0., r_8 RefSFond=0.);
    50 //      Creation d'un objet DynCCD ("typ" determine la methode de calcul du bruit)
    51 //      |Test verbatim
    52 //
    53 // void Set(int_4TypNoise=0, r_8 MinADU=-9.e19, r_8 MaxADU=9.e19, r_8 Gain=1., r_8 RONoise=0., r_8 RefFond=0., r_8 RefSFond=0.);
    54 //      Modification des parametres de la dynamique
    55 // void Print()
    56 // r_8 Noise(r_8 pixel) const
    57 //      Renvoie la valeur du bruit pour "pixel" en ADU.
    58 //--
     21  - TypNoise = 1
     22  Bruit = Sqrt( (RONoise/Gain)**2 + ValPix/Gain )     
     23  - TypNoise = 2 :                                     
     24  Bruit = Sqrt( RefSFond**2 + (ValPix-RefFond)/Gain ) 
     25  - TypNoise = 0
     26  Bruit = 1  (Constant pour tous les pixels)
     27  - TypNoise = 3         
     28  Bruit = Sqrt(Abs(ValPix))
     29 
     30  Les pixels hors dynamique sont marques (Bruit = 0)
     31  ( < MinADU ou > MaxADU) pour toutes valeurs de TypNoise.
     32  Gain est exprime en electron par ADU, RONoise en electron,
     33  Bruit, ValPix et RefFond en ADU.
     34
     35  \sa SOPHYA::Image
     36*/
     37
    5938
    6039/* ............................................................ */
     
    6342
    6443/* --Methode-- */
     44//!  Creation d'un objet DynCCD ("typ" determine la methode de calcul du bruit)
    6545DynCCD::DynCCD(int_4 typ, r_8 min, r_8 max, r_8 g,
    6646               r_8 ron, r_8 rf, r_8 rfs)
     
    7454
    7555/* --Methode-- */
     56//!     Modification des parametres de la dynamique
    7657void DynCCD::Set(int_4 typ, r_8 min, r_8 max, r_8 g,
    7758               r_8 ron, r_8 rf, r_8 rfs)
     
    9374}
    9475
     76//!     Renvoie la valeur du bruit pour "pixel" en ADU.
     77/*!
     78  Cette fonction calcule la valeur du bruit pour pixel
     79  - Si TypNoise = 1 :                                 
     80  Bruit = Sqrt( (RONoise/Gain)**2 + ValPix/Gain )     
     81  - Si TypNoise = 2 :                                 
     82  Bruit = Sqrt( RefSFond**2 + (ValPix-RefFond)/Gain )
     83  - Si TypNoise = 0                                       
     84  Bruit = 1  (Constant pour tous les pixels)         
     85  - Si TypNoise = 3                                       
     86  Bruit = Sqrt(Abs(PixelADU))                       
     87
     88  Les pixels hors dynamique sont marques (Bruit = 0)   
     89  ( < MinADU ou > MaxADU) pour tout valeur de TypNoise 
     90*/
    9591/* --Methode-- */
    9692r_8 DynCCD::Noise(r_8 pixel) const
    97 
    98 /* Cette fonction calcule la valeur du bruit pour pixel     */
    99 /*  Si TypNoise = 1 :                                       */
    100 /*     Bruit = Sqrt( (RONoise/Gain)**2 + ValPix/Gain )      */
    101 /*  Si TypNoise = 2 :                                       */
    102 /*     Bruit = Sqrt( RefSFond**2 + (ValPix-RefFond)/Gain )  */
    103 /*  Si TypNoise = 0                                         */
    104 /*     Bruit = 1  (Constant pour tous les pixels)           */
    105 /*  Si TypNoise = 3                                         */
    106 /*     Bruit = Sqrt(Abs(PixelADU))                          */
    107 /*  Les pixels hors dynamique sont marques (Bruit = 0)      */
    108 /*  ( < MinADU ou > MaxADU) pour tout valeur de TypNoise    */
    109 
    11093{
    11194r_8 h,s,ronsq;
     
    133116/* --------------------------------------------------------------  */
    134117
    135 //++
    136 // Module       Images de bruit
    137 // Lib          Images++
    138 // include      dynccd.h
    139 //
    140 //      Ces fonctions permettent le calcul d'image de bruit a partir d'une
    141 //      image (RzImage ou Image<T>) et d'un objet DynCCD
    142 //--
    143 //++
    144 // Links        Voir classes
    145 // DynCCD
    146 // RzImage
    147 // Image<T>
    148 //--
    149 //++
    150 // Titre        Les fonctions
    151 //--
    152 
    153 //++
    154 // Function     RzImage * NoiseImage(RzImage const *pim, DynCCD const * dynccd)
    155 //      Construit et renvoie l'image du bruit pour l'image "*pim" (RzImage)
    156 // Function     Image<T> * NoiseImage(Image<T> const * pim, DynCCD const * dynccd)
    157 //      Meme fonctionalite pour une image typee (ImageU2, ImageR4, ...)
    158 // Function     ImgAddNoise(Image<T>&, DynCCD const&)
    159 //      Calcule l'image du bruit et le rajoute a l'image originale
    160 //--
    161118
    162119/* Nouvelle-Fonction */
     120/*!
     121  Construit et renvoie l'image du bruit pour l'image "*pim"
     122 
     123  Creation et Calcul d'une image de bruit a partir de l'image
     124  pim et de dynccd. Voir la methode DynCCD::Noise() pour la
     125  description du calcul                                       
     126*/
    163127template <class T>
    164128Image<T> NoiseImage(Image<T> const & pim, DynCCD const & dynccd)
    165 
    166 /* Creation et Calcul d'une image de bruit a partir de l'image */
    167 /* pim et de dynccd. Voir la methode DynCCD::Noise() pour la   */
    168 /* description du calcul                                       */
    169129
    170130{
     
    190150
    191151/* Nouvelle-Fonction */
     152//!     Calcule l'image du bruit et le rajoute a l'image originale
    192153template <class T>
    193154void ImgAddNoise(Image<T>& img, DynCCD const& dyn)
     155
    194156{
    195157  int_4 nPix = img.XSize() * img.YSize();
Note: See TracChangeset for help on using the changeset viewer.