X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=TestAllEntryVerifyReference.txt;h=d7536641a61f6448045fd05fc303ccc3ca04745b;hb=3025343e9c33d1d9d43624be72e79a2869da1415;hp=3b006ccafe9777c0c37bc9e4f5cc5c3f69d0a373;hpb=a49165fb7a61861a5a973a07e1a66f287dc23d39;p=gdcmData.git diff --git a/TestAllEntryVerifyReference.txt b/TestAllEntryVerifyReference.txt index 3b006cc..d753664 100644 --- a/TestAllEntryVerifyReference.txt +++ b/TestAllEntryVerifyReference.txt @@ -79,6 +79,8 @@ [ CR-MONO1-10-chest.dcm # - Particularities: # * "Transfer Syntax UID" is absent. + # Warning : MONOCHROME1 -> *should be* displayed as video inv + # (nobody seems to care about it ...) 0008|0070 "FUJI PHOTO FILM CO. LTD." # Manufacturer 0008|1090 "9000" # Manufacturer's Model Name 0028|0101 "10" # Bits Stored @@ -191,8 +193,8 @@ 0028|0100 "16" # Bits Allocated 0028|0102 "15" # High Bit 0028|0103 "1" # Pixel Representation - 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg extended - # process (2,4) + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] 0008|0060 "CT" # Modality 7fe0|0010 "gdcm::NotLoaded Address:1638 Length:143498 x(2308a)" ] @@ -298,6 +300,7 @@ 0028|0103 "0" # Pixel Representation 0002|0010 "gdcm::Unfound" # Transfer Syntax UID 0008|0060 "OT" # Modality + 0028|0002 "1" # Samples per Pixel 7fe0|0010 "gdcm::NotLoaded Address:1654 Length:307200 x(4b000)" ] @@ -462,6 +465,8 @@ 0002|0010 "1.2.840.10008.1.2.5" # Transfer Syntax: RLE Lossless 0008|0060 "US" # Modality 0028|0008 "10" # Number of Frames + 0028|0002 "1" # Samples per Pixel + 0028|0006 "gdcm::Unfound" # Planar Configuration # Note: 430 * 600 * 8 != 481182 because of compression ! 7fe0|0010 "gdcm::NotLoaded Address:2428 Length:481182 x(7579e)" ] @@ -481,8 +486,8 @@ 0028|0100 "8" # Bits Allocated 0028|0102 "7" # High Bit 0028|0103 "0" # Pixel Representation - 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg extended - # process (2,4) + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] 0008|0060 "XA" # Modality 0028|0008 "12" # Number of Frames # Note: 512 * 512 * 12 != 920072 because of compression ! @@ -498,6 +503,7 @@ # * Pixel data encoded on 10 bits. # * Implicit VR --> all private entries are assumed as BinEntries # (group 0019, group 0029) + # * contains a "Modality LUT Sequence" at tag 0028|3000 0008|0070 "Philips Medical Systems (Netherlands) " # Manufacturer 0008|1090 "P H I L I P S INTEGRIS V" # Manufacturer's Model Name 0028|0101 "10" # Bits Stored @@ -524,6 +530,8 @@ # ( groups 11, 15, 19) # * allmost groups (this is not the case of group 0x0008) contain # a "Group Length" tag (*, 0x0000) + # * contains a "Mask Subtraction Sequence" at tag 0028|6100 + # * contains a "Device Sequence" at tag 0050|0010 0008|0070 "GE MEDICAL SYSTEMS" # Manufacturer 0008|1090 "DLX " # Manufacturer's Model Name 0028|0101 "8" # Bits Stored @@ -541,18 +549,39 @@ 7fe0|0010 "gdcm::NotLoaded Address:4984 Length:14680064 x(e00000)" ] +[ GE_DLX-8-MONO2-Multiframe-Jpeg_Lossless.dcm + # - Particularities: + # * Multiframe image (see Number of Frames tag) + # * contains a "Mask Subtraction Sequence" at tag 0028|6100 + # * contains a "Device Sequence" at tag 0050|0010 + 0008|0070 "GE MEDICAL SYSTEMS" # Manufacturer + 0008|1090 "DLX " # Manufacturer's Model Name + 0028|0101 "8" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "512" # Rows + 0028|0011 "512" # Columns + 0028|0100 "8" # Bits Allocated + 0028|0102 "7" # High Bit + 0028|0103 "0" # Pixel Representation + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] + 0008|0060 "XA" # Modality + 0028|0008 "67" # Number of Frames + # 7fe0|0010 not present +] + [ ACUSON-24-YBR_FULL_422-Jpeg_Baseline_1.dcm # - Particularities: # * Jpeg Baseline (Process 1) encoding. # * YBR_FULL_422 encoding and hence "Samples per Pixel" tag is 3 # (see "Photometric Interpretation" entry). - # * has a sequence. - # * WITHIN this sequence at tag (0x0018, 0x6011) we encounter + # * has a "Sequence of Ultrasound Regions " at tag (0x0018, 0x6011). + # * WITHIN this sequence [at tag (0x0018, 0x6011)] we encounter # tags [e.g. (0x0018, 0x602c) ] with "FD" as value representation # that are "non printable" when interpreted as characters. "Non # printable" stands for "contains control characters that corrupts # a majority of UN*X shells"... - # * Multiframe image (see Number of Frames tag) + # * Multiframe image with 40 fragments : see Number of Frames tag. 0008|0070 "ACUSON" # Manufacturer 0008|1090 "gdcm::Unfound" # Manufacturer's Model Name 0028|0101 "8" # Bits Stored @@ -570,6 +599,50 @@ 7fe0|0010 "gdcm::NotLoaded Address:1872 Length:3291746 x(323a62)" ] +[ PHILIPS_Integris_H-8-MONO2-Multiframe.dcm + # - Particularities: + # * Multiframe image (see Number of Frames tag) + # * contains a "Referenced Performed Procedure Step Sequence" at + # tag 0008|1111 + # * contains a sequence of unknow type at tag 0029|fd00. + # * has some trailing (after the pixel data) info with tag fffc|fffc, + # VR of "OB", length = 1570 = 0x622 + 0008|0070 "Philips Medical Systems (Netherlands) " # Manufacturer + 0008|1090 "P H I L I P S INTEGRIS H" # Manufacturer's Model Name + 0028|0101 "8" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "512" # Rows + 0028|0011 "512" # Columns + 0028|0100 "8" # Bits Allocated + 0028|0102 "7" # High Bit + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] + 0008|0060 "XA" # Modality + 0028|0008 "76" # Number of Frames + 7fe0|0010 "gdcm::NotLoaded Address:5690 Length:14349208 x(daf398)" +] + +[ ACUSON-24-YBR_FULL-RLE-b.dcm + # - Particularities: + # * RLE Lossless encoding. + # * YBR_FULL encoding and hence "Samples per Pixel" tag is 3 + # (see "Photometric Interpretation" entry). + # * contains a "Source Image Sequence" at tag 0008|2112 + 0008|0070 "ACUSON" # Manufacturer + 0008|1090 "gdcm::Unfound" # Manufacturer's Model Name + 0028|0101 "8" # Bits Stored + 0028|0004 "YBR_FULL" # Photometric Interpretation + 0028|0010 "288" # Rows + 0028|0011 "384" # Columns + 0028|0100 "8" # Bits Allocated + 0028|0102 "7" # High Bit + 0028|0103 "0" # Pixel Representation + 0002|0010 "1.2.840.10008.1.2.5" # Transfer Syntax: RLE Lossless + 0008|0060 "US" # Modality + 0028|0002 "3" # Samples per Pixel + 7fe0|0010 "gdcm::NotLoaded Address:2032 Length:80822 x(13bb6)" +] + ############################################################ ### ACR NEMA version 1.0 (ONE!) format: ############################################################ @@ -577,7 +650,8 @@ # - Particularities: # * old (circa 1991) ACR NEMA version 1.0 format. # * apparently broken pixel data (see below) - # * Pixel Representation (0028|0103) is absent + # * "Pixel Representation" tag (0028|0103) is absent + # * "Photometric Interpretation" tag is absent # * wierd padding of "Manufacturer's Model Name" tag # * Group 20 does NOT contain: # - "Study" @@ -616,34 +690,6 @@ 7fe0|0010 "gdcm::NotLoaded Address:8192 Length:132096 x(20400)" ] -[ gdcm-MR-SIEMENS-16-1.acr - # - Particularities: - # * old (circa 1991) ACR NEMA version 1.0 format. - # * the image pixel data looks corrupted (see below) - # * wierd padding of "Manufacturer's Model Name" tag - # * "Photometric Interpretation" tag is absent - # * Group 20 does NOT contain: - # - "Study" - # - "Serie Instance UID" - 0008|0070 "SIEMENS " # Manufacturer - 0008|1090 "GBS III " # Manufacturer's Model Name - 0028|0101 "12" # Bits Stored - 0028|0004 "gdcm::Unfound" # Photometric Interpretation - 0028|0010 "256" # Rows - 0028|0011 "256" # Columns - 0028|0100 "16" # Bits Allocated - 0028|0102 "11" # High Bit - 0028|0103 "0" # Pixel Representation - 0002|0010 "gdcm::Unfound" # Transfer Syntax UID - 0008|0060 "MR" # Modality - # Note: the image pixel data looks corrupted in the sense that the - # following sizes do NOT match (as expected): - # - it's pixel data is 132096 bytes long - # - it has a size of 256x256 with 16 bytes per pixel, i.e. a size - # of 256*256*2 = 131072 bytes. - 7fe0|0010 "gdcm::NotLoaded Address:8192 Length:132096 x(20400)" -] - ############################################################ ### ACR NEMA version 2.0 (TWO!) format: ############################################################ @@ -745,10 +791,20 @@ [ gdcm-US-ALOKA-16.dcm # - Particularities: # * possesses 3 LUTs (Segmented Palette Color): a Green (checked), a - # Red and Blue. + # Red and Blue. Note: segmented palette color not taken into account + # by gdcm (FIXME). + # * Both Red and Green componant of the Segmented palette color are + # bigger than 256 * 256 = 65536. How can one interpret such + # a LUT ? # * announced as implicit VR, but really explicit VR ! # * has a color palette (see Photometric Interpretation) - 0008|0070 "ALOKA CO., LTD. " # Manufacturer + # * neither e-film nor DicomWorks deals with the color segmented palette + # color properly. Xmedcon breaks on this image. + # * Note: on disk this image has a size of 873140 bytes. But + # one could expect that + # Rows * Columns * #Palette * 16 bits/2 = 1843200 bytes + # would be necessary. What is wrong ? + 0008|0070 "ALOKA CO., LTD. " # Manufacturer 0008|1090 "SSD-4000" # Manufacturer's Model Name 0028|0101 "16" # Bits Stored 0028|0004 "PALETTE COLOR " # Photometric Interpretation @@ -766,6 +822,7 @@ 0028|1222 "gdcm::NotLoaded Address:89576 Length:113784 x(1bc78)" # Blue 0028|1223 "gdcm::NotLoaded Address:203368 Length:55364 x(d844)" + # 7fe0|0010 "gdcm::NotLoaded Address:258740 Length:614400 x(96000)" ] @@ -798,7 +855,7 @@ # http://dicom.offis.de/dcmtk.php.en) # * Misses the "Samples Per Pixel" element which prevents # e-film from reading it. - # * Misses the Manufacturer related info + # * Misses both the "Manufacturer" and the "Manufacturer's Model Name" 0008|0070 "gdcm::Unfound" # Manufacturer 0008|1090 "gdcm::Unfound" # Manufacturer's Model Name 0028|0101 "8" # Bits Stored @@ -819,9 +876,13 @@ # - Particularities: # * Non rectangular pixels (see "Pixel Spacing" tag) # * private tags are in explicit VR (which is normal BTW) - # *screen-flaher non printable characters in private elements (gdcmBinEntry ?) - # * has FD fields (0029 218b, 29 218d) - + # * has FD fields at tags 0029|218b, and 0029|218d + # * many (roughly 20) sequences, among which: + # - a couple ones with 0 (zero) length, e.g. at tags 0029|2008, + # 0029|201e, or 0029|204c/0#0029|28e0. + # - nested sub-sequences. + # * screen-flaher non printable characters in private elements (see + # file ACUSON-24-YBR_FULL_422-Jpeg_Baseline_1.dcm). 0008|0070 "Philips Medical Systems " # Manufacturer 0008|1090 "Gyroscan Intera " # Manufacturer's Model Name 0028|0101 "12" # Bits Stored @@ -842,6 +903,7 @@ # * contains a tag with value multiplicity bigger than 1: the # tag (0x0018, 0x1310) has "US" as value representation BUT # has a size of 8 bytes (i.e. it contains FOUR short integers) + # * contains a "Referenced Image Sequence" at tag 0008|1140 0008|0070 "SIEMENS " # Manufacturer 0008|1090 "Sonata" # Manufacturer's Model Name 0028|0101 "12" # Bits Stored @@ -857,6 +919,26 @@ 7fe0|0010 "gdcm::NotLoaded Address:25686 Length:106496 x(1a000)" ] +[ SIEMENS_MAGNETOM-12-MONO2-Uncompressed.dcm + # - Particularities: + # * transited by a Siemens LEONARDO console, which produced a + # buggy headered images + # JPR FIX: can you confirm that, and tell in which way the header is + # got corrupted ? + 0008|0070 "SIEMENS " # Manufacturer + 0008|1090 "MAGNETOM VISION " # Manufacturer's Model Name + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "512" # Rows + 0028|0011 "512" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0002|0010 "1.2.840.10008.1.2.1" # Transfer Syntax: Explicit VR, + # Little Endian + 0008|0060 "MR" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:5160 Length:524288 x(80000)" +] + [ PICKER-16-MONO2-No_DicomV3_Preamble.dcm # - Particularities: # * looks like a DICOM V3 image but it misses the proper file @@ -877,8 +959,7 @@ [ PHILIPS_Gyroscan-8-MONO2-Odd_Sequence.dcm # - Particularities: - # * Contains an odd sequence at tag (0x0008, 0x1140). - # JPR FIXME: in what sense is it odd ??? + # * Contains a "Referenced Image Sequence" at tag 0008|1140. 0008|0070 "Philips Medical Systems " # Manufacturer 0008|1090 "Gyroscan Intera " # Manufacturer's Model Name 0028|0101 "8" # Bits Stored @@ -896,12 +977,19 @@ [ PICKER-16-MONO2-Nested_icon.dcm # - Particularities: # * contains TWO images: - # - the original image 512x512 - # - an 8x8 icon hiden in sequence encountered at tag (0x0088, 0x0200) - # This implies this image contains two 7fe0|0010 (among one is + # - the original image 512x512 at tag 7fe0|0010, + # - an 8x8 icon hidden in a "Icon Image Sequence" (at tag 0088|0200) + # within Item number 0, and within the usual tag 7fe0|0010 + # (the full tag of this icon is hence 0088|0200/0#7fe0|0010) + # This implies this image contains two 7fe0|0010 (among which one is # burried in a sequence), two "Rows" entries, two "Columns" entries... # This makes it impossible to use the name of tag (e.g. Rows) as # as a key of dictionaries build on top of such an image.... + # * contains a "Source Image Sequence" with 0xffff length at 0008|2112 + # with 130 useless (dummy) items, + # * sequence at 0088|0200, with length 0xffff, is terminated with both: + # - an "Item Delimitation Item" (i.e. a tag fffe|e00d) + # - a "Sequence Delimitation Item" (i.e. a tag fffe|e0dd). 0008|0070 "PICKER" # Manufacturer 0008|1090 "gdcm::Unfound" # Manufacturer's Model Name 0028|0101 "12" # Bits Stored @@ -918,10 +1006,9 @@ [ KODAK-12-MONO1-Odd_Terminated_Sequence.dcm # - Particularities: - # * within the sequence at tag (0x0028, 0x3000) we encounter - # an "Item Delimitation" (0xfffe, 0xe00d) followed by an - # "Sequence Delimitation Item" (0xfffe, 0xe0dd) just after - # the tag (0x0028, 0x3006) !!! + # * within the "Modality LUT Sequence" at tag 0028|3000 we encounter + # an "Item Delimitation" fffe|e00d followed by a + # "Sequence Delimitation Item" fffe|e0dd just after the tag 0028|3006 # * looks like an ACR-NEMA V2 [allthough no "Recognition Code" # (0x0008, 0x0010) is present]. 0008|0070 "Kodak " # Manufacturer @@ -954,14 +1041,15 @@ 0028|0102 "11" # High Bit 0028|0103 "0" # Pixel Representation 0008|0060 "CT" # Modality - 0009|0010 "gdcm::Loaded (BinEntry)" # Unknown + 0009|0010 "gdcm::Binary data loaded" # Unknown 7fe0|0010 "gdcm::NotLoaded Address:5064 Length:524288 x(80000)" ] [ ACUSON-8-YBR_FULL-JPEG-TrailingInfo.dcm # - Particularities: - # * has some trailing (after the pixel data) info with tag "fffc|fffc", + # * has some trailing (after the pixel data) info with tag fffc|fffc, # VR of "OB", length = 1722 = 0x6ba + # * contains a "Sequence of Ultrasound Regions" at tag 0018|6011 0008|0070 "ACUSON" # Manufacturer 0028|0101 "8" # Bits Stored 0028|0004 "YBR_FULL_422" # Photometric Interpretation @@ -974,7 +1062,7 @@ # process (1) 0008|0060 "US" # Modality 7fe0|0010 "gdcm::NotLoaded Address:2288 Length:1513128 x(1716a8)" - fffc|fffc "gdcm::Loaded (BinEntry)" # Trailing info ! + fffc|fffc "gdcm::Binary data loaded" # Trailing info ! ] [ GE_GENESIS-16-MONO2-WrongLengthItem.dcm @@ -994,16 +1082,136 @@ 7fe0|0010 "gdcm::NotLoaded Address:1930 Length:131072 x(20000)" ] +[ MARCONI_MxTWin-12-MONO2-JpegLossless-ZeroLengthSQ.dcm + # - Particularities: + # * jpeg compression (Process 14 [Selection Value 1]) + # * "Icon Image Sequence" at tag 0088|0200 has 0 (zero) length + 0008|0070 "Marconi " # Manufacturer + 0008|1090 "MxTwin" # Manufacturer's Model Name + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "512" # Rows + 0028|0011 "512" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] + 0008|0060 "CT" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:1916 Length:116517 x(1c725)" +] + +[ THERALYS-12-MONO2-Uncompressed-Even_Length_Tag.dcm + # - Particularities: + # * both tag 0008|0070 ("Manufacturer") and tag 0008|0080 + # "Institution Name" have an even length of 13 bytes. + # * contains a "Referenced Image Sequence" of 0 (zero) length at + # tag 0008|1140 + 0008|0070 "Theralys S.A." # Manufacturer + 0008|1090 "vtkToDicomWriter" # Manufacturer's Model Name + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "256" # Rows + 0028|0011 "256" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0002|0010 "1.2.840.10008.1.2" # Transfer Syntax: Implicit VR, + # Little Endian + 0008|0060 "MR" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:1839 Length:131072 x(20000)" +] + +[ THERALYS-12-MONO2-Uncompressed-E_Film_Template.dcm + # - Particularities: + # * empty image usable as a template to produce efilm readable images + # with the strictly minimum tag set. + # * Given by Theralys + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "256" # Rows + 0028|0011 "256" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0002|0010 "1.2.840.10008.1.2" # Transfer Syntax: Implicit VR, + # Little Endian + 7fe0|0010 "gdcm::NotLoaded Address:1250 Length:131072 x(20000)" +] + +[ GE_GENESIS-16-MONO2-Uncompressed-UnusualVR.dcm + # - Particularities: + # * Many private entries have (perfectly "legal") unusual Value + # Representation (that gdcm interprets a gdcmBinEntries). + # - VR = FL : 0019|105a, 0027|1041...0027|1049, 0027|104a...0027|104d, + # 0027|1060 ... 0027|1062, 0043|1033, 0043|1038 + # - VR = DT : 0019|109d + # - VR = FD : 0023|1070 + # - VR = OB : 0043|1028, 0043|1029, 0043|102a + 0008|0070 "GE MEDICAL SYSTEMS" # Manufacturer + 0008|1090 "GENESIS_SIGNA " # Manufacturer's Model Name + 0028|0101 "16" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "256" # Rows + 0028|0011 "256" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "15" # High Bit + 0028|0103 "1" # Pixel Representation + 0002|0010 "1.2.840.10008.1.2.1 " # Transfer Syntax: Explicit VR, LE + 0008|0060 "MR" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:9666 Length:131072 x(20000)" +] + +############################################################ +### Sequence related images. +############################################################ +[ SIEMENS_Sonata-12-MONO2-SQ.dcm + # - Particularities: + # * contains a "Referenced Performed Procedure Step Sequence" at + # tag 0008|1111, + # * contains a "Referenced Image Sequence" at tag 0008|1140 + # has a size of 8 bytes (i.e. it contains FOUR short integers) + 0008|0070 "SIEMENS " # Manufacturer + 0008|1090 "Sonata" # Manufacturer's Model Name + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "192" # Rows + 0028|0011 "192" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0028|0103 "0" # Pixel Representation + 0002|0010 "1.2.840.10008.1.2.1" # Transfer Syntax: Explicit VR, LE + 0008|0060 "MR" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:51804 Length:73728 x(12000)" +] + +[ ALOKA_SSD-8-MONO2-RLE-SQ.dcm + # - Particularities: + # * contains a "Sequence of Ultrasound Regions " at tag 0018|6011 + 0008|0070 "ALOKA CO., LTD. " # Manufacturer + 0008|1090 "SSD-5000" # Manufacturer's Model Name + 0028|0101 "8" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "420" # Rows + 0028|0011 "608" # Columns + 0028|0100 "8" # Bits Allocated + 0028|0102 "7" # High Bit + 0002|0010 "1.2.840.10008.1.2.5" # RLE Lossless + 0008|0060 "US" # Modality + 7fe0|0010 "gdcm::NotLoaded Address:1398 Length:128088 x(1f458)" +] + ############################################################ ### Jpeg compressed images. ############################################################ [ gdcm-JPEG-Extended.dcm # - Particularities: + # * contains a "Referenced Image Sequence" of length 0xffff at + # tag 0008|1140, + # * contains a "Source Image Sequence" of length 0xffff at + # tag 0008|2112, # * jpeg compression [Extended Process (2,4)] # * probably contains additional data after the pixels (see comments # of the gdcm-JPEG-LossLess3a.dcm entry) - # * contains OB private fields (19 10b0, 21 1011, 29 1008, 29 1009, - # 29 1010, 29 1131, 29 1134) + # * contains OB private fields at tags 0019|10b0, 0021|1011, 0029|1008, + # 0029|1009, 0029|1010, 0029|1131, 0029|1134. 0008|0070 "SIEMENS " # Manufacturer 0008|1090 "Volume Zoom " # Manufacturer's Model Name 0028|0101 "12" # Bits Stored @@ -1065,7 +1273,7 @@ # * jpeg compression [Lossless, hierar., first-order prediction # (Process 14, Selection Value 1) ] # * contains additional data after the pixels (see below) - # * contains a sequence at tag (0x0008, 0x2112) + # * contains a "Source Image Sequence" tag at 0008|2112 0008|0070 "SIEMENS " # Manufacturer 0008|1090 "Volume Zoom " # Manufacturer's Model Name 0028|0101 "12" # Bits Stored @@ -1075,8 +1283,8 @@ 0028|0100 "16" # Bits Allocated 0028|0102 "11" # High Bit 0028|0103 "0" # Pixel Representation - 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg extended - # process (2,4) + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] 0008|0060 "CT" # Modality # It looks like the pixel data are corrupted: # As stated by "od -A d -c" @@ -1130,8 +1338,8 @@ 0028|0100 "16" # Bits Allocated 0028|0102 "14" # High Bit 0028|0103 "0" # Pixel Representation - 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg extended - # process (2,4) + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] 0008|0060 "CR" # Modality 7fe0|0010 "gdcm::NotLoaded Address:3144 Length:4795668 x(492d14)" ] @@ -1157,6 +1365,29 @@ 7fe0|0010 "gdcm::NotLoaded Address:5956 Length:46602 x(b60a)" ] +[ PHILIPS_Gyroscan-12-MONO2-Jpeg_Lossless.dcm + # - Particularities: + # * jpeg lossless, Non-Hierarchical, First-Order Prediction, + # compression [Process 14 (Selection Value 1)] + # * many (roughly 8) sequences, among which: + # - one with 0 (zero) length at tag 0029|204c/0#0029|28e0 + # - many with length 0xffff + 0008|0070 "Philips Medical Systems " # Manufacturer + 0008|1090 "Gyroscan Intera " # Manufacturer's Model Name + 0028|0101 "12" # Bits Stored + 0028|0004 "MONOCHROME2 " # Photometric Interpretation + 0028|0010 "256" # Rows + 0028|0011 "256" # Columns + 0028|0100 "16" # Bits Allocated + 0028|0102 "11" # High Bit + 0028|0103 "0" # Pixel Representation + 0002|0010 "1.2.840.10008.1.2.4.70" # Transfer Syntax: jpeg Lossless, + # ... Process 14 [Selection Value 1] + 0008|0060 "MR" # Modality + 0008|0010 "ACR-NEMA 1.0" # Recognition Code (RET) + # 7fe0|0010 Not present. +] + ########################################################################### # All the following files come from the LeadTools site (see # http://www.leadtools.com/SDK/Medical/DICOM/ltdc19.htm ) @@ -1192,6 +1423,7 @@ 0028|0004 "PALETTE COLOR " # Photometric Interpretation 0028|0100 "8" # Bits Allocated 0028|0102 "7" # High Bit + 0028|0006 "2" # Planar Configuration 0002|0010 "1.2.840.10008.1.2.5" # Transfer Syntax: RLE Lossless # No "7fe0|0010" ] @@ -1304,224 +1536,133 @@ ] ########################################################################### -### JPR -### Images present in gdcmData but whose peculiarity is not documented +### LIBIDO format images +### The libido format is an "extension" of the old ACRNEMA version 1.1 +### format. It was "designed" to embed images of float or double type +### (in the sense of the C language) within the ACRNEMA format. +### LIBIDO images are typically used as a temporary container for +### observing the internal stages of a computation image pipeline +### (i.e. some kind of file watch point), with a shallow compatibility +### with the ACRNEMA format. By shallow compatibility we mean that +### a classical DICOM viewer has no knowledge of the LIBIDO format +### and hence cannot display it (how to display a "double" image anyhow). +### Very few tags are available (e.g. no "Manufacturer" related +### info, no medical information). +### LIBIDO images can be recognized by their "Recognition Code" ########################################################################### -# 00191113.dcm -# 012345.002.050.dcm -# 3E768EB7.dcm -# 8078283Leonardo.dcm # Comes from Siemens LEONARDO console, while producing buggy headered images -# canadaAloka.dcm -# DermaColorLossLess.dcm -# DICOMDIR -# emptyImage.dcm # used by Theralys as a template to produce as-little-header-as-possible efilm readable images -# FMAG0001.dcm #Has trailing info (fffc|fffc OB lg=4da) -# QMAG0001.dcm -# fromTheralys.dcm # has a 13 bytes length item ! -# 9000001.dcm -# IMG00001.dcm # has many Private BinEntries (VR, DT, FD, OB) -# FL 19 105a, DT 19 109d, FD 23 1070, FL 27 1041, FL 27 1042, FL 27 1043, -# FL 27 1044, -# FL 27 1045, FL 27 1046, FL 27 1047, FL 27 1048, FL 27 1049, FL 27 104a, -# FL 27 104b, FL 27 104c, FL 27 104d, FL 27 1060, FL 27 1061, FL 27 1062, -# OB 43 1028 ,OB 43 1029 ,OB 43 102a ,FL 43 1033 ,FL 43 1038 - -# lena128x128.acr # ACR-LibIDO image. gdcm *can* read it! -# mriThruVPRO.dcm -# MxTwinLossLess.dcm -# RadBWLossLess.dcm -# test.acr -# volSten.acr # is an ACR 'volume" (has a Number of Planes, not Number of Frames) -# xa_integris.dcm #Has trailing info (fffc|fffc OB lg=622) +[ LIBIDO-16-ACR_NEMA-Volume.dcm + # - Particularities: + # * this file represents a "volume" i.e. it has a "Number of Planes", + # (but no "Number of Frames") + 0008|0010 "ACRNEMA_LIBIDO_1.1" # Recognition Code (RET) + 0028|0005 "3" # Image Dimensions (RET) + 0028|0010 "50" # Rows + 0028|0011 "50" # Columns + 0028|0012 "262" # Planes + 0028|0101 "16" # Bits Stored + 0028|0100 "16" # Bits Allocated + 0028|0102 "15" # High Bit + 0028|0103 "0" # Pixel Representation + 7fe0|0010 "gdcm::NotLoaded Address:210 Length:1310000 x(13fd30)" +] + +[ LIBIDO-24-ACR_NEMA-Rectangle.dcm + # FIXME TODO \todo + # The Rows and Columns presence breaks this test !!! + # + # - Particularities: + # * RGB encoding (24 bits). + # * Rectangle image : 100x400 + 0008|0010 "ACRNEMA_LIBIDO_1.1" # Recognition Code (RET) + 0028|0005 "2" # Image Dimensions (RET) + #0028|0010 "100" # Rows + #0028|0011 "400" # Columns + 0028|0101 "24" # Bits Stored + 0028|0100 "24" # Bits Allocated + 0028|0102 "23" # High Bit + 0028|0103 "0" # Pixel Representation + 7fe0|0010 "gdcm::NotLoaded Address:182 Length:120000 x(1d4c0)" +] + +[ LIBIDO-8-ACR_NEMA-Lena_128_128.acr + # FIXME TODO \todo + # The Rows and Columns presence breaks this test !!! + # + # - Particularities: + # * the classical lena image (with size 128x128), recoded as LIBIDO image + 0008|0010 "ACRNEMA_LIBIDO_1.1" # Recognition Code (RET) + 0028|0005 "2" # Image Dimensions (RET) + #0028|0010 "128" # Rows + #0028|0011 "128" # Columns + 0028|0101 "8" # Bits Stored + 0028|0100 "8" # Bits Allocated + 0028|0102 "7" # High Bit + 0028|0103 "0" # Pixel Representation + 7fe0|0010 "gdcm::NotLoaded Address:182 Length:16384 x(4000)" +] ########################################################################### -### JPR -# Images NOT in gdcmData anymore (lost, renamed or not commited ???) -# ==> I removed from the list the images I found with a new name . JPR -############################################################################# -# jpeglossles1.dcm -# Jpeg LossLess -# True Dicom -# Explicit VR -# SQ en (0008,2112) -# contient peut etre (?!) des curiosités apres les Pixels -# -# -# US.1.3.dcm -# Ces deux examens, correspondant a 2 patients differents ont le meme Study ID -# -# acusson.dcm -# Echographie single Frame -# True Dicom -# Explicit VR -# 3 LUT (R, G, B) -# -# -# sonata.dcm -# IRM Siemens Sonata (images taggees) -# SQ en (0008,1140),contenant (0008,1150), (0008,1155) 3 fois -# -# imageEcat.ecat -# Image au format ECAT (Medecine Nucleaire) -# On n'y echapera pas encore tres longtemps, a celles la :-( -# -# -# ------------------------------------ -# -# Sequence related images -# ======================= -# -# "peacefull images" -# ------------------ -# -#canadaAloka.dcm 2 # 0018|6011 x(2f6) [Sequence of Ultrasound Regions ] ffff -# -#CLIP0001-Sequoia-U11.dcm # 0018|6011 [Sequence of Ultrasound Regions ] -# -#cr172241.dcm 2 # 0028|3000 x(344) [Modality LUT Sequence] -# -#fromTheralys.dcm 2 # 0008|1140 x(2f1) [Referenced Image Sequence] -# -#gdcm-CR-DCMTK-16-NonSamplePerPix.dcm 2 # 0008|1140 x(39a) [Referenced Image Sequence] -# # 0008|2112 x(440) [Source Image Sequence] -# -#gdcm-JPEG-Extended.dcm # ffff 0008|1140 x(39a) [Referenced Image Sequence] # 'no lentgh' SQ -# # ffff 0008|2112 x(440) [Source Image Sequence] # 'no lentgh' SQ -# -##gdcm-JPEG-LossLess3a.dcm # 0008|2112 x(378) [Source Image Sequence] -# -#gdcm-MR-PHILIPS-16.dcm # 0008|1140 x(33c) [Referenced Image Sequence] -# -#I9000001.dcm # ffff 0028|6100 x(c0e) [Mask Subtraction Sequence] # 'no lentgh' SQ -# # ffff 0050|0010 x(c74) [Device Sequence] # 'no lentgh' SQ -# -#multiframe2GE.dcm # 0028|6100 x(3e) [Mask Subtraction Sequence] -# # 0050|0010 x(3c) [Device Sequence] -# -#irmPhlipsNew1.dcm # 0008|1140 x(33c) [Referenced Image Sequence] -# -#multiframe1Integris.dcm # 0028|3000 x(66c) [Modality LUT Sequence] -# -#QMAG0001.dcm # 0008|2112 x(2ac) [Source Image Sequence] -# # 0018|6011 x(3b6) [Sequence of Ultrasound Regions ] -# -#US.1.2.dcm # 0018|6011 x(4b8) [Sequence of Ultrasound Regions ] -# -#sonataMonaco.dcm # 0008|1140 x(35a) [Referenced Image Sequence] -# -#xa_integris.dcm # 0008|1111 x(32c) [Referenced Performed Procedure Step Sequence] -# # 0029|fd00 x(674) [unkn] -# -#E00001S03I0015.dcm # 0008|1111 x(342) [Referenced Performed Procedure Step Sequence] [] -# # 0008|1140 x(3ac) [Referenced Image Sequence] -# -#3E768EB7.dcm +### A Philips Intera (NTSCAN) image. It has a private dicom sequence where the +### field is being flip to BigEndian for no reason. +### Thanks to Peter Cech for providing images and patch ! +########################################################################### +[ PHILIPS_Intera-16-MONO2-Uncompress.dcm + # - Particularities: + # Sequence difficult to read since we need to flip reading to BigEndian + # Only during the reading of the private sequence. + 0008|0070 "Philips Medical Systems " # Manufacturer + 0008|1090 "Intera" # Manufacturer's Model Name + 0008|1010 "NTSCAN" # Station Name + 0028|0010 "1024" # Rows + 0028|0011 "1024" # Columns + 0028|2110 "00" # Lossy Image Compression + 0018|1250 "SENSE-head" # Receive Coil Name + # 0029|2021/0#0029|246a "DICOM " # not accessible for the current + # state of the API since this tag + # lives within a sequence + 2005|e027 "MAXIMUM " # unkn + 7fe0|0010 "gdcm::NotLoaded Address:9276 Length:2097152 x(200000)" +] + +########################################################################### +### A GE LOGIQBook 8Bits RGB with huge preview and a small preview +########################################################################### +[ GE_LOGIQBook-8-RGB-HugePreview.dcm + # - Particularities: + # A Huge Preview and a small preview + 0008|0070 "GE Medical Systems" # Manufacturer + 0008|1090 "LOGIQBook " # Manufacturer's Model Name + 0008|1010 "LOGIQBOOK " # Station Name + 0028|0010 "480" # Rows + 0028|0011 "640" # Columns + 6003|0010 "GEMS_Ultrasound_ImageGroup_001" # unkn + 7fe0|0010 "gdcm::NotLoaded Address:935608 Length:921600 x(e1000)" + # Just for fun: + #7fe1|0010 "GEMS_Ultrasound_MovieGroup_001" # unkn +] + +########################################################################### +### Documented images not yet integrated in the test suite +########################################################################### # -# Horror Picture Show -# ------------------- # -#gdcm-MR-PHILIPS-16-NonRectPix.dcm # 22 SQ, embedded SQ -# # with O length sequ -# -##mriThruVPRO.dcm # 7 SQ ffffffff length -# # with O length sequ -# -#MxTwinLossLess.dcm # 0088|0200 x(59c) [Icon Image Sequence] -# # with O length sequ # -#icone.dcm # SQ ffffffff length -# # 0008|2112 x(264) [Source Image Sequence] -# # with 130 useless Items (?!) -# # 0088|0200 x(362a) [Icon Image Sequence] -# # with Item Delimitation Item e00d -# # with Sequence Delimitation Item e0dd -# -#Wrist.pap # PAPYRUS 3.0 image (gdcm Parsable, not gdcm readable -> missing feature) -#cinecard.pap # PAPYRUS 3.0 multiframe (gdcm Parsable, not gdcm readable) + +########################################################################### +### Images present in gdcmData but whose peculiarity is not documented yet +########################################################################### +# 00191113.dcm #Jpeg Lossless 4 frames X-Ray Angiography # +# 012345.002.050.dcm # a lot of FL and FD entries in sahdow group 0027 # +# 3E768EB7.dcm # jpeg lossless, empty Basic Offset Table Item Length =4 # -# COLOR images. -# ============ +# DermaColorLossLess.dcm # native RBG image # +# DICOMDIR #small DICOMDIR (4 patients, 1561 first-level SQItems, +# embedded second level sequences at 0008|1140) # -#RGB -# --- +# RadBWLossLess.dcm # jpeg lossless, empty Basic Offset Table Item Length= 0 # -# 8BitsUncompressedColor.dcm # dimx=800 dimy=535 +# test.acr #ACR-LibIDO formated image. Was used as a test image by testSuite # -# US-RGB-8-epicard.dcm -#echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=1" -#echo " PhotometricInterpretation=RGB" -# dimx=640 dimy=480 - -# US-RGB-8-esopecho.dcm -#echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=0" -#echo " PhotometricInterpretation=RGB" -#dimx=256 dimy=120 - -# gdcm-RGB-LibIDORect.acr -#DIMX=400 DIMY=100 - -#YBR_FULL_422 -#------------ - -# US.3405.1.dcm r -# echo "expected pixelType=8U SamplesPerPixel=1 PlanarConfiguration=0" -# echo " PhotometricInterpretation=RGB" -# DIMX=768 DIMY=576 - -# US.1.2.dcm -#echo "expected : A lot of Fragments (40), nb Frames = 40 ;-)" -#echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=0" -#echo " PhotometricInterpretation=YBR_FULL_422" -#affim filein=US.1.2.dcm.raw DIMX=768 DIMY=576 nbit=24 -#affim filein=US.1.2.dcm.raw DIMX=768 DIMY=576 nbit=24 offset=13271040 -#affim filein=US.1.2.dcm.raw DIMX=768 DIMY=576 nbit=24 offset=39813120 - - -#PALETTE COLOR -#------------- - -# gdcm-US-ALOKA-16.dcm -#echo "expected pixelType=16U SamplesPerPixel=1 PlanarConfiguration=0" -#echo " PhotometricInterpretation=PALETTE COLOR" -#echo "expected : Gray image since 'Segmented xxx Palette Color LUT Data' not yet taken into account" -#echo "neither e-film no DicomWorks deals with the color" -#echo "breaks xmedcon" -#ls -l gdcm-US-ALOKA-16.dcm* -#echo "expected 1843200 (large enough to hold 3 16-bits planes)" -#affim dimx=640 dimy=480 filein=gdcm-US-ALOKA-16.dcm.raw nbit=16 - -# US-PAL-8-10x-echo.dcm -#echo "expected pixelType=8U SamplesPerPixel=1 PlanarConfiguration=0" -#echo " PhotometricInterpretation=PALETTE COLOR" -#echo " nb Frames (DIMZ): 10" -#echo "expected : Parsing 10 'single fragment' Segments" -#echo " Reading 10 'single fragment' Segments (ouf!)" -#affim filein=US-PAL-8-10x-echo.dcm.raw DIMX=600 DIMY=430 nbit=24 -#affim filein=US-PAL-8-10x-echo.dcm.raw DIMX=600 DIMY=430 nbit=24 offset=774000 - -# 8BitsRunLengthColor.dcm -#echo "expected pixelType=8U SamplesPerPixel=1 PlanarConfiguration=2" -#echo " PhotometricInterpretation=PALETTE COLOR" -#affim filein=8BitsRunLengthColor.dcm.raw DIMX=800 DIMY=535 nbit=24 - -# OT-PAL-8-face.dcm -#echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=1" -#echo " PhotometricInterpretation=PALETTE COLOR" -#affim filein=OT-PAL-8-face.dcm.raw dimx=640 dimy=480 nbit=24 - -#YBR_FULL -#-------- -# FMAG0001.dcm -#echo "expected pixelType=8U SamplesPerPixel=3" -#echo " PlanarConfiguration=1 PhotometricInterpretation=YBR_FULL" -#echo " nb Frames (DIMZ) : 1" -#affim filein=FMAG0001.dcm.raw DIMX=768 DIMY=576 nbit=24 - - -# QMAG0001.dcm -#echo "expected pixelType=8U SamplesPerPixel=3" -#echo " PlanarConfiguration=1 PhotometricInterpretation=YBR_FULL" -#affim filein=QMAG0001.dcm.raw DIMX=384 DIMY=288 nbit=24;