+# this script creates transcode a DICOM file with all types of compression.
+# it creates one study per compression type
+# note: it has been tested only only on Windows: you would probably just need to update dcmodify into ./dcmodify and gdcmconv into ./gdcmconv to make it work on Linux
+# you must have DCMTK installed and in your path [http://dicom.offis.de/dcmtk.php.en]
+# you must have GDCM installed and in your path [https://github.com/malaterre/GDCM/releases]
+function convertInstance {
+ echo "convertInstanceing to $formatName"
+ dcmodify --no-backup -gin -gse --modify "(0020,000d)=$studyId" --modify "(0008,1030)=$formatName" --insert "(0008,103e)=$formatName" tmp_$target
+ gdcmconv $gdcmOptions -U -i tmp_$target -o $target
+function convertInstanceFile {
+ convertInstance $1 1 raw "--raw"
+ convertInstance $1 2 jpeg "--jpeg"
+ convertInstance $1 3 jpegls "--jpegls"
+ convertInstance $1 4 rle "--rle"
+ convertInstance $1 5 jp2k "--j2k"
+ convertInstance $1 6 jp2klossy100 "--j2k --lossy -q 100"
+ convertInstance $1 7 jp2klossy90 "--j2k --lossy -q 90"
+ convertInstance $1 8 jp2klossy80 "--j2k --lossy -q 80"
+ convertInstance $1 9 jp2klossy75 "--j2k --lossy -q 75"
+ convertInstance $1 10 jp2klossy70 "--j2k --lossy -q 70"
+ convertInstance $1 11 jp2klossy65 "--j2k --lossy -q 65"
+ convertInstance $1 12 jp2klossy60 "--j2k --lossy -q 60"
+ convertInstance $1 13 jp2klossy50 "--j2k --lossy -q 50"
+convertInstanceFile $sourceFile
+# Orthanc does not accept those: convertInstance $1 gzip "--deflated"