]> Creatis software - gdcmData.git/blob - TestAllEntryVerifyReference.txt
- TestAllEntryVerifyReference.txt not tests CT-MONO2-16-brain.dcm
[gdcmData.git] / TestAllEntryVerifyReference.txt
1 # TestAllEntryVerifyReference.txt
2 #
3 # This file describes for (hopefully) all the images of this repository
4 # the Dicom field entries that we use for the test suite.
5 # Semantics:
6 #   For a given image file, we store the most sensible (to the state of
7 #   gdcm kernel) Dicom entries as a pair (key, value):
8 #   - key is the Dicom tag (i.e. the pair [group,element] represented
9 #     as a string (in hexadecimal with the pipe character acting as a
10 #     separator between the group and the element).
11 #   - value is the Dicom field that corresponds to the tag (and represented
12 #     as a string. For binary entries [like the Pixels (the tag is 7fe0|0010
13 #     usually)], which don't have a string representation, we use the
14 #     string constructed by gdcm e.g.
15 #         "gdcm::NotLoaded (BinEntry) Address:776 Length:387200 x(5e880)".
16 # Format:
17 #   - Each image shall be contained in a block delimited by [ and ]
18 #     (square brackets). Nested blocks are an error.
19 #   - each (key, value) pair shall stand on a single line:
20 #     * key is of the form xxxx|yyyy (in hexadecimal) e.g. 0008|0060
21 #     * value is a string delimited by " (double quotes) e.g. "CR"
22 #   - the spaces are the one of C++ [i.e. space, TAB, endline (including
23 #     the empty line)...] 
24 #   - comments shall be preceded by # (sharp character) and be at the
25 #     end of meaningfull information
26 #   - All the information between blocks is discarded, but please use
27 #     the comment syntax (line for the lines you are just reading)
28 # Example:
29 #    [ filename.dcm
30 #      # some nice comments and problems of filename.dcm
31 #      0008|0060 "CR"   # Modality
32 #      0008|1090 "9000" # Manufacturer's model name
33 #      7fe0|0010 "gdcm::NotLoaded (BinEntry) Address:776 Length:387200 x(5e880)"
34 #    ]
35 #    This info shall be discarded (and has no comment which is lack of taste)
36 #
37 #    [
38 #      otherFilename.dcm
39 #      # some really nice comments and documentation
40 #      0028|0010 "440"
41 #      0028|0011 "440" ] # Columns
42 #
43 #
44 # File naming conventions:
45 #  the general form shall be (unpresent or meaningfull field are optional)
46 #  [Manufacturer]-[BytesPerPixel]-[PhotoInterpretation]-[SQ]-[Description].EXT
47 #  where :
48 #   - [Manufacturer] represents at best the aquisition device. It can
49 #     can be a mix of the "Manufacturer" and "Manufacturer's Model Name"
50 #     Dicom entries.
51 #   - [BytesPerPixel] is the "Bits Stored" Dicom entry (or "Bits Allocated"
52 #     when "Bits Stored" is absent).
53 #   -[PhotoInterpretation] corresponds to the type of encoding of the image.
54 #     It is a short for the "Photometric Interpretation" Dicom entry e.g.
55 #     PAL (for "PALETTE COLOR"), RGB, YBR (for YBR_FULL),
56 #     YBR422 (for YBR_FULL_4220, MONO2 (for MONOCHROME2)...
57 #   - [SQ] when present indicates that the image contains a sequence.
58 #   - [Description] shall be a consice description of the features
59 #     specificities of the image (e.g. ACR_NEMA_1 to indicate it is an
60 #     old ACR Nema version 1 file format).
61 #   - .EXT is the extension and (allthough meaningless in terms of the
62 #     dicom standard) shall either be .acr (for ACR Nema version 1 and 2)
63 #     or .dcm for Dicom V3 images.
64 # Examples:
65 #   - SIEMENS_GBS_III-16-ACR_NEMA_1.acr does it's best to express
66 #     that this image was produced by a SIEMENS (manufacturer) "GBS III"
67 #     (model name) imaging device. It is encoded on 16 bits per pixel,
68 #     has no "Photometric Interpretation", no sequence, and uses the
69 #     old ACR Nema version 1 file format.
70 #
71 # Note: The files whose name starts with a modality (e.g. CR-MONO1-10-chest.dcm)
72 #       are taken from Sebastien Barre's Dicom2 highly recommendable site
73 #       http://www.barre.nom.fr/medical/samples/index.html
74 [ CR-MONO1-10-chest.dcm
75    #"Transfer Syntax UID" is absent.
76    0008|0060 "CR"   # Modality
77    0008|0070 "FUJI PHOTO FILM CO. LTD." # Manufacturer
78    0008|1090 "9000" # Manufacturer's Model Name
79    0028|0010 "440"  # Rows
80    0028|0011 "440"  # Columns
81    0028|0100 "16"   # Bits Allocated
82    0028|0101 "10"   # Bits Stored
83    0028|0102 "9"    # High Bit
84    0028|0103 "0"    # Pixel Representation
85    7fe0|0010 "gdcm::NotLoaded (BinEntry) Address:776 Length:387200 x(5e880)"
86 ]
87
88 [ CT-MONO2-16-brain.dcm
89    0008|0060 "CT"                         # Modality
90    0002|0010 "1.2.840.10008.1.2.1"        # Transfer Syntax (Explicit VR, LE)
91    0008|0070 "Picker International, Inc." # Manufacturer
92    0008|1090 "PQ5000"                     # Manufacturer's Model Name
93    0028|0010 "512"  # Rows
94    0028|0011 "512"  # Columns
95    0028|0100 "16"   # Bits Allocated
96    0028|0101 "16"   # Bits Stored
97    0028|0102 "15"   # High Bit
98    0028|0103 "1"    # Pixel Representation
99    7fe0|0010 "gdcm::NotLoaded (BinEntry) Address:1680 Length:524288 x(80000)"
100 ]
101
102 [ SIEMENS_GBS_III-16-ACR_NEMA_1.acr
103   # - Particularities:
104   #   * old (circa 1991) ACR NEMA version 1.0 format.
105   #   * Pixel Representation (0028|0103) is absent
106   #   * apparently broken pixel data (see below)
107   #
108   # - This image pixel data looks corrupted, in the sense that the
109   #   following sizes do NOT match (as expected):
110   #   * it's pixel data is 132096 bytes long
111   #   * it has a size of 256x256 with 16 bytes per pixel, i.e. a size
112   #     of 256*256*2 = 131072 bytes.
113   # - Because of this missmatch, TestReadWriteReadCompare segfaults
114   #   on this image.
115   #   In details, when segfault occurs we have the following call stack:
116   #       gdcmFile::GetImageData()
117   #          PixelData = new uint8_t[ImageDataSize];
118   #          \--->::GetImageDataIntoVector(destination, ImageDataSize)
119   #           \---> ::ReadPixelData(destination)
120   #            \---> fread(destination, Header->GetPixelAreaLength(), 1, fp);
121   #   which causes the segfault because :
122   #       - destination is ImageDataSize i.e. 131072 bytes long
123   #       - Header->GetPixelAreaLength() = 132096 bytes long
124    0028|0010 "256"  # Rows
125    0028|0011 "256"  # Columns
126    0008|0060 "MR"   # Modality
127    0028|0100 "16"   # Bits Allocated
128    0028|0101 "12"   # Bits Stored
129    0028|0102 "11"   # High Bit
130    0008|0070 "SIEMENS "     # Manufacturer
131    0008|1090 "GBS III     " # Manufacturer's Model Name
132    7fe0|0010 "gdcm::NotLoaded (BinEntry) Address:8192 Length:132096 x(20400)"
133 ]
134
135 #############################################################################
136 # multiframe1.dcm
137 # multiframe2.dcm
138 #               Cardiovasculaire multiframe
139 #               True Dicom
140 #               Explicit VR
141 #               les champs prives ne *sont pas* Explicit VR
142 #               tous les Groupes comportent un element 0000
143 #               Pixels codes sur 10 bits
144 #               
145 # acusson.dcm
146 #               Echographie single Frame
147 #               True Dicom
148 #               Explicit VR
149 #               3 LUT (R, G, B)
150 #               
151 # irmPhlipsNew1.dcm
152 #               Irm Philips LyonSud
153 #               True Dicom
154 #               Explicit VR             
155 #               SQ curieuse en (0008,1140)
156 #               
157 # pixelNonRect.dcm
158 #               Irm Philips Marseille
159 #               True Dicom
160 #               Explicit VR     
161 #               les champs prives *sont* Explicit VR            
162 #               les champs prives contiennent des caract non imprimables 
163 #               Pixels non Rectangulaires       
164 #               
165 # esrf1.dcm
166 #               Vg Studio Max
167 #               True Dicom
168 #               Explicit VR     
169 #               Manque 'Samples Per Pixel' pour etre lue par e-film     
170 #               
171 # jpeg16Bits.dcm        
172 #               CT Siemens HEH
173 #               True Dicom
174 #               jpeg 16 Bits Lossy
175 #               (fait casser DcmRead 8/11/2002 :-(
176 #               repare 27/11
177 #       
178 # jpeglossles1.dcm
179 #               Jpeg LossLess
180 #               True Dicom
181 #               Explicit VR     
182 #               SQ en (0008,2112)       
183 #               contient peut etre (?!) des curiosités apres les Pixels 
184 #               
185 # jpeglossless2.dcm
186 #               CR Thoravision Philips Cardio
187 #               Jpeg LossLess
188 #               True Dicom
189 #               Explicit VR     
190 #               Jpeg mal decodé par les fonctions utilisees
191 #               
192 # jpeglossy1.dcm
193 # jpeglossy2.dcm
194 # jpeglossy3.dcm
195 #               Jpeg Lossy
196 #               Decodage non traite par mes fonctions
197 #               
198 # oldACR00001.ima
199 #               ACRNEMA V1 'ancien'
200 #               Groupe 20  NE contient  PAS Study et Serie Instance UID
201 #                               ET          Study ID et Series Number sont VIDES
202
203 # newACR1000.nema
204 #               ACRNEMA V2 'moderne'
205 #               Groupe 20 contient      Study    et Serie Instance UID
206 #                               ET      Study ID et Series Number
207 #                               
208 # imageEcat.ecat
209 #               Image au format ECAT (Medecine Nucleaire)
210 #               On n'y echapera pas encore tres longtemps, a celles la :-( 
211 #               
212 # ---------------- Ajouts 20 Nov 2002
213
214 # mr176621
215 #               MR Toshiba
216 #               ACRNEMA-V2
217 #               abscence de l'element 0000 (group length) pour tous les groupes
218 #               
219 # cr_45031
220 #               CR Fuji
221 #               ACRNEMA V2
222 #               1670x2010
223 #               
224 # MR.6799.1
225 #               MR Pickert
226 #               DICOM V3 like
227 #               manque le 'file preamble' de 200 octets
228 #               
229 # cr172241
230 #               CR Kodak
231 #               ACRNEMA V2
232 #               (0028 3000): SQ
233 #               (fffe, e00d), (fffe,e0dd), apres (0028, 3006) !!!
234 #               
235 # US.1.2.dcm
236 # US.1.3.dcm
237 #               US ACUSON
238 #               DICOM 3 Multiframe
239 #               JPEG 8 bits Lossy
240 #               (0028,0002) Samples Per Pixel = 3
241 #               (0018, 6011) : SQ
242 #               les champs à l'interieur de cette 'Sequence'
243 #                       contiennent des caract non imprimables qui déconfigurent l'ecran :-(
244 #               
245 #               Ces deux examens, correspondant a 2 patients differents ont le meme Study ID
246 #               
247 # ---------------- Ajouts 27/11/2002
248
249 # sonata.dcm
250 #               IRM Siemens Sonata (images taggees)
251 #               SQ en (0008,1140),contenant (0008,1150), (0008,1155) 3 fois 
252 #               
253 #               
254 # ---------------- Ajouts 16/12/2002    
255 # icone.dcm
256 #       CT Picker
257 #       image 512x512
258 #       (28 200 )contient une icone de 64x64
259 #               --> DEUX groupes 7FE0 dans la même image
260
261 # ----------------- Ajouts 13/02/2003
262
263 # sonata.nema
264 #       MR Siemens sonata
265 #       True DICOM
266 #       (18,1310) est un champ de Value Multiplicity > 1
267 #       vr : US mais longueur = 8
268
269 # --------------Ajouts 21/03/2003
270
271 # philipsMR-lossy.ima
272 #       MR Philips (Neuro)
273 #       True Dicom
274 #       indiquée comme ACR-NEMA V1 dans l'entete
275 #       JPEG Lossy (Transfer Syntax UID : [1.2.840.10008.1.2.4.51])