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

ImageJ Java Discussion :

Comptage de noyaux image biopsie


Sujet :

ImageJ Java

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut Comptage de noyaux image biopsie
    Bonjour à tous,

    J'aimerai compter les petits noyaux violets de cette image (image1) avec ImageJ

    - J'ai convertit mon image en niveaux de gris
    - J'ai fait un Threshold, cependant je n'arrive pas à isoler les noyaux, les cellules restent.

    Faut -il utiliser des filtres? améliorer le contraste? ... J'essaye plein de possibilités mais rien n'y fait.

    Merci à tous de m'aider.
    Images attachées Images attachées  

  2. #2
    Membre éprouvé
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Dans ton image les noyaux sont les taches violettes foncées ?
    Vers le centre de ton image, on voit des "amas" violet foncés, c'est aussi des noyaux ?

    Il me semble que j'avais vu des plugins pour faire ça:http://rsbweb.nih.gov/ij/plugins/
    Je te laisse chercher car je ne me souvient plus du nom.
    edit : Voir peut-être ce plugin : http://www.bioimage.ucsb.edu/downloa...-in-for-imagej


    Au vu de ton image, le canal rouge pourrait être informatif pour discriminer les cellules et les noyaux.

    Néanmoins, je ne pense pas que tu trouveras de méthodes efficaces clés en mains. Il te faudra surement développer un petit truc pour y arriver.

    Tu peux regarder dans les filtres de détection de contours, je pense par exemple à la différence de gaussienne, vu que ton image est bruitée. http://xphilipp.developpez.com/artic...?page=sommaire

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut
    Oui les noyaux sont les taches violettes foncées.
    Les amas au centre ne sont pas des noyaux.

    Effectivement, sur la composante rouge, on détecte d'avantage les noyaux.

    Les plugins marchent en général que pour les images types. Je n'est pas trouvé dans mon cas.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Il faudra peut-être développer un plugin pour ton cas.
    Sur la canal rouge de ton image, j'ai testé une différence de gaussienne. On obtient de "bon" résultat.

    Il faudra peut-être créer un filtre circulaire de la taille de tes noyaux pour exclure les "amas" qui ont la même signature colorimétrique.

    A voir. Tiens nous au jus de tes avancées, on pourra peut-être plus de renseigner sur certains points



    edit : Tu peux tester un k-means sur les couleurs et identifier la couleur des noyaux, puis refaire une segmentation à partir de cette couleur. Tu auras pas mal de résidus. Y a des plugins qui propose des outils de segmentation selon des formes qui pourront t'aider (ou alors avec Set Measurements d'imageJ, mais je ne lui fait pas trop confiance pour les objets de petites taille).


    Bonne chance !

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut
    Merci pour tes réponses.

    Voilà ce que j'ai testé, qu'est-ce que tu en penses?

    - RGB stack
    - plan rouge
    - Gaussian blur 2
    - Threshold
    - Watershed
    - Erosion
    Images attachées Images attachées  

  6. #6
    Membre éprouvé
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    C'est une solution parmi tant d'autres ^^

    Il faut voir si le résultat te convient c'est surtout ça. L'emploie du Watersher peut être une bonne solution pour séparer 2 noyaux collés. Mais il risque de séparer les "amas" et du coup tu ne pourras plus les distinguer des noyaux (du moins, plus aussi facilement). Donc à voir.


    Le plugin floatMorphology permet de choisir des éléments structurant et leur taille pour les opérateurs (erode, dilate..).
    http://rsbweb.nih.gov/ij/plugins/float-morphology.html
    Il peut t'être utile pour trouver (supprimer) des éléments. Par exemple les petits résidus..

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    +1 sur le fait de travailler dans le canal rouge.

    Je ferai tout d'abord un petit filtre alterné séquentiel, voire juste une ouverture / fermeture pour homogénéiser tes points et améliorer le contraste.

    Ensuite tu peux appliquer ce que tu as fait, mais je ne vois pas vraiment l'intérêt du watershed :s. En particulier, quelle version as tu utilisé ?

    PS : c'est purement un problème de traitement d'image, ImageJ n'est que le support. Le forum "Algorithme/Traitement d'images" aurait été beaucoup plus adapté.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #8
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut
    Je ne vois pas comment faire une ouverture/fermeture sur une image non binaire. Pouvez vous me donner la démarche??

    Merci

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    voici le cours de référence.
    C'est la même chose, sauf que l'on garde la valeur maximum dans le cas d'une dilatation et minimum pour une érosion.

    Pour la dilatation d'un pixel X avec un élément structurant B : X = max{X+B}, donc la plus grande valeur sur B centré en X.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Pour faire ça il faut que tu ailles dans Process > Binary > (open/close)(erdode/dilate)




    edit : je n'avais pas vu le post précédent.

  11. #11
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par onylink Voir le message
    Pour faire ça il faut que tu ailles dans Process > Binary > (open/close)(erdode/dilate)
    edit : je n'avais pas vu le post précédent.
    Et on est pas sur des images binaires :s
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

Discussions similaires

  1. Segmentation images médicales (Biopsies)
    Par gluknak dans le forum Traitement d'images
    Réponses: 14
    Dernier message: 26/01/2012, 11h23
  2. [Débutant] comptage des objets dans une image
    Par sagere dans le forum C#
    Réponses: 7
    Dernier message: 22/06/2011, 16h41
  3. Classement d'images dans des noyaux
    Par maraval dans le forum Images
    Réponses: 4
    Dernier message: 27/04/2010, 22h25
  4. Réponses: 3
    Dernier message: 06/10/2007, 14h50
  5. Comptage du nombre d'objets dans une image
    Par fire.stone dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/02/2006, 21h26

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