From: jpr Date: Thu, 1 Apr 2004 16:19:15 +0000 (+0000) Subject: general Explicit VR Dicom Write checking, before next earthquake. X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=767b562f104557597322d629eed4946cd995218d;p=gdcmData.git general Explicit VR Dicom Write checking, before next earthquake. (Remaining troubles will be analyzed with next class hierarchy) --- diff --git a/checkWriteExplicit.sh b/checkWriteExplicit.sh new file mode 100644 index 0000000..2fcb294 --- /dev/null +++ b/checkWriteExplicit.sh @@ -0,0 +1,488 @@ +# Check READ +#----------- +# +# We just write XDCM Files and AFFIM them +# to be sure the writting was OK +# +# Sebastien Barre's files have no interest here, since the header is +# a *very clean* ACR-NEMA +# Our pb come from DICOM V3, with SQ, shadow groups, etc. + +# --> EVERYWHERE, with XMEDCOM : +# --> warning: Incorrect OB value representation (fixed) +# --> to be fixed in the WRITER ... + +#No Swap Info +#------------ +testWrite mr176621.dcm x; +PrintHeader mr176621.dcm.XDCM 2; . +v mr176621.dcm.XDCM; # white image +xmedcon mr176621.dcm.XDCM; #breaks because 'DICM" without group 0000 + # Write DCM needs 'CheckFileHeaderConsistency' method + +# No Transfert Syntax +#-------------------- + +#Big Endian +affimdcm filein=cr172241.dcm.XDCM zoom=-4; +xmedcon cr172241.dcm; # OK + +testWrite cr172241.dcm r; +affim filein=cr172241.dcm.RAW nbit=16 DIMX=1792 DIMY=2392; +PrintHeader cr172241.dcm 2; #OK +# But ... : +v cr172241.dcm; # breaks (white image) WHITE IMAGE ?!? + # Doesn't break DaVaW ... +testWrite cr172241.dcm x; +PrintHeader cr172241.dcm.XDCM 2; #OK +xmedcon cr172241.dcm.XDCM; # OK +v cr172241.dcm.XDCM; # breaks ?!? White image ! + + +testWrite cr_45031.dcm x; +v cr_45031.dcm.XDCM; #OK +xmedcon cr_45031.dcm.XDCM; #OK + +testWrite CR-MONO1-10-chest.dcm x; +PrintHeader CR-MONO1-10-chest.dcm.XDCM 2; #OK +v CR-MONO1-10-chest.dcm.XDCM; +xmedcon CR-MONO1-10-chest.dcm.XDCM; #OK + +testWrite CT-MONO2-12-lomb-an2.acr2 x; +PrintHeader CT-MONO2-12-lomb-an2.acr2.XDCM 2; # OK +v CT-MONO2-12-lomb-an2.acr2.XDCM; #OK +xmedcon CT-MONO2-12-lomb-an2.acr2.XDCM; #OK + +xmedcon gdcm-MR-SIEMENS-16.acr1; # Original OK +PrintHeader gdcm-MR-SIEMENS-16.acr1; #OK +testWrite gdcm-MR-SIEMENS-16.acr1 x; +PrintHeader gdcm-MR-SIEMENS-16.acr1.XDCM 2; +v gdcm-MR-SIEMENS-16.acr1.XDCM; +xmedcon gdcm-MR-SIEMENS-16.acr1.XDCM; #breaks error: No images found + +xmedcon gdcm-MR-SIEMENS-16.acr2 #original OK +testWrite gdcm-MR-SIEMENS-16.acr2 x; +PrintHeader gdcm-MR-SIEMENS-16.acr2.XDCM 2; +v gdcm-MR-SIEMENS-16.acr2.XDCM; #OK +xmedcon gdcm-MR-SIEMENS-16.acr2.XDCM; #breaks +#Feb 03 18:50:24 log[4419]: warning: No transfer syntax found +#Feb 03 18:50:24 log[4419]: warning: Tag with uneven length +#Feb 03 18:50:24 log[4419]: error: No images found + +testWrite MR-MONO2-12-an2.acr2 x; +PrintHeader newACR1000.nema.XDCM 2; +v MR-MONO2-12-an2.acr2.XDCM; +xmedcon MR-MONO2-12-an2.acr2.XDCM; # OK warning: Incorrect OB value representation + +testWrite newACR1000.nema x; # == gdcmMR-SIEMENS-16.acr2 +PrintHeader newACR1000.nema.XDCM; #OK +v newACR1000.nema.XDCM; #OK +xmedcon newACR1000.nema.XDCM; # breaks : no image found + +testWrite oldACR00001.ima x; # == gdcm-MR-SIEMENS.16.acr1 +PrintHeader oldACR00001.ima.XDCM; # OK +v oldACR00001.ima.XDCM; #OK +xmedcon oldACR00001.ima.XDCM; # breaks : no image found + +testWrite OT-MONO2-8-a7.dcm x; +v OT-MONO2-8-a7.dcm.XDCM; #OK +xmedcon OT-MONO2-8-a7.dcm.XDCM ; #OK + +#No Samples Per Pixel +#-------------------- +testWrite gdcm-CR-DCMTK-16-NonSamplePerPix.dcm x; +affim filein=gdcm-CR-DCMTK-16-NonSamplePerPix.dcm; +PrintHeader gdcm-CR-DCMTK-16-NonSamplePerPix.dcm.XDCM 2; # OK +v gdcm-CR-DCMTK-16-NonSamplePerPix.dcm.XDCM; #OK +xmedcon gdcm-CR-DCMTK-16-NonSamplePerPix.dcm.XDCM #OK + +#Unnormalized Rectangular LibIDO format image +#-------------------------------------------- +testWrite gdcm-ACR-LibIDO.acr x; +v gdcm-ACR-LibIDO.acr.XDCM; # OK +xmedcon gdcm-ACR-LibIDO.acr.XDCM; #inverts x and y (of course) + +#Bits Allocated =12, Bits Stored=12 +#---------------------------------- +#MR Philips (once upon a time in Lyon-Sud) +testWrite MR-MONO2-12-angio-an1.acr1 x; +v MR-MONO2-12-angio-an1.acr1.XDCM; # shitty image +xmedcon MR-MONO2-12-angio-an1.acr1.XDCM; # pas mieux : warning: Incorrect PixelData length + +#RGB +#--- +testWrite US.3405.1.dcm x; +echo "expected pixelType=8U SamplesPerPixel=1 PlanarConfiguration=0"; +echo " PhotometricInterpretation=RGB"; +v US.3405.1.dcm.XDCM; #OK +xmedcon US.3405.1.dcm.XDCM; #OK + +testWrite OT-PAL-8-face.dcm x; +echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=1"; +echo " PhotometricInterpretation=PALETTE COLOR"; +PrintHeaderOT-PAL-8-face.dcm.XDCM; OK +v OT-PAL-8-face.dcm.XDCM; # seg fault .!? +xmedcon OT-PAL-8-face.dcm.XDCM; #OK + +testWrite 8BitsUncompressedColor.dcm x; +v 8BitsUncompressedColor.dcm.XDCM; # seg fault .!? +xmedcon 8BitsUncompressedColor.dcm.XDCM ; #OK + +# Implicit VR - Little Endian +#----------------------------- + +testWrite CT-MONO2-16-ankle.dcm x; + xmedcon CT-MONO2-16-ankle.dcm.XDCM; #ok + v CT-MONO2-16-ankle.dcm.XDCM; #ok + PrintHeader CT-MONO2-16-ankle.dcm 2; #ok + +testWrite CT-MONO2-16-ort.dcm x; +v CT-MONO2-16-ort.dcm.XDCM; #OK +xmedcon CT-MONO2-16-ort.dcm.XDCM; #OK + + +testWrite CT-MONO2-8-abdo.dcm x; +v CT-MONO2-8-abdo.dcm.XDCM; #OK +xmedcon CT-MONO2-8-abdo.dcm.XDCM; #OK + +testWrite gdcm-MR-PHILIPS-16.dcm x; +PrintHeader gdcm-MR-PHILIPS-16.dcm.XDCM 2; #OK +v gdcm-MR-PHILIPS-16.dcm.XDCM; # OK +xmedcon gdcm-MR-PHILIPS-16.dcm.XDCM; # error: No images found +xmedcon gdcm-MR-PHILIPS-16.dcm; # OK with original image + +testWrite MR-MONO2-16-head.dcm x; +v MR-MONO2-16-head.dcm.XDCM; #OK +xmedcon MR-MONO2-16-head.dcm.XDCM; #OK + +testWrite multiframe1Integris.dcm x; +PrintHeader CT-MONO2-8-abdo.dcm.XDCM 2; #OK +v multiframe1Integris.dcm.XDCM; #OK +xmedcon multiframe1Integris.dcm.XDCM; #breaks No images found +xmedcon multiframe1Integris.dcm; + +testWrite multiframe2GE.dcm x; +v multiframe2GE.dcm.XDCM; #OK +#breaks xmedcon +xmedcon multiframe2GE.dcm.XDCM; #breaks No images found + +v irmPhlipsNew1.dcm; +testWrite irmPhlipsNew1.dcm x; # == gdcm-MR-PHILIPS-16.dcm +v irmPhlipsNew1.dcm.XDCM; #OK +xmedcon irmPhlipsNew1.dcm.XDCM; #breaks : No images found + +#avec imagette (icone) + +v icone.dcm; #OK +PrintHeader icone.dcm 2 | grep fffe; +echo "so many 0xfffe ! (274)" + +testWrite icone.dcm x; +PrintHeader icone.dcm.XDCM 2; +#PrintHeader OK; v OK; breaks xmedcom +v icone.dcm.XDCM; # shitty image +xmedcon icone.dcm.XDCM; #breaks + +#Palette + +# ??? +# 8 Bits ? +# 16 Bits ? + +#Explicit VR - Little Endian +#---------------------------- +testWrite CT-MONO2-16-brain.dcm x; +v CT-MONO2-16-brain.dcm.XDCM; #OK +xmedcon CT-MONO2-16-brain.dcm.XDCM; #OK + +PrintHeader gdcm-MR-PHILIPS-16-Multi-Seq.dcm 2; +xmedcon gdcm-MR-PHILIPS-16-Multi-Seq.dcm #OK :Skip PHILIPS premature item bug +v gdcm-MR-PHILIPS-16-Multi-Seq.dcm; #OK +testWrite gdcm-MR-PHILIPS-16-Multi-Seq.dcm x; +PrintHeader gdcm-MR-PHILIPS-16-Multi-Seq.dcm.XDCM 2; #pixel group missing??!? +#v gdcm-MR-PHILIPS-16-Multi-Seq.dcm.XDCM; #shitty image, ofcourse +xmedcon gdcm-MR-PHILIPS-16-Multi-Seq.dcm.XDCM; # works ?!? + +testWrite gdcm-MR-PHILIPS-16-NonRectPix.dcm x; +v gdcm-MR-PHILIPS-16-NonRectPix.dcm.XDCM; #OK +xmedcon gdcm-MR-PHILIPS-16-NonRectPix.dcm.XDCM; #OK warning: Incorrect sequence length + +testWrite MR-MONO2-8-16x-heart.dcm x; #multiframe # equals to ??? +v MR-MONO2-8-16x-heart.dcm.XDCM; #OK +xmedcon MR-MONO2-8-16x-heart.dcm.XDCM; #OK + +testWrite NM-MONO2-16-13x-heart.dcm x; #multiframe +v NM-MONO2-16-13x-heart.dcm.XDCM; #OK +xmedcon NM-MONO2-16-13x-heart.dcm.XDCM; #OK + +testWrite sonataMonaco.dcm x; +v sonataMonaco.dcm.XDCM; #OK +xmedcon sonataMonaco.dcm.XDCM; #OK + +#MultiFrame +testWrite US-MONO2-8-8x-execho.dcm x; +PrintHeader US-MONO2-8-8x-execho.dcm.XDCM; +v US-MONO2-8-8x-execho.dcm.XDCM; # OK +xmedcon US-MONO2-8-8x-execho.dcm.XDCM; #OK + +#RGB + +testWrite US-RGB-8-epicard.dcm x; +echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=1"; +echo " PhotometricInterpretation=RGB"; +v US-RGB-8-epicard.dcm.XDCM; #OK +xmedcon US-RGB-8-epicard.dcm.XDCM; #OK + +testWrite US-RGB-8-esopecho.dcm x; +echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=0"; +echo " PhotometricInterpretation=RGB", +xmedcon US-RGB-8-esopecho.dcm.XDCM; #OK + +# Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]) +#-------------------------------------------------------------------------- +# (JPEG Lossless) + +testWrite CT-MONO2-16-chest.dcm x; +v CT-MONO2-16-chest.dcm.XDCM; #OK +xmedcon CT-MONO2-16-chest.dcm.XDCM; #OK + +testWrite 012345.002.050.dcm x; +v 012345.002.050.dcm.XDCM; #OK +xmedcon 012345.002.050.dcm.XDCM; #OK + +testWrite gdcm-JPEG-LossLess3a.dcm x; +v gdcm-JPEG-LossLess3a.dcm.XDCM ; #OK +xmedcon gdcm-JPEG-LossLess3a.dcm.XDCM; #OK + +testWrite XA-MONO2-8-12x-catheter.dcm x; +v XA-MONO2-8-12x-catheter.dcm.XDCM; #OK +PrintHeader XA-MONO2-8-12x-catheter.dcm.XDCM 2; +xmedcon XA-MONO2-8-12x-catheter.dcm.XDCM; #OK + +testWrite xa_integris.dcm x; +echo "a lot of fragments expected here"; +v xa_integris.dcm.XDCM #OK +xmedcon xa_integris.dcm.XDCM #OK + +testWrite 16BitsJpegLosslessGrayScale.dcm x; +v 16BitsJpegLosslessGrayScale.dcm.XDCM #OK +xmedcon 16BitsJpegLosslessGrayScale.dcm.XDCM #OK + +#comming from GE dlx via VTServer +v I9000001.dcm; +testWrite I9000001.dcm x; +PrintHeader I9000001.dcm.XDCM 2; # pixel group NOT FOUND ??!?? +#black image +v I9000001.dcm.XDCM; +#no image found +xmedcon I9000001.dcm.XDCM; + +#JPEG Extended (Process 2 & 4) // 16 bits +#----------------------------- +testWrite gdcm-JPEG-Extended.dcm x; +v gdcm-JPEG-Extended.dcm.XDCM; #OK +xmedcon gdcm-JPEG-Extended.dcm.XDCM; #OK + +testWrite jpeglossy1.dcm x; +v jpeglossy1.dcm.XDCM #OK +xmedcon jpeglossy1.dcm.XDCM #OK + +#JPEG Baseline (Process 14) +#-------------------------- +testWrite MR-MONO2-12-shoulder.dcm x; +v MR-MONO2-12-shoulder.dcm.XDCM; #OK +xmedcon MR-MONO2-12-shoulder.dcm.XDCM; #OK + + +#fichier format ecat. +#testWrite imageEcat.ecat r + +#JPEG Lossy 8 bits +#================= +#JPEG Baseline (Process 1) +#------------------------- +# Bracco Files +testWrite US.1.2.dcm x; +echo "expected : A lot of Fragments (40), nb Frames = 40 ;-)"; +echo "expected pixelType=8U SamplesPerPixel=3 PlanarConfiguration=0"; +echo " PhotometricInterpretation=YBR_FULL_422"; +v US.1.2.dcm.XDCM; #OK +xmedcon US.1.2.dcm.XDCM; #OK + +#Sequoia Acusson U11 +testWrite CLIP0001-Sequoia-U11.dcm x; +v CLIP0001-Sequoia-U11.dcm.XDCM; #OK +xmedcon CLIP0001-Sequoia-U11.dcm.XDCM; #OK + +#RLE Lossless +#------------- +testWrite canadaAloka.dcm x; +echo "expected pixelType=8U SamplesPerPixel=1"; +echo " PlanarConfiguration=0 PhotometricInterpretation=MONOCHROME2"; +echo " nb Frames (DIMZ) : 1"; +v canadaAloka.dcm.XDCM; # OK +xmedcon canadaAloka.dcm.XDCM; #OK + +testWrite jpeglossy1.dcm x; # equal to ??? +v jpeglossy1.dcm.XDCM; #OK +xmedcon jpeglossy1.dcm.XDCM; #OK + +testWrite FMAG0001.dcm x; +echo "expected pixelType=8U SamplesPerPixel=3"; +echo " PlanarConfiguration=1 PhotometricInterpretation=YBR_FULL"; +echo " nb Frames (DIMZ) : 1"; +v FMAG0001.dcm.XDCM; #OK +xmedcon FMAG0001.dcm.XDCM; #OK + +v QMAG0001.dcm; #OK +xmedcon QMAG0001.dcm; #original breaks xmedcon + #warning: Unknown PhotometricInterpretation +testWrite QMAG0001.dcm x; +echo "expected pixelType=8U SamplesPerPixel=3"; +echo " PlanarConfiguration=1 PhotometricInterpretation=YBR_FULL"; +v QMAG0001.dcm.XDCM; #OK +xmedcon QMAG0001.dcm.XDCM; #OK + +testWrite US-PAL-8-10x-echo.dcm x; +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!)"; +v US-PAL-8-10x-echo.dcm.XDCM; # SEG FAULT +xmedcon US-PAL-8-10x-echo.dcm.XDCM; #OK + +testWrite 8BitsRunLengthGrayScale.dcm x; +echo "expected : correct Gray image"; +v 8BitsRunLengthGrayScale.dcm.XDCM; #OK +xmedcon 8BitsRunLengthGrayScale.dcm.XDCM; #OK + +testWrite 8BitsRunLengthColor.dcm x; +echo "expected pixelType=8U SamplesPerPixel=1 PlanarConfiguration=2"; +echo " PhotometricInterpretation=PALETTE COLOR"; +v 8BitsRunLengthColor.dcm.XDCM; # SEG FAULT +echo "WAS expected correct color image"; +xmedcon 8BitsRunLengthColor.dcm.XDCM; #OK + +#RLE 16 bits --> Try to find some more images + +testWrite 16BitsRunLengthGrayScale.dcm x; +echo "expected pixelType=16U SamplesPerPixel=1 PlanarConfiguration=0"; +echo " PhotometricInterpretation=MONOCHROME2"; +v 16BitsRunLengthGrayScale.dcm.XDCM; +xmedcon 16BitsRunLengthGrayScale.dcm.XDCM; #OK + +#Were supposed to be bugged +#-------------------------- +#(break xmedcon) +xmedcon 00191113.dcm; #No images found +testWrite 00191113.dcm x; +v 00191113.dcm.XDCM; #OK +xmedcon 00191113.dcm.XDCM; #OK + +xmedcon DermaColorLossLess.dcm; #breaks xmedcon : No images found +testWrite DermaColorLossLess.dcm x; +xmedcon DermaColorLossLess.dcm.XDCM; #breaks xmedcon +#Feb 02 19:33:16 log[2619]: warning: Tag with uneven length +#Feb 02 19:33:16 log[2619]: warning: No transfer syntax found +#Feb 02 19:33:16 log[2619]: error: No images found +v DermaColorLossLess.dcm.XDCM #OK + +#Original breaks xmedcon, affimdcm complian ?! +affimdcm filein=RadBWLossLess.dcm; #OK +v RadBWLossLess.dcm; #OK +xmedcon RadBWLossLess.dcm; # breaks :error: No images found +testWrite RadBWLossLess.dcm x; +v RadBWLossLess.dcm.XDCM; #OK +xmedcon RadBWLossLess.dcm.XDCM; #error: No images found + +#Known as BUGGED ! +#---------------- + +#Rectangular old 24 Bits image +v gdcm-RGB-LibIDORect.acr; # OK +testWrite gdcm-RGB-LibIDORect.acr x; +v gdcm-RGB-LibIDORect.acr.XDCM; +xmedcon gdcm-RGB-LibIDORect.acr.XDCM; # breaks : large Bit Allocated (24) +#TODO transform '24 bit images' into 8 bits + samples per pixel = 3 + +#MR GE GENESIS_SIGNA Palo Alto +testWrite DicomSampleNastyGEImage.dcm x; +echo " expected : warning uneven length (13) for 0008|103e"; +v DicomSampleNastyGEImage.dcm.XDCM; #OK +xmedcon DicomSampleNastyGEImage.dcm.XDCM; #OK + +#MR Philips NTSCAN Hop. Neuro Lyon +PrintHeader philipsMR-lossy.ima #OK +xmedcon philipsMR-lossy.ima; #original breaks xmedcon +v philipsMR-lossy.ima; #Original OK +testWrite philipsMR-lossy.ima x; +echo "WAS expected : 'Bogus Huffman table definition' on philipsMR-lossy.ima"; +echo "IS expected : 'JERR_BAD_HUFF_TABLE sym 16 (>15)' but the show goes on"; +v philipsMR-lossy.ima.XDCM; # BLACK IMAGE +xmedcon philipsMR-lossy.ima.XDCM; #OK + +#CT Siemens Hop. Salengro Lille +testWrite gdcm-JPEG-LossLess3a.dcm x; +echo "expected : wrong sequence delimiter (b00c,0eb6) at end of pixels"; +echo "xmedcon says 'error: Unexpected end of file'"; +vtkgdcmViewer gdcm-JPEG-LossLess3a.dcm.XDCM; #OK; needs 'R' for display +xmedcon gdcm-JPEG-LossLess3a.dcm.XDCM; #OK + +#CR Philips Thoravision Hop Cardio Lyon +affimdcm filein=gdcm-JPEG-LossLessThoravision.dcm; # OK, wrong image as usual +xmedcon gdcm-JPEG-LossLessThoravision.dcm; #original seg faults xmedcon +testWrite gdcm-JPEG-LossLessThoravision.dcm x; #breaks ; +echo "expected : 147 fragments,length : 29860 + 145*32760 + 14416"; +echo "breaks xmedcom, breaks e-film"; +echo "WAS expected : hashed image -with jLBJpeg-"; +echo "IS expected : Seg Fault"; +xmedcon gdcm-JPEG-LossLessThoravision.dcm.XDCM; # NOT CHECKED + +#MR Picker ST. ANTHONY HOSPITAL +testWrite MR.6799.1.dcm x; #equal to ??? +echo "OK; DICOM Image with NO Preamble"; +v MR.6799.1.dcm.XDCM; #OK +xmedcon MR.6799.1.dcm.XDCM; #OK + +#Segmented Palette Color LUT Data +xmedcon gdcm-US-ALOKA-16.dcm; #breaks # Missing CLUT +vtkgdcmViewer gdcm-US-ALOKA-16.dcm3; #OK +testWrite gdcm-US-ALOKA-16.dcm x; +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 nor DicomWorks deals with the color" +echo "breaks xmedcom"; +echo "breaks vtkgdcmViewer (bad result : 24 bits expected; 16 found in Pixels area)"; +vtkgdcmViewer gdcm-US-ALOKA-16.dcm.XDCM; #OK +xmedcon gdcm-US-ALOKA-16.dcm.XDCM; #breaks +#Feb 03 13:40:19 log[26999]: error: Missing CLUT +#Feb 03 13:40:19 log[26999]: error: No images found + +# bugged Siemens 'Leonardo' image +testWrite 8078283Leonardo.dcm x; +xmedcon 8078283Leonardo.dcm.XDCM; #OK + +#CT McTwin Elscint C.H.R.U LILLE C.HURIEZ + xmedcon MxTwinLossLess.dcm; #breaks No images found + v MxTwinLossLess.dcm; #OK + testWrite MxTwinLossLess.dcm x; + v MxTwinLossLess.dcm.XDCM; #OK + xmedcon MxTwinLossLess.dcm.XDCM #breaks + +# MRI image from VPRO burned CD +v mriThruVPRO.dcm; # Tasteless SHIT +xmedcon mriThruVPRO.dcm; # pas mieux +testWrite mriThruVPRO.dcm x; +v mriThruVPRO.dcm.XDCM; +echo "expected : tasteless SHIT !" +echo "breaks Siemens Leonardo viewer . JPEG encoding is bugged?" + +# gdcm made Theralys image +# due to H table, a SeQuence is tagged with 0 length +# when using gdcmFile::WriteDcmXXX +xmedcon fromTheralys.dcm; # Original breaks xmedcon +testWrite fromTheralys.dcm x; +v fromTheralys.dcm.XDCM; # OK +xmedcon fromTheralys.dcm.XDCM; # OK