comparison Tests/Tests.py @ 107:fddb35f7289d

test_bitbucket_issue_44
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 09 Jun 2017 15:33:14 +0200
parents 7530eb50c3c4
children 7005cdeeb704
comparison
equal deleted inserted replaced
106:a2ba5b4eddc9 107:fddb35f7289d
1601 u = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] 1601 u = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID']
1602 patient = '6816cb19-844d5aee-85245eba-28e841e6-2414fae2' 1602 patient = '6816cb19-844d5aee-85245eba-28e841e6-2414fae2'
1603 study = 'b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0' 1603 study = 'b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0'
1604 series = 'f2635388-f01d497a-15f7c06b-ad7dba06-c4c599fe' 1604 series = 'f2635388-f01d497a-15f7c06b-ad7dba06-c4c599fe'
1605 instance = '66a662ce-7430e543-bad44d47-0dc5a943-ec7a538d' 1605 instance = '66a662ce-7430e543-bad44d47-0dc5a943-ec7a538d'
1606 self.assertEqual(instance, u); 1606 self.assertEqual(instance, u)
1607 1607
1608 a = DoGet(_REMOTE, '/studies/%s/patient' % study) 1608 a = DoGet(_REMOTE, '/studies/%s/patient' % study)
1609 self.assertEqual('Patient', a['Type']) 1609 self.assertEqual('Patient', a['Type'])
1610 self.assertEqual(patient, a['ID']) 1610 self.assertEqual(patient, a['ID'])
1611 1611
3140 def test_httpClient_lua(self): 3140 def test_httpClient_lua(self):
3141 with open(GetDatabasePath('Lua/HttpClient.lua'), 'r') as f: 3141 with open(GetDatabasePath('Lua/HttpClient.lua'), 'r') as f:
3142 result = DoPost(_REMOTE, '/tools/execute-script', f.read(), 'application/lua') 3142 result = DoPost(_REMOTE, '/tools/execute-script', f.read(), 'application/lua')
3143 3143
3144 self.assertIn('OK', result) 3144 self.assertIn('OK', result)
3145
3146
3147 def test_bitbucket_issue_44(self):
3148 # https://bitbucket.org/sjodogne/orthanc/issues/44/bad-interpretation-of-photometric
3149 UploadInstance(_REMOTE, 'Issue44/Monochrome1.dcm')
3150 UploadInstance(_REMOTE, 'Issue44/Monochrome2.dcm')
3151
3152 # dcmcjpeg +ua +eb Monochrome1.dcm Monochrome1-Jpeg.dcm
3153 UploadInstance(_REMOTE, 'Issue44/Monochrome1-Jpeg.dcm')
3154
3155 # dcmcjpeg +ua Monochrome1.dcm Monochrome1-JpegLS.dcm
3156 UploadInstance(_REMOTE, 'Issue44/Monochrome1-JpegLS.dcm')
3157
3158 monochrome1 = 'bcdd600a-a6a9c522-5f0a6e84-8657c9f3-b76e59b7'
3159 monochrome1_jpeg = '9df82121-208a2da8-0038674a-3d7a773b-b7008cd2'
3160 monochrome1_jpegls = '0486d1a2-9165573f-b1976b20-e927b016-6b8d67ab'
3161 monochrome2 = 'f00947b7-f61f7164-c93414d1-c6fbda6a-9e92ed20'
3162
3163 for i in [ monochrome1, monochrome1_jpeg, monochrome1_jpegls ]:
3164 im = GetImage(_REMOTE, '/instances/%s/preview' % i)
3165 self.assertEqual("L", im.mode)
3166 self.assertEqual(2010, im.size[0])
3167 self.assertEqual(2446, im.size[1])
3168
3169 # This is the chest image, with MONOCHROME1. Raw background is
3170 # white (255), should be rendered as black (0) => invert
3171 if i == monochrome1_jpeg:
3172 # Add some tolerance because of JPEG destructive compression
3173 self.assertGreater(10, im.getpixel((0,0)))
3174 else:
3175 self.assertEqual(0, im.getpixel((0,0)))
3176
3177 im = GetImage(_REMOTE, '/instances/%s/preview' % monochrome2)
3178 self.assertEqual("L", im.mode)
3179 self.assertEqual(1572, im.size[0])
3180 self.assertEqual(2010, im.size[1])
3181
3182 # This is the key image, with MONOCHROME2. Raw background is
3183 # white (255), should be rendered as white (255)
3184 self.assertEqual(255, im.getpixel((0,0)))