IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tracer une courbe de densité de Kernel (Gauss/'best fit' line) sur un histogramme [Python]


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2022
    Messages : 2
    Par défaut Tracer une courbe de densité de Kernel (Gauss/'best fit' line) sur un histogramme [Python]
    Bonjour,

    je travaille actuellement sur la caractérisation d'une camera CMOS et pour cela je suis amené a prendre des images (dark ou illuminées selon ce que je cherche a calculer) pour essayer d'en tirer un maximum d'informations pour les comparer avec celles données en datasheet (gain, dynamique, dark current... bref).

    Je me suis fait un "petit" code qui me permet de faire pas mal de choses (routines : moyenne/soustraction de deux images 16-bit), surtout plus rapidement que si je devais passer par un logiciel de traitement scientifique d'images comme ImageJ qui certes fonctionne bien avec les bonnes macros/plugins etc. mais Python est plus dans l'air du temps et me permet de faire bien plus avec beaucoup plus de libertés au niveau personnalisation de graphiques ou même tout simplement dans la visualisation de mes frames.

    Bon assez discuté. En bref j'ai une fonction "def histRoutine" qui me permet de tracer les histogrammes de mes images selon le temps d'exposition (de 1 a 10 secondes donc 10 images) et j'ai ajouté une ligne verticale qui indique ou se situe la valeur moyenne avec "plt.axvline".

    J'aimerais maintenant ajouter une courbe de densité de Kernel (Courbe de Gauss) sur mon histogramme (le nombre de bins peut être modifiée bien entendu) mais j'ai essayé de plusieurs manières (Matplotlib, pandas et autres) et je n'obtiens pas le résultat escompté.

    Il faudrait apparemment utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    y = ((1/(np.sqrt(2*np.pi)*x))*np.exp(-0.5*(1/y*(bin_list - x))**2))
    plt.plot(bin_list, y, '--', color ='black')
    J'espère avoir été clair, et vous remercie par avance pour votre aide . Si vous avez des questions n’hésitez surtout pas. (images et code .py en pièce jointe -> chemin de fichier absolu a modifier avant de compiler)

    Le fichier .zip contenant les images au format .tiff 16-bit semble trop lourd (30 mb). Je peux vous le transmettre par email ou autres, si vous avez des idées.




    Voici quelques liens qui pourraient peut-être aider :
    - https://www.geeksforgeeks.org/matplo...ist-in-python/
    - https://matplotlib.org/stable/galler...e-histogram-py
    - https://www.tutorialspoint.com/drawi...-in-matplotlib
    - https://towardsdatascience.com/take-...b-5f093ad7b9d3
    - https://matplotlib.org/stable/galler..._features.html
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2014, 23h08
  2. Tracer une courbe dans un formulaire ?
    Par jessy212 dans le forum Access
    Réponses: 5
    Dernier message: 04/09/2006, 16h46
  3. Tracer une courbe avec 2 tableau de points
    Par babarpapa dans le forum 2D
    Réponses: 3
    Dernier message: 19/04/2006, 15h24
  4. [Images] [Librairie] Tracer une courbe ???
    Par cedre22 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/02/2006, 14h53
  5. Tracer une courbe théorique sur un TChart
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/09/2005, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo