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

Traitement d'images Discussion :

Où télécharger des images IRM du crâne ?


Sujet :

Traitement d'images

  1. #1
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut Où télécharger des images IRM du crâne ?
    Bonsoir,

    Où puis-je télécharger les images IRM, ci-jointes, représentant le crâne d'un cerveau humain, afin de faire une segmentation ? Car celles-ci, je les ai récupérées d'un document pdf !
    Images attachées Images attachées  

  2. #2
    Membre habitué Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Points : 197
    Points
    197
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    C'est normal que ce soit toujours avec des mauvaises résolutions (ça tient à chaque fois sur un timbre poste) ? C'est les appareils qui ne peuvent pas faire mieux ?
    Je ne répondrai à aucune question technique en privé

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    Où puis-je télécharger les images IRM, ci-jointes, représentant le crâne d'un cerveau humain, afin de faire une segmentation ? Car celles-ci, je les ai récupérées d'un document pdf !
    http://www.med.harvard.edu/AANLIB/home.html

    Citation Envoyé par millie Voir le message
    C'est normal que ce soit toujours avec des mauvaises résolutions (ça tient à chaque fois sur un timbre poste) ? C'est les appareils qui ne peuvent pas faire mieux ?
    Le format DICOM n'est pas spécialement fait pour stocker des grandes images... Quand en plus on sait que les transmissions de données se font encore par ligne série, ca n'incite pas a stocker des images hautes résolutions.

    Brain image
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    disons que je suppose que c'est pour la publication..

    Sur les machines, les images sont au minimum de 512*512, et souvent de 2500*2500...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    -> Ces images-là, est-ce qu'elles sont prêtes à être utilisées (segmentées) ou bien elles nécessitent une phase de prétraitement (filtrage) ?

    -> Sous quel format d'image, faut prendre ces images ?

    -> Est-ce que je peux exploiter directement ces images en chargeant une dans une matrice d'entiers int image[MAX_HAUTEUR][MAX_LARGEUR] ou bien elles sont comprimées et comment charger une image ?

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Ce sont des images au format PNG:

    http://www.med.harvard.edu/AANLIB/cases/caseNA/gr/axl
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Ce sont des images au format PNG:
    Donc, ce sont des images en niveaux de gris compressées !

    Comment puis-je les exploiter : les transformer en .bmp ou bien... ? Car mon but est de stocker l'image dans une matrice d'entiers pour pouvoir la segmenter.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    euh..

    Deja suffit de la lire dans des bytes (des char en C), car en general sur 8 bits...

    D'autre part la libpng devrait contenir toutes les routines necessaires....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut [Débutant] Segmentation
    Me voici de retour...

    J'ai lu l'article segmentation en régions, et je voudrais appliquer la méthode croissance de régions pour segmenter les images en niveaux de gris disponibles ici : http://www.med.harvard.edu/AANLIB/cases/caseNA/gr/axl

    Est-ce que l'algorithme proposé est complet ? Et est-ce que cette méthode procure de bons résultats ?

    Aidez-moi s'il vous plaît !

  11. #11
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    Est-ce que l'algorithme proposé est complet ?
    L'algorithme proposé est très basique mais il est fonctionnel.

    Et est-ce que cette méthode procure de bons résultats ?
    Voila ce que donne l'algo proposé avec l'image 080.png

    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #12
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    L'algorithme proposé est très basique mais il est fonctionnel.
    En ce qui concerne l'étape de croissance de régions, il faut bien calculer le critère de similarité, dans notre cas c'est une image en niveaux de gris. Donc, est-ce qu'on va :

    1- Comparer la valeur du pixel choisi comme seed avec celle de son voisin (voisinage 8 bien entendu) et dans ce cas-là comment déterminer le seuil ou bien le fixer arbitrairement (en tous les cas, pour ces images-là) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si (différence(pixelSeed, pixelVoisin) < seuil) alors
      les deux pixels seront considérés similaires
    2- Ou bien, calculer la similarité entre la valeur de la région en cours de croissance avec celle du pixel voisin du pixel seed ?

    3- Ou bien, fixer le seuil à zéro si j'ai bien compris sur cette page (ligne 221) : https://jaistuff.dev.java.net/code/a...onGrowing.html ?

  13. #13
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    1- Comparer la valeur du pixel choisi comme seed avec celle de son voisin (voisinage 8 bien entendu) et dans ce cas-là comment déterminer le seuil ou bien le fixer arbitrairement (en tous les cas, pour ces images-là) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si (différence(pixelSeed, pixelVoisin) < seuil) alors
      les deux pixels seront considérés similaires
    2- Ou bien, calculer la similarité entre la valeur de la région en cours de croissance avec celle du pixel voisin du pixel seed ?
    Généralement on prend la méthode 2, c'est plus résistant au bruit.

    Pour le calcul du seuil, le plus efficace c'est de le fixer manuellement (bref faire des essais). Sinon on peut tenter de l'estimer a partir de l'image (trace de la matrice de covariance, caracteristiques d'Haralick, ...)

    3- Ou bien, fixer le seuil à zéro si j'ai bien compris sur cette page (ligne 221)
    ici le seuil est a zero car les images sont binaires (noir&blanc).
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #14
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Généralement on prend la méthode 2, c'est plus résistant au bruit.

    Pour le calcul du seuil, le plus efficace c'est de le fixer manuellement (bref faire des essais). Sinon on peut tenter de l'estimer a partir de l'image (trace de la matrice de covariance, caracteristiques d'Haralick, ...)
    Pour le critère de similarité entre la région courante et le pixel voisin, est-ce qu'il faudra maintenir la somme des couleurs des pixels de la région et au moment du test avec le pixel voisin il faudra diviser par leur nombre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sommeCouleur = pixel1 + pixel2 + ... Sans diviser par leur nombre !
    couleurRegion = sommeCouleur / nombrePixels;
    si (différence(couleurRegion, couleurPixelVoisin) < SEUIL) alors
    ...
    Est-ce correct ça ? Mais on ne risquera pas de dépasser la valeur maximale du type entier si on maintient pour chaque région la variable sommeCouleur ?
    Normalement, l'intérêt de sommeCouleur intervient dans le recalcul de la nouvelle couleur moyenne de la région !

    Tout mon problème est comment recalculer la couleur moyenne de la région après l'ajout d'un nouveau pixel ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    couleurMoyenneRegion = (sommeCouleur + couleurPixelAAjouter) / nombrePixels + 1;
    Ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    couleurMoyenneRegion = ((couleurMoyenneRegion * nombrePixels) + 
     
    couleurPixelAAjouter)) / nombrePixels + 1;
    Lequel de ces deux codes est correct ?
    Citation Envoyé par pseudocode Voir le message
    Voila ce que donne l'algo proposé avec l'image 080.png
    J'aimerais bien savoir comment avez-vous dessiné les contours des régions car logiquement dans la méthode de croissance de régions on n'aura pas les contours !

  15. #15
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    Lequel de ces deux codes est correct ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    structure region {
      int nombrePixels, couleurMoyenneRegion;
      double residu;
    }
     
    ajout d'un pixel:
     
    double total = (couleurMoyenneRegion * nombrePixels) + residu + couleurPixelAAjouter;
    nombrePixels= nombrePixels+1;
    couleurMoyenneRegion = (int)(total/nombrePixels);
    residu=total-couleurMoyenneRegion*nombrePixels;
    J'aimerais bien savoir comment avez-vous dessiné les contours des régions car logiquement dans la méthode de croissance de régions on aura pas les contours !
    j'ai juste dessiné en rouge les pixels à la frontiere de 2 régions.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  16. #16
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    structure region {
      int nombrePixels, couleurMoyenneRegion;
      double residu;
    }
     
    ajout d'un pixel:
     
    double total = (couleurMoyenneRegion * nombrePixels) + residu + couleurPixelAAjouter;
    nombrePixels= nombrePixels+1;
    couleurMoyenneRegion = (int)(total/nombrePixels);
    residu=total-couleurMoyenneRegion*nombrePixels;
    Donc, ni l'un ni l'autre ! Merci.
    Citation Envoyé par pseudocode Voir le message
    j'ai juste dessiné en rouge les pixels à la frontiere de 2 régions.
    Pourriez-vous me donner de plus amples explications !

    Car je devrai montrer l'exécution de mon programme en exhibant les différentes régions constituant l'image : est-ce qu'il est préférable de colorer chaque région extraite par une couleur ou bien faire comme vous en dessinant les frontières entre les régions voisines, dans ce cas je ne sais pas trop comment faire ?

    Dans les articles traitant de la segmentation, ils dessinent souvent les frontières au lieu de colorer chaque région à part (cf. pièce jointe) !
    Images attachées Images attachées  

  17. #17
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    Donc, ni l'un ni l'autre ! Merci.
    si, c'etait ta 2eme méthode. Celle que j'ai donnée est juste un poil plus precise car on garde le "résidu" de la partie entiere.

    Car je devrai montrer l'exécution de mon programme en exhibant les différentes régions constituant l'image : est-ce qu'il est préférable de colorer chaque région extraite par une couleur ou bien faire comme vous en dessinant les frontières entre les régions voisines, dans ce cas je ne sais pas trop comment faire ?
    C'est très complexe... Non, je plaisante !

    Une fois que tu as la carte des regions, tu parcours chaque pixel de la carte: si un des pixels voisin n'est pas dans la meme region que le pixel courant, alors le pixel courant est a la frontiere d'une region. Et donc, on colore en rouge ce pixel sur l'image d'origine.

    Dans les articles traitant de la segmentation, ils dessinent souvent les frontières au lieu de colorer chaque région à part (cf. pièce jointe) !
    Oui, c'est parceque le but de la segmentation c'est quand meme de séparer des regions de l'image d'origine, et pas de faire du coloriage.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  18. #18
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Comment puis-je savoir si mes images sont bien segmentées, car vous savez que l'étape de segmentation est cruciale pour la suite... Ci-joint les images segmentées 079.png et 080.png avec un seuil de 128 !

    Sur quelle base, je vais changer le seuil afin d'obtenir une segmentation convenable ?

    Avec la première image (079.png), j'obtiens 115 régions et avec la deuxième (080.png), 97 régions !
    Images attachées Images attachées   

  19. #19
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par paronyme Voir le message
    Sur quelle base, je vais changer le seuil afin d'obtenir une segmentation convenable ?
    La définition de "convenable" est très subjective.

    Un bon point de départ, c'est de faire une analyse statistique des régions trouvées (variance, entropie, ...). Bien sur, ca oblige de choisir des seuils d'acceptation pour ces informations statistiques, donc ca repousse le problème.

    Cela dit, il est plus simple de choisir un seuil statistique qu'un seuil de niveau de gradient.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  20. #20
    Inactif
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    La définition de "convenable" est très subjective.
    Désolé pour le mauvais choix du terme !

    Citation Envoyé par pseudocode Voir le message
    Un bon point de départ, c'est de faire une analyse statistique des régions trouvées (variance, entropie, ...). Bien sur, ca oblige de choisir des seuils d'acceptation pour ces informations statistiques, donc ca repousse le problème.

    Cela dit, il est plus simple de choisir un seuil statistique qu'un seuil de niveau de gradient.
    Je n'ai pas bien compris ce que tu voulais dire, car je ne vois pas comment intégrer dans mon algorithme un seuil statistique ?

    Au fait, après cette étape de segmentation, je vais calculer des attributs de morphologie et texture sur les régions : surface, compacité, niveau de gris moyen, variance, élongation, continuité et homogénéité. Ces attributs vont détecter la présence d'une tumeur et spécifier sa nature.

    Article [html]: interprétation des images médicales... (page 4 : 5. Résultats expérimentaux)

Discussions similaires

  1. Prétraitement des images IRM
    Par Rose mary dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 04/08/2011, 15h28
  2. Réponses: 5
    Dernier message: 23/06/2011, 14h37
  3. [Débutant] segmentation des images IRM cerebrales par coupes des graphes
    Par Rose mary dans le forum Images
    Réponses: 2
    Dernier message: 16/06/2011, 19h24
  4. segmentation des images IRM du cerveau
    Par myriamulrik dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 07/01/2011, 11h24
  5. Réponses: 2
    Dernier message: 10/07/2009, 21h25

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