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

  1. #1
    Membre habitué
    [Débutante]Lire et afficher une image IRM sous C++ builder
    Salut à tous,


    Je voudrais parvenir à lire et afficher une image IRM (Constituée de plusieurs coupes), sous builder C++ pour arriver à effectuer plus tard des traitements sur cette dernière.

    Est ce que quelqu'un a une idée sur comment faire??


    Merci d'avance
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  2. #2
    Membre chevronné
    Je ne connais pas vraiment l'Imagerie par résonance magnétique, est-ce qu'il existe seulement un seul type de fichier pour les IRM?

    Sur le site de WikiPédia:
    http://fr.wikipedia.org/wiki/Imageri...agn%C3%A9tique
    Il pourrais y avoir des liens intéressants, voir les cours C++ https://cpp.developpez.com/cours/
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  3. #3
    Membre éprouvé
    Salut,
    sous quel forme disposes-tu de cette image?
    Est-ce des données tranférées ou une image complète existante?

  4. #4
    Membre habitué
    [Débutante]Lire et afficher une image IRM sous C++ builder
    Salut,
    il y'a différents formats pour les images médicales, pour ma part j'ai téléchargé une image IRM à partir d'un simulateur d'images cérébrales (Brainweb) de formats minc, et j'utilise un logiciel pour les transformer au format Analyse, Img ou HDR. Je peux aussi utiliser un logiciel pour enregistrer automatiquement à partir d'une image .IMG une série d'images de toutes les coupes et selon 3 axes (axiale, coronale et sagittale) au format bmp.
    Il y'a aussi le format Dicom.
    Je ne sais pas si je peux lire avec builder un fichier image constitué de toutes les coupes, ou si il faut passer par les différentes images .bmp et les lire une à une ???

    Qu'en pensez- vous?

    Merci à tous
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  5. #5
    Membre chevronné
    Citation Envoyé par larimoise
    Salut,
    ........
    ........
    Je ne sais pas si je peux lire avec builder un fichier image constitué de toutes les coupes, ou si il faut passer par les différentes images .bmp et les lire une à une ???

    Qu'en pensez- vous?

    c sûr qu'avec c++builder en peux lire n'importe quel fichier enregistré sur le disque, cependant reste à connaître le format de ce fichier.

    Dans mon domaine de recherche, on utilise les images IRM cérébrales issues d'un imageur IRM suivant des modalitées, DIFF, FLAIR, T2, ....
    Le format des images qu'on utilise c'est le format ANALYZE 7.5, on lis directement le volume contenu dans le fichier .img, pour le faire, on utilise les informations (ou caractéristiques) contenues dans le fichier d'entêtes le .hdr

    Après avoir lu le volume contenu dans le fichier .img, et à l'aide des transformations géométrique on arrive à reconstituer les autres coupes (sag, ou cor, ou axiale).

    voilà, si tu à besoin de l'aide sur le format des fichiers ANALYSE 7.5 (.img, .hdr) faite nous signe.

    de toute façon du peut ecrire un programme en c++builder (ou en c++) qui peut lire les fichiers analyse.

    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  6. #6
    Membre habitué
    Donc si j'ai bien compris, on peut lire le format .img et .hdr avec c++, et on aura besoin des deux pour reconstituer l'image.
    Si vous pouviez m'indiquer un petit exemple ça m'aiderait bien.

    Merci
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  7. #7
    Membre chevronné
    ben oui absolument;

    voici un lien que tu peu utiliser pour démarrer, il contient tout ce qu'il te faut.


    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  8. #8
    Membre habitué
    Ok je vais tester le script.

    Merci beaucoup^.
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  9. #9
    Expert éminent sénior
    Qu'importe que cela soit une image médicale ou pas , BCB lui ne connait que les jpeg et bmp.
    Donc c'est à toi de faire les transformations nécessaires tu peux adresser les pixels du Canvas ou bien ce que je recommenderais passer par les API Windows.
    Sinon LeadTools fait des composants tout fait la société pour laquelle tu travailles peut acheter une licence
    www.leadtools.com
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    ( A Einstein)

  10. #10
    Membre chevronné
    Oui effictivement, mais ici on parle d'un volume (coupe par coupe) cérébral, il suffit juste de lire le volume complet et afficher la coupe qui nous interesse selon une projection.

    si par exemple notre fichier contien un volume de :
    Z: nbre de coupe.
    H: Nbre de ligne par coupe.
    L: Nbre de colonne par coupe.
    donc notre volume est Vol(ZxHxL)

    A l'aide d'un composant TImage, et par ailleurs on peut convertir une matrice (exemple : Mat(HxL)) en une image de niveaux de gris. ça revient à afficher la coupe choisie par la valeur de Z.

    Voilà @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  11. #11
    Membre régulier
    salut,

    il suffit de créer un champ TImage,de glisser sur ta forme un PictureDialog, de mettre tes images au format BMP et d'utiliser le code suivant:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    OpenPictureDialog1->Filter = "Bmp file(*.bmp)|*.BMP";
    if (OpenPictureDialog1->Execute())
    {
    Image1->Picture->Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
    }


    A+

  12. #12
    Membre chevronné
    Citation Envoyé par bahiatoon
    salut,

    il suffit de créer un champ TImage,de glisser sur ta forme un PictureDialog, de mettre tes images au format BMP et d'utiliser le code suivant:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    OpenPictureDialog1->Filter = "Bmp file(*.bmp)|*.BMP";
    if (OpenPictureDialog1->Execute())
    {
    Image1->Picture->Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
    }

    A+
    Non ça ne marchera pas, car les images IRM (RMN en français) ne sont pas sous format .Bmp

    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  13. #13
    Membre régulier
    Salut,

    je sais que les IRM ne sont pas sous format BMP, en général on les trouve sous format Dicom, mais le c++ builder ne reconnait pas ce format donc pour les ouvrir on est obligé de changer le format de l'image.

    A+

  14. #14
    Membre chevronné
    Citation Envoyé par bahiatoon
    Salut,

    je sais que les IRM ne sont pas sous format BMP, en général on les trouve sous format Dicom, mais le c++ builder ne reconnait pas ce format donc pour les ouvrir on est obligé de changer le format de l'image.

    A+

    En fait, un fichier d'images IRM ne contient pas qu'une seule image, en imagerie médicale on parle de volume cérébral. càd, que dans le fichier on trouve toutes les coupes du crâne icompris le cerveau. Donc on ne n'a pas besoin de faire un changement de format de fichier il faut lire le fichier, choisir une coupe, et afficher le reste.


    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

###raw>template_hook.ano_emploi###