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

MATLAB Discussion :

Comment faire fonctionner dicominfo avec différent encodage?


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut Comment faire fonctionner dicominfo avec différent encodage?
    Bonjour,

    Je cherche le moyen de faire fonctionner différent encodage d'un fichier dicom pour permettre de lire les métadonnées.
    J'ai fait le test avec la fonction matlab dicominfo. Elle me dit qu'elle a un problème d'encodage pour mon fichier dicom. J'arrive à afficher mon image avec la fonction dicomread.
    Je n'arrive pas avoir le problème sur le fichier encodage et dicominfo.

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Citation Envoyé par pianetdi Voir le message
    Elle me dit qu'elle a un problème d'encodage pour mon fichier dicom.
    Tu pourrais être plus précis ?
    MATLAB retourne-t-il un message d'erreur ?
    Sinon, que retourne DICOMINFO ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Le problème est le suivant sur différent version matlab même la version 2009
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >> info = dicominfo('J:\projet\brain_001.dcm')
    ??? Error using ==> C:\MATLAB6p1\toolbox\images\images\private\dicom_set_mmeta_encoding
    Could not determine file encoding.
     
    Error in ==> C:\MATLAB6p1\toolbox\images\images\dicominfo.m
    On line 145  ==>         file = dicom_set_mmeta_encoding(file, info{file.Current_Message});
    La fonction dicominfo permet de lire les métadonnées du fichier dicom comme exemple suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    info = dicominfo('CT-MONO2-16-ankle.dcm')
    info = 
                           Filename: [1x47 char]
                        FileModDate: '24-Dec-2000 19:54:47'
                           FileSize: 525436
                             Format: 'DICOM'
                      FormatVersion: 3
                              Width: 512
                             Height: 512
                           BitDepth: 16
                          ColorType: 'grayscale'
                              .
                              .
                              .

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Le fichier dicom est-il volumineux ?
    Peux-tu l'attacher à un de tes messages en le mettant dans une archive zip ou rar ?

    Ou bien, si tu l'a récupéré sur internet, donne nous l'url du site...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Voici deux fichiers : le premier le point dicom et le deuxième sont les métadatas que je souhaite récupérer dans matlab.
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    de mon côté, la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    info = dicominfo('00065DCM.dcm')
    ne renvoie pas d'erreur (sur un matlab r2007a)
    c'etait bien dicominfo qui générait cette erreur? ou alors j'ai rien compris?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Il y a d'autre image qui pose problème sur ce site http://pubimage.hcuge.ch:8080/ pour cette méthode dicominfo

    J'ai vérifier mes images, j'ai retrouvé celle qui pose problème:

    Le message d'erreur est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >> info = dicominfo('C:\Documents and Settings\HP_Propriétaire\Bureau\test\brain_001.dcm')
    ??? Error using ==> C:\MATLAB6p1\toolbox\images\images\private\dicom_set_mmeta_encoding
    Could not determine file encoding.
     
    Error in ==> C:\MATLAB6p1\toolbox\images\images\dicominfo.m
    On line 145  ==>         file = dicom_set_mmeta_encoding(file, info{file.Current_Message});
    Fichiers attachés Fichiers attachés

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Après de long recherche et analyse la fonction dicominfo fonctionne pour une version minimum de R2008b.
    En utilisant, cette version nous pouvons être comforme à la norme dicom3 (partie 6).

    Il est possible de travailler autrement dicom en utilisant le langage java avec le package open source dcm4che2 (site : dcm4che.com)

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Il faut bien comprendre que DICOM n'est pas un format d'image mais une norme définissant le transfert des données médicales entre divers appareils.

    Le rôle de chaque constructeur est de se conformer à cette norme... ce qui est globalement le cas... mais pas toujours

    Les codes de lecture/écriture sont donc souvent imparfaits dû (entre autre) à cette limitation.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. comment faire fonctionner ANTLR avec eclipse?
    Par Jallo dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 05/08/2008, 19h11
  2. Comment faire fonctionner une requête avec NOT EXISTS
    Par arnaudperfect dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/11/2007, 10h39
  3. [Chat] Comment faire fonctionner Flash 7 sous Debian ?
    Par piff62 dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 07/03/2005, 15h27
  4. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00
  5. [INDY] comment faire un 'POST' avec idHTTP??
    Par gamez dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/05/2004, 19h02

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