]> Creatis software - gdcm.git/blobdiff - gdcmPython/testSuite.py
* gdcmPython/testSuite.py checks on CR-MONO1-10-chest.dcm moved to
[gdcm.git] / gdcmPython / testSuite.py
index f43c216dd2422c42a14212d3ca15f175f86c3e9e..8dcc6007f1fa3bba861f1a4d89bd10666aa03e28 100644 (file)
@@ -1,7 +1,10 @@
 import unittest
 import os
 from gdcmPython import *
-from vtkgdcmPython import *
+if os.name == 'posix':
+   from libvtkgdcmPython import *
+else:
+   from vtkgdcmPython import *
 
 class gdcmTestCase(unittest.TestCase):
    # The files whose name starts with a modality (e.g. CR-MONO1-10-chest.dcm)
@@ -9,37 +12,8 @@ class gdcmTestCase(unittest.TestCase):
    # http://www.barre.nom.fr/medical/samples/index.html
    BarreFiles = [
       ####################################
-      # CR modality examples:
-      ####################################
-      ["CR-MONO1-10-chest.dcm",
-         [ ["Modality", "CR"],
-           #"Transfer Syntax UID" is absent.
-           ["Rows", "440"],
-           ["Columns", "440"],
-           ["Bits Stored", "10"],
-           ["Bits Allocated", "16"],
-           ["High Bit", "9"],
-           ["Pixel Representation", "0"],
-           ["Manufacturer", "FUJI PHOTO FILM CO. LTD."],
-           ["Manufacturer's Model Name", "9000"],
-           ["Pixel Data", "gdcm::NotLoaded. Address:776 Length:387200 x(5e880)"]
-                       ] ],
-      ####################################
       # CT modality examples:
       ####################################
-      ["CT-MONO2-16-brain.dcm",
-         [ ["Transfer Syntax UID", "1.2.840.10008.1.2.1"],  # Explicit VR, LE
-           ["Modality", "CT"],
-           ["Rows", "512"],
-           ["Columns", "512"],
-           ["Bits Stored", "16"],
-           ["Bits Allocated", "16"],
-           ["High Bit", "15"],
-           ["Pixel Representation", "1"],
-           ["Manufacturer", "Picker International, Inc."],
-           ["Manufacturer's Model Name", "PQ5000"],
-           ["Pixel Data", "gdcm::NotLoaded. Address:1680 Length:524288 x(80000)"]
-                         ] ],
       ["CT-MONO2-16-ort.dcm",
          [ ["Transfer Syntax UID", "1.2.840.10008.1.2"],  # Implicit VR, LE
            ["Modality", "CT"],
@@ -78,7 +52,7 @@ class gdcmTestCase(unittest.TestCase):
            ["Manufacturer", "FUJI"],
            ["Pixel Data", "gdcm::NotLoaded. Address:796 Length:262144 x(40000)"]
                          ] ],
-      ["CT-MONO2-12-lomb-an2.acr2",
+      ["CT-MONO2-12-lomb-an2.acr",
          [ ["Modality", "CT"],
            #"Transfer Syntax UID" and "Photometric Interpretation" are absent.
            ["Rows", "512"],
@@ -106,7 +80,7 @@ class gdcmTestCase(unittest.TestCase):
       ####################################
       ### MR modality examples:
       ####################################
-      ["MR-MONO2-12-angio-an1.acr1",
+      ["MR-MONO2-12-angio-an1.acr",
          [ ["Recognition Code (RET)", "ACR-NEMA 1.0"],
            ["Modality", "MR"],
            #"Transfer Syntax UID" and "Photometric Interpretation" are absent.
@@ -120,7 +94,7 @@ class gdcmTestCase(unittest.TestCase):
            # Note: 256*256*12/8 = 98304
            ["Pixel Data", "gdcm::NotLoaded. Address:650 Length:98304 x(18000)"]
                          ] ],
-      ["MR-MONO2-12-an2.acr2",
+      ["MR-MONO2-12-an2.acr",
          [ ["Modality", "MR"],
            ["Photometric Interpretation", "MONOCHROME2"],
            ["Rows", "256"],
@@ -307,7 +281,7 @@ class gdcmTestCase(unittest.TestCase):
    ]
 
    GdcmFiles = [
-      ["gdcm-MR-SIEMENS-16.acr1",
+      ["gdcm-MR-SIEMENS-16-1.acr",
          # Interest: good old Acr-Nema Version 1, see also Oddities below
          [ ["Recognition Code (RET)", "ACR-NEMA 1.0"],
            ["Modality", "MR"],
@@ -326,7 +300,7 @@ class gdcmTestCase(unittest.TestCase):
            ["Study ID", ""],
            ["Series Number", ""] ] ],
            # Oddities: "Study" and "Serie Instance UID" are not present
-      ["gdcm-MR-SIEMENS-16.acr2",
+      ["gdcm-MR-SIEMENS-16-2.acr",
          # Interest: Acr-Nema Version 2
          [ ["Recognition Code (RET)", "ACR-NEMA 2.0"],
            ["Modality", "MR"],
@@ -536,8 +510,11 @@ class gdcmTestCase(unittest.TestCase):
    def _BaseTest(self, FileSet):
       for entry in FileSet:
          fileName = os.path.join(GDCM_TEST_DATA_PATH, entry[0])
-         toRead = gdcmHeader(fileName)
-         valDict = toRead.GetPubElVal()
+         reader = gdcmHeader(fileName)
+         assert reader.IsReadable(),\
+                "File '%s' is not readable by gdcmHeader" % fileName
+
+         valDict = reader.GetEntry()
          for subEntry in entry[1]:
             element = subEntry[0]
             value   = subEntry[1]
@@ -545,7 +522,6 @@ class gdcmTestCase(unittest.TestCase):
                              ("Wrong %s for file %s (got %s, shoud be %s)"
                              % (element,fileName, valDict[element], value)) )
 
-
    def testBarre(self):
       gdcmTestCase._BaseTest(self, gdcmTestCase.BarreFiles)
 
@@ -558,7 +534,7 @@ class gdcmTestCase(unittest.TestCase):
    def testJpeg(self):
       gdcmTestCase._BaseTest(self, gdcmTestCase.GdcmJpegFiles)
 
-   def testWrite(self):
+   def ZOBtestWrite(self):
       import md5
       SourceFileName = os.path.join(GDCM_TEST_DATA_PATH,
                                     'gdcm-MR-PHILIPS-16-Multi-Seq.dcm')
@@ -566,8 +542,8 @@ class gdcmTestCase(unittest.TestCase):
       Source.GetImageData()
       TargetFileName = "junk"
       Target = Source.WriteDcmImplVR(TargetFileName)
-      # Sign = 'c3d27238647b7eaa773bff6ea0692b54' # old signature in the file
-      Sign = 'a1e2abdc2f6abedd86b93c8b88db5203' # new signature (found on Win)
+#       Sign = 'a1e2abdc2f6abedd86b93c8b88db5203' # new signature (found on Win)
+      Sign = '849e722e004d3bb37b87ab6006509b8f' # new signature without field strip
       ComputeSign = md5.new(open(TargetFileName).read()).hexdigest()
       self.assertEqual(ComputeSign, Sign,
           ("Wrong signature for file %s (got %s, shoud be %s)"