4 // * gdcmlib is a library dedicated to reading and writing dicom files.
5 // * LGPL for the license
6 // * lightweigth as opposed to CTN or DCMTK which come bundled which try
7 // to implement the full DICOM standard (networking...). gdcmlib concentrates
8 // on reading and writing
9 // * Formats: this lib should be able to read ACR-NEMA v1 and v2, Dicom v3 (as
10 // stated in part10). [cf dcmtk/dcmdata/docs/datadict.txt]
11 // * Targeted plateforms: Un*xes and Win32/VC++6.0
15 // The declarations commented out and starting with "TODO Swig" needed
16 // to be temporarily removed for swig to proceed correctly (in fact
17 // problems appears at loading of _gdcm.[so/dll]). So, simply uncomment
18 // the declaration once you provided the definition of the method...
26 #include <stddef.h> // For size_t
27 #include <stdio.h> // FIXME For FILE on GCC only
30 #include "gdcmException.h"
33 // The requirement for the hash table (or map) that we shall use:
34 // 1/ First, next, last (iterators)
35 // 2/ should be sortable (i.e. sorted by TagKey). This
36 // condition shall be droped since the Win32/VC++
37 // implementation doesn't look a sorted one. Pffff....
38 // 3/ Make sure we can setup some default size value,
39 // which should be around 4500 entries which is the
40 // average dictionary size (said JPR)
43 // En fait, je disais que dans LE Directory Dicom (dans son etat 2001)
44 // il y a +/- 1600 entrees.
45 // Une valeur raisonable pour un majorant du nombre d'entrees
46 // dans une entete DICOM d'une image semble semble etre 300
47 // Si on 'decortique' les elements SQ (ce qui ne semble pas etre fait pour le moment)
48 // on risque en fait de depasser ... un nombre non previsible dans le cas d'une entree SQ
49 // contenant lui même un tres grand nombre d'entrees ?!?)
50 // Quant au nombre d'entrees dans un DICOMDIR, c'est encore pire : il n'est limité
51 // que par la taille d'un CD-ROM (les DVD-ROM ne sont pas encore pris en compte)
52 // On peut s'attendre a 30 entrees par fichier dicom présent sur le CD-ROM
53 // REMARQUE : il faudra se pencher sur le pb de la creation du DICOMDIR lorsqu'on voudra
54 // exporter des images lisibles par les consoles cliniques
55 // et pas seulement importables dans e-film.
57 ////////////////////////////////////////////////////////////////////////////
58 // Tag based hash tables.
59 // We shall use as keys the strings (as the C++ type) obtained by
60 // concatenating the group value and the element value (both of type
61 // unsigned 16 bit integers in Dicom) expressed in hexadecimal.
62 // Example: consider the tag given as (group, element) = (0x0010, 0x0010).
63 // Then the corresponding TagKey shall be the string 0010|0010 (where
64 // the | (pipe symbol) acts as a separator). Refer to
65 // gdcmDictEntry::TranslateToKey for this conversion function.
67 #include "gdcmCommon.h"
68 #include "gdcmDictEntry.h"
70 #include "gdcmDictSet.h"
71 #include "gdcmElValue.h"
72 #include "gdcmElValSet.h"
73 #include "gdcmHeader.h"
76 //class gdcmSerie : gdcmFile;
77 //class gdcmMultiFrame : gdcmFile;
79 #endif // #ifndef GDCM_H