Outils pour utilisateurs

Outils du site


issue89:dcm4che

Table des matières

1

Disclaimer Maybe this article is not intended for a wide range of people reading this magazine, as I will describe the installation of a niche software related to the medical and health-care enterprise world. It is not a home software; indeed nobody has a positron emission tomography (PET) facility at home, have they? Maybe I’m wrong, but reading magazines like this, I have the feeling that Ubuntu, Linux and FOSS in general are mainly perceived, by common people, as something related to or useful for: • a hobby for geeks, computer enthusiasts and programmers • a free and legal way to achieve, using a PC, day by day personal interests (an alternative to Windows and paid software) and tasks such as: • • multimedia and amusement: games, image editing and video playback • • personal and home income management • • office software • and for professional use, it seems something strictly related to information technology, like something made by programmers for other programmers or IT staff: • • network tools • • web server and stuff like that • • programming languages and development tools • • anything strictly related to IT, computer science, network and so on • • and at last something related to business But there are other aspects of Linux and FOSS: the real world, the serious things. Like health care applications, as stated above.

Clause de non-responsabilité

Il se peut que cet article n'ait pas été écrit pour une large gamme des lecteurs de cette revue, puisque je vais décrire l'installation d'un logiciel spécialisé en rapport avec le monde des entreprises médicales et de soins de santé.

Ce n'est pas un logiciel que vous utiliseriez à la maison ; en effet, personne n'a d'installation de TEP (tomographie à émissions de positons) chez soi, n'est-ce pas ?

J'ai peut-être tort, mais, en lisant des magazines comme celui-ci, j'ai l'impression qu'Ubuntu, Linux et les logiciels libres en général sont perçus par les gens comme quelque chose ayant un rapport avec, ou utile pour : • un violon d'Ingres de geek, de fans des ordinateurs et des programmeurs ; • une manière gratuite et légale d'accomplir ses intérêts personnels, ses tâches quotidiennes, en utilisant un PC (une alternative à Windows et aux logiciels payants), et notamment pour :

  • multimédia et divertissement : jeux, retouche de photo et lecture de vidéos ;
  • la gestion de ses finances personnelles et domestiques ;
  • une suite bureautique ;

• et pour une utilisation professionnelle, cela semble strictement lié à la technologie de l'informatique, comme quelque chose fait par des programmeurs pour d'autres programmeurs ou pour le personnel TI :

  • outils réseau ;
  • serveur Web et des trucs similaires ;
  • langages de programmation et outils de développement ;
  • n'importe quoi en rapport étroit avec la TI, l'informatique, les réseaux, etc. ;
  • et, enfin, quelque chose ayant trait aux affaires.

Mais Linux et les Logiciels Libres ont d'autres aspects : dans la vraie vie, des choses sérieuses. Comme des applications de soins de santé…

2

So, in this article I will explain how to install dcm4chee on Ubuntu. Maybe, as I said before, no reader of this magazine will have the need or the knowledge to install and understand this software, but if you are a student, or if you know a dentist or a radiological study, maybe you could be inspired by knowing the existence of this software. DICOM and PACS DICOM (Digital Imaging and Communications in Medicine) “is a standard for handling, storing, printing, and transmitting information in medical imaging”. PACS (Picture archiving and communication system) is a medical imaging technology which provides storage of and access to images from multiple modalities. A modality is a source machine where patient’s images are acquired from, for example, an X-Ray machine or a Magnetic Resonance scanner. Some other actors of a PACS are: servers, storage (NAS, SAN, tapes), printers, viewers, CD/DVD robots, etc. dcm4chee (http://dcm4che.org/) is a DICOM archive and image manager, that is the server side of a PACS system, the server where medical images (an x-ray, an ultrasound, a magnetic resonance) will be stored, and from which a radiologist will retrieve your examination in order to carry out a medical report.

Ainsi, dans cet article, j'expliquerai comment installer dcm4chee sous Ubuntu. Comme je l'ai déjà dit, il se peut qu'aucun lecteur de cette revue n'ait ni le besoin, ni les connaissances nécessaires à installer et à comprendre ce logiciel, mais si vous êtes étudiant ou si vous connaissez un dentiste ou un cabinet de radiologie, savoir que ce logiciel existe pourrait vous inspirer.

DICOM et PACS

DICOM (Digital Imaging and Communications in Medicine, ou l'Imagerie et les communications numériques en médecine) « est un standard dans l'imagerie médicale pour la manipulation, le stockage, l'impression et la transmission d'informations. »

PACS (Picture archiving and communication system, ou Système d'archivage et de communication d'images) est une technologie de l'imagerie médicale qui fournit le stockage de, et l'accès aux, images de modalités multiples.

Une modalité est une machine source dont proviennent les images des malades, par exemple un appareil de radiographie ou un scanneur à résonance magnétique. Quelques autres acteurs d'un PACS sont : des serveurs, du stockage (NAS, SAN, bandes), des imprimantes, des visionneuses, des robots CD/DVD, etc.

dcm4chee (http://dcm4che.org/) est un gestionnaire d'archive et d'image DICOM, autrement dit le côté serveur d'un système PACS, le serveur où des images médicales (une radio, une échographie, une IRM) seront stockées et à partir duquel un radiologue récupérera votre examen pour réaliser un rapport médical.

3

“The application contains the DICOM, HL7 services and interfaces that are required to provide storage, retrieval, and workflow to a health-care environment”. It is written in Java and is prepackaged and deployed within the JBoss application server. It is open source and licensed under an MPL/GPL/LGPL triple license. There are also a lot of DICOM related tools provided by the same developers and community (called dcm4che toolkit), and some DICOM viewers, like Mayam, Oviyam and Weasis. If you need help and assistance there is a Google group where a vibrant and nice community will be willing to give you some advice. On the other hand, the wiki lacks a little bit in documentation, that is some pages are dated or are incomplete. Let’s install it Even if some willing person has packaged dcm4che in a “.deb” package, and even if I’m a lover of package management systems, in this case I feel better if I install this software by hand. So, let’s see how to install dcm4chee on Ubuntu server 14.04 LTS. First of all we need to install Java. I’m not sure if dcm4chee works with OpenJDK. And I’m not sure if it works with Java 1.7, so let’s install Oracle Java 1.6, using a PPA repository. sudo apt-get install software-properties-common sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installer We need to accept the license, and so on.

« L'application contient les services et interfaces HL7 de DICOM nécessaires pour fournir du stockage, de la récupération et de l'ordonnancement du travail à un environnement de soins de santé. » Écrite en Java, elle est pré-emballée et déployée au sein du serveur d'applications JBoss. Elle est Open Source sous une licence triple, MPL/GPL/LGPL. Beaucoup d'outils en rapport avec DICOM sont fournis par les même développeurs et communauté (appelé dcm4che toolkit), ainsi que des visionneuses de DICOM, comme Mayam, Oviyam et Weasis.

Si vous avez besoin d'aide, il y a un groupe Google où une communauté sympa et dynamique vous donnera bien volontiers des conseils. En revanche, la documentation du wiki a quelques lacunes, c'est-à-dire que certaines pages sont périmées ou incomplètes.

Installons-le.

Même si une personne de bon cœur a créé un paquet .deb, et en dépit du fait que j'aime beaucoup les gestionnaires de paquets, dans ce cas, je préfère installer le logiciel manuellement.

Voyons donc voir comment installer dcm4chee sur Ubuntu server 14.04 LTS.

Tout d'abord, il faut installer Java. Je ne suis pas certain que dcm4chee fonctionne avec OpenJDK. Et je ne suis pas certain qu'il fonctionne avec Java 1.7 ; nous allons donc installer Oracle Java 1.6, au moyen d'un dépôt PPA.

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java6-installer

Il faut, bien entendu, accepter la licence, etc., etc.

4

dcm4chee needs a database: Postgres, DB2, Oracle, MySQL, etc. If you want to try it without a RDBMS, you can opt for the HSQL package, but let’s install MySQL. sudo apt-get install mysql-server Now we need to create a schema and grant all rights to a user. $ mysql -uroot -p* mysql> create schema pacsdb; mysql> grant all on pacsdb.* to pacs@localhost identified by 'pacs'; mysql> flush privileges; mysql> \q Now we need to download JBoss and dcm4chee zip files. Download JBoss 4.2.3.GA (don’t use a newer version!) from http://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip/download Download the latest release of dcm4chee-mysql, 2.18.0 at time of writing, from http://sourceforge.net/projects/dcm4che/files/dcm4chee/ Put the zip files in a temporary folder, like /var/tmp/dcminstall and unzip them

dcm4chee a besoin d'une base de données : Postgres, DB2, Oracle, MySQL… Si vous voulez l'essayer sans un RDBMS [Ndt : Relational Data Base Management System, ou base de données relationnelle], vous pouvez choisir le paquet HSQL, mais installons MySQL.

sudo apt-get install mysql-server

Nous devons maintenant créer un schéma et donner tous les droits à l'utilisateur.

$ mysql -uroot -p*

mysql> create schema pacsdb;

mysql> grant all on pacsdb.* to pacs@localhost identified by 'pacs';

mysql> flush privileges;

mysql> \q

À ce stade, il faut télécharger les fichiers zip de JBoss et dcm4chee. Téléchargez JBoss 4.2.3.GA (n'utilisez PAS une version supérieure !) à partir de http://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip/download

Téléchargez la version la plus récente de dcm4chee-mysql, la 2.18.0 au moment où j'écris ces lignes, à partir de http://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip/download

Placez les fichiers zip dans un fichier temporaire, comme /var/tmp/dcminstall et extrayez-les.

5

sudo apt-get install unzip unzip dcm4chee-2.18.0-mysql.zip unzip jboss-4.2.3.GA-jdk6.zip Since we are on a 64-bit operating system, and the dcm4chee zip file contains a 32-bit version of compression library, we have to download the proper Java Advanced Imaging Image I/O Tools for linux 64-bit from http://download.java.net/media/jai-imageio/builds/release/1.1/ and replace the Linux version of libclib_jiio.so wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.tar.gz tar xzvf jai_imageio-1_1-lib-linux-amd64.tar.gz cp /var/tmp/install/jai_imageio-1_1/lib/libclib_jiio.so /var/tmp/install/dcm4chee-2.18.0-mysql/bin/native/libclib_jiio.so Now we have to copy files from JBoss to dcm4chee: cd /var/tmp/install/dcm4chee-2.18.0-mysql/bin/ ./install_jboss.sh /var/tmp/install/jboss-4.2.3.GA

sudo apt-get install unzip

unzip dcm4chee-2.18.0-mysql.zip

unzip jboss-4.2.3.GA-jdk6.zip

Puisque notre système d'exploitation est un système 64-bit et que le fichier zip de dcm4chee contient une version 32-bit de la bibliothèque de compression, nous devons télécharger les bons outils Java Advanced Imaging Image I/O Tools pour Linux 64-bit à partir de http://download.java.net/media/jai-imageio/builds/release/1.1/ et remplacer la version Linux de libclib_jiio.so par la nouvelle.

wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.tar.gz

tar xzvf jai_imageio-1_1-lib-linux-amd64.tar.gz

cp /var/tmp/install/jai_imageio-1_1/lib/libclib_jiio.so /var/tmp/install/dcm4chee-2.18.0-mysql/bin/native/libclib_jiio.so

Maintenant, il faut copier des fichiers de JBoss vers dcm4chee :

cd /var/tmp/install/dcm4chee-2.18.0-mysql/bin/

./install_jboss.sh /var/tmp/install/jboss-4.2.3.GA

6

Now we have to import the provided SQL file in order to create the database tables and indexes: cd /var/tmp/install/dcm4chee-2.18.0-mysql/sql/ mysql -upacs -ppacs pacsdb < create.mysql And now we have to move the dcm4chee directory to a definitive place, like /opt, and then it is useful to create a symbolic link (so, in case of an upgrade, we don’t need to modify any script or anything else pointing to the dcm4chee directory): cd / sudo mv /var/tmp/install/dcm4chee-2.18.0-mysql/ /opt/ sudo ln -s /opt/dcm4chee-2.18.0-mysql /opt/dcm4chee It is a good idea to create a dcm4chee user and change the owner of the installation dir. useradd dcm4chee chown -R dcm4chee /opt/dcm4chee-2.18.0-mysql Now we can try to run dcm4chee in foreground: su - dcm4chee -c /opt/dcm4chee/bin/run.sh

Nous devons maintenant importer le fichier SQL fourni afin de créer les tables et index de la base de données :

cd /var/tmp/install/dcm4chee-2.18.0-mysql/sql/

mysql -upacs -ppacs pacsdb < create.mysql

Puis il faut bouger le répertoire dcm4chee à un emplacement définitif, comme /opt ; après, la création d'un lien symbolique est utile (cela ferait qu'en cas de mise à niveau, on n'aurait pas besoin de modifier un script ou autre chose qui pointe vers le répertoire dcm4chee) :

cd /

sudo mv /var/tmp/install/dcm4chee-2.18.0-mysql/ /opt/

sudo ln -s /opt/dcm4chee-2.18.0-mysql /opt/dcm4chee

C'est une bonne idée de créer un utilisateur de dcm4chee et de changer le propriétaire du répertoire d'installation.

useradd dcm4chee

chown -R dcm4chee /opt/dcm4chee-2.18.0-mysql

À ce stade, nous pouvons essayer de lancer dcm4chee en avant-plan :

su - dcm4chee -c /opt/dcm4chee/bin/run.sh

7

Using a web browser, connect to http://yourubuntuserver:8080/dcm4chee-web3 The default user is “admin” and the default password is “admin”. In order to make changes to the default configuration, we need to use the JBoss jmx console http://yourubuntuserver:8080/jmx-console/, and this task could be painful since there are no manuals covering a step-by-step configuration: you have to dig inside the wiki and on the old forum or, as I said before, you can call for help in the mailing list. More info: • wiki - http://www.dcm4che.org/confluence/display/proj/The+Project • mailing list - https://groups.google.com/forum/m/?hl=en#!forum/dcm4che • discontinued forum - http://forums.dcm4che.org

Dans un navigateur Web, connectez-vous à http://yourubuntuserver:8080/dcm4chee-web3

L'utilisateur par défaut est « admin » et le mot de passe par défaut est « admin ».

Pour pouvoir modifier la configuration par défaut, nous devons utiliser la console jmx de JBoss http://yourubuntuserver:8080/jmx-console/, et cette tâche pourrait être difficile, car il n'existe pas de manuels qui donnent une configuration étape par étape : vous devez bien chercher sur le wiki ou le vieux forum ou, comme je l'ai déjà dit, vous pouvez lancer un appel à l'aide sur la liste de diffusion.

Pour plus de renseignements : • wiki - http://www.dcm4che.org/confluence/display/proj/The+Project • liste de diffusion : https://groups.google.com/forum/m/?hl=en#!forum/dcm4che • forum abandonné : http://forums.dcm4che.org

issue89/dcm4che.txt · Dernière modification : 2015/02/08 17:44 de d52fr