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

Visual C++ Discussion :

Comment utiliser DCMTK


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut Comment utiliser DCMTK
    Salut � tous
    Je commence la programmation en C++ sous Visual Studio d'un logiciel pour des radiologues.
    Je voudrais de l'aide concernant DCMTK car pour l'heure je n'ai trouv� que tr�s peu de doc (et en anglais)

    J'ai t�l�charg� la derni�re version en date (3.6), ainsi que les librairies conseill�es sur le site. J'ai suivit les instructions du fichier INSTALL et et compiler sans probl�me la solution DCMTK.

    Reste maintenant un gros probl�me. J'ai entre les mains une bo�te � outils formidable mais je ne sais pas l'utiliser. J'ai compris qu'il fallait int�grer chacun des includes des sous projets de la solution DCMTK dans les includes de mon projet sous Visual Studio...

    Sauf que maintenant j'aimerai commencer � programmer mon application et je ne sais toujours pas par o� commencer.
    J'aimerai faire un module pour v�rifier que la connexion avec le syst�me PACS est possible. Apr�s une petite recherche je suis arriv� sur ce topic qui ne m'aide pas beaucoup.

    Suite � cela j'aimerai fais un module pour importer et (pourquoi pas aussi) exporter les informations depuis et vers le PACS.... Mais bon... commen�ons par le d�but.

    Quelqu'un serait-il m'aider ??

    Merci

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Je viens juste de d�couvrir ce code

    Du coup je l'ai un peu modifier pour en faire cette fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    int Import::connection(QString qipAdress, QString qport, QString qaet){
      DcmSCU scu;
      OFString host(qipAdress.toAscii());
      scu.setPeerHostName(host);
      unsigned int port = atoi(qport.toAscii());
      scu.setPeerPort(port);
      OFString verificationSOP = UID_VerificationSOPClass;
      OFList<OFString> ts;
      ts.push_back(UID_LittleEndianExplicitTransferSyntax);
      ts.push_back(UID_BigEndianExplicitTransferSyntax);
      ts.push_back(UID_LittleEndianImplicitTransferSyntax);
      scu.addPresentationContext(verificationSOP, ts);
      OFString peerAET = qaet.toAscii();
      if (peerAET != "")
      {
        scu.setPeerAETitle(peerAET);
      }
      OFCondition result = scu.initNetwork();
      if (result.bad())
      {
        std::cerr << "Error setting up SCU: " << result.text() << "\n";
        return 2;
      }
     
      // Negotiate association
      result = scu.negotiateAssociation();
      if (result.bad())
      {
        std::cerr << "Error negotiating association: " << result.text() << "\n";
        return 2;
      }
     
      // Issue ECHO request and let scu find presentation context itself (0)
      result = scu.sendECHORequest(0);
      if (result.bad())
      {
        std::cerr << "Error issuing ECHO request or received rejecting response: " << result.text() << "\n";
        return 2;
      }
      std::cout << "Successfully sent DICOM Echo to host " << host << " on port " << port << "\n";
      return 0;
    }
    avec les importations suivantes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
    #include "dcmtk/dcmnet/scu.h"
    #include "Import.h"
    #include "dcmtk\dcmnet\assoc.h"
    #include "dcmtk\dcmnet\dimse.h"
     
    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    mais cela ne fonctionne pas :-(
    Un message d'erreur apparait et dit :
    • Erreur 1 error LNK2019: symbole externe non r�solu "public: virtual __thiscall DcmSCU::~DcmSCU(void)" (??1DcmSCU@@UAE@XZ) r�f�renc� dans la fonction "public: static int __cdecl Import::connection(class QString,class QString,class QString)" (?connection@Import@@SAHVQString@@00@Z) C:\Users\Nicolas\Documents\Visual Studio 2010\Projects\Importation\Importation\Import.obj Importation
    • Erreur 2 error LNK2019: symbole externe non r�solu "public: __thiscall DcmSCU::DcmSCU(void)" (??0DcmSCU@@QAE@XZ) r�f�renc� dans la fonction "public: static int __cdecl Import::connection(class QString,class QString,class QString)" (?connection@Import@@SAHVQString@@00@Z) C:\Users\Nicolas\Documents\Visual Studio 2010\Projects\Importation\Importation\Import.obj Importation
    • Erreur 3 error LNK1120: 2 externes non r�solus C:\Users\Nicolas\documents\visual studio 2010\Projects\Importation\\Importation.exe 1 1 Importation


    quelqu'un serait-il m'expliquer ce que cela signifie ??

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Du coup j'ai ajout� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    C:\dcmtk-3.6.0\include;C:\dcmtk-3.6.0\ofstd\include;C:\dcmtk-3.6.0\oflog\include;C:\dcmtk-3.6.0\dcmwlm\include;C:\dcmtk-3.6.0\dcmtls\include;C:\dcmtk-3.6.0\dcmsr\include;C:\dcmtk-3.6.0\dcmsign\include;C:\dcmtk-3.6.0\dcmqrdb\include;C:\dcmtk-3.6.0\dcmpstat\include;C:\dcmtk-3.6.0\dcmnet\include;C:\dcmtk-3.6.0\dcmjpls\include;C:\dcmtk-3.6.0\dcmjpeg\include;C:\dcmtk-3.6.0\dcmimgle\include;C:\dcmtk-3.6.0\dcmimage\include;C:\dcmtk-3.6.0\dcmdata\include;C:\dcmtk-3.6.0\config\include;.\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;.\;%(AdditionalIncludeDirectories)
    dans les options import de mon projet

    et j'ai ajout� :

    dans les options linker du projet...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    C:\dcmtk-3.6.0\ofstd\libsrc\Debug;C:\dcmtk-3.6.0\oflog\libsrc\Debug;C:\dcmtk-3.6.0\dcmwlm\libsrc\Debug;C:\dcmtk-3.6.0\dcmtls\libsrc\Debug;C:\dcmtk-3.6.0\dcmsr\libsrc\Debug;C:\dcmtk-3.6.0\dcmsign\libsrc\Debug;C:\dcmtk-3.6.0\dcmqrdb\libsrc;C:\dcmtk-3.6.0\dcmpstat\libsrc;C:\dcmtk-3.6.0\dcmnet\libsrc\Debug;C:\dcmtk-3.6.0\dcmjpls\libsrc\Debug;C:\dcmtk-3.6.0\dcmjpls\libcharls\Debug;C:\dcmtk-3.6.0\dcmjpeg\libijg8\Debug;C:\dcmtk-3.6.0\dcmjpeg\libijg12\Debug;C:\dcmtk-3.6.0\dcmjpeg\libijg16\Debug;C:\dcmtk-3.6.0\dcmimgle\libsrc\Debug;C:\dcmtk-3.6.0\dcmimage\libsrc\Debug;C:\dcmtk-3.6.0\dcmdata\libsrc\Debug;C:\dcmtk-3.6.0\dcmdata\libi2d\Debug;$(QTDIR)\lib;%(AdditionalLibraryDirectories)
    Sauf que cela ne change rien � mon erreur :-(

    une id�e ??

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Vous n'auriez pas un tuto sur DCMTK ?

  5. #5
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Je pense qu'avec ces quelques liens tu devrais t'en sortir :
    - Home page DCMTK
    - Wiki DCMTK
    - Documentation DCMTK

    Visiblement le code est plein d'exemples ...

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Merci, je suis d�j� le nez plong� dans ses documents depuis un moment hihihi
    L�, par exemple, je cherche comment bien configurer le projet visual studio 2010 pour qu'il reconnaisse les includes C++ et les inputs ainsi que les lib dans le Linker... Je crois que l'ordre � une importance... Auriez vous cela sous la main ????

  7. #7
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Install file section BUILDING (Windows).

    Apr�s je ne connais pas cette API, je te rapporte juste ce que je trouve en qqs minutes de recherches ...Je pr�sume par ailleurs que tu trouveras s�rement encore plus de pr�cisions en allant directement sur le Forum DCMTK.

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Merci, en effet leur forum est tr�s riche, seulement il est en anglais est quand m�me tr�s r�serv� � des sp�cialistes...
    Moi qui n'y connais pas grand chose je m'y sens un peu perdu...

    Du coup ici je peux parler en fran�ais, je peux demander de l'aide sans qu'on me regarde avec des grands yeux et enfin je peux attendre ici une dynamique un brin plus agr�able que chez eux ^^

    Bref, je proposerai bien de rajouter un TOPIC g�n�ral DCMTK mais je ne sais pas comment faire... Du coup je poste ici ^^

    Sinon, j'ai mis de cot� mon probl�me de connexion au PACS pour m�int�resser au CD, j'ai r�ussi � lire dans un DICOMDIR et maintenant j'essaye de comprendre comment lire dans un fichier DICOM (pour r�cup�rer le B value notamment)... Si quelqu'un � sous la main un peu de code pour me montrer comment faire �a ^^

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2014
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Par d�faut DCMTK tutorial
    Au cas ou quelqu'un retombe sur ce topic, j'ai tent� de partager les connaissances que j'avais pu acqu�rir sur DCMTK ici.

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut Merci
    Citation Envoy� par Zerkay Voir le message
    Au cas ou quelqu'un retombe sur ce topic, j'ai tent� de partager les connaissances que j'avais pu acqu�rir sur DCMTK ici.
    Ahhh effectivement c'est une excellente �a, et c'est assez bien fait - super pratique - merci beaucoup ^^

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2014
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Par d�faut Merci
    Merci, c'est gentil, tout retour est bienvenu, je ne viens que de cr�er le site (1 semaine � peine) et ce topic m'a par exemple donner l'id�e d'ajouter les includes et le CMAKE

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par d�faut
    Ahhh cela me donne envie de faire une nouvelle application...
    Je pense au score ASPECTS - pour estimer l'impact d'un AVC via les images IRM : lien
    Le probl�me actuellement c'est la reproductibilit� d'un examen. Le score n'est jamais le m�me d'un clinicien � l'autre...chacun choisi ses zones avec plus ou moins de marge.... Du coup les tests sont toujours d'une extr�me lourdeur...
    Avec une application, DMCTK pour les images, et ITK pour la cr�ation du masque et l'ajustement des images par rapport � ce masque...on pourrait automatiser la g�n�ration du score...
    A tester...
    Mais j'ai toujours le m�me probl�me.... LE TEMPS !!

Discussions similaires

  1. R�ponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    R�ponses: 4
    Dernier message: 14/03/2003, 09h55
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    R�ponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    R�ponses: 3
    Dernier message: 20/07/2002, 09h35
  5. R�ponses: 5
    Dernier message: 11/06/2002, 15h21

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