comparison Tests/Tests.py @ 436:9f87d5b2b382

added test_dicom_seg
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Nov 2021 15:26:37 +0100
parents cb579ad96a6c
children e769bcf2b94f
comparison
equal deleted inserted replaced
435:d8dd920ab4fc 436:9f87d5b2b382
8193 self.assertEqual(127 - 2 * 16, im.getpixel((0, 0))) 8193 self.assertEqual(127 - 2 * 16, im.getpixel((0, 0)))
8194 self.assertEqual(127, im.getpixel((1, 0))) 8194 self.assertEqual(127, im.getpixel((1, 0)))
8195 self.assertEqual(127 + 2 * 16, im.getpixel((0, 1))) 8195 self.assertEqual(127 + 2 * 16, im.getpixel((0, 1)))
8196 self.assertEqual(127 + 2 * 32, im.getpixel((1, 1))) 8196 self.assertEqual(127 + 2 * 32, im.getpixel((1, 1)))
8197 8197
8198
8199 def test_dicom_seg(self):
8200 # This test fails in Orthanc <= 1.9.7
8201 a = UploadInstance(_REMOTE, 'DicomSeg.dcm') ['ID']
8202
8203 self.assertEqual(96, len(DoGet(_REMOTE, '/instances/%s/frames' % a)))
8204 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/frames/96/preview' % a))
8205
8206 nonEmptyFrames = [ 11, 12, 13, 14, 15, 16, 39, 40, 42, 43, 44, 45,
8207 46, 47, 48, 49, 75, 76, 77, 78, 79, 80, 81 ]
8208
8209 for i in range(96):
8210 im = GetImage(_REMOTE, '/instances/%s/frames/%d/preview' % (a, i))
8211 self.assertEqual('L', im.mode)
8212 self.assertEqual(256, im.size[0])
8213 self.assertEqual(256, im.size[1])
8214
8215 e = im.getextrema()
8216 self.assertEqual(0, e[0])
8217
8218 if e[1] == 0:
8219 self.assertFalse(i in nonEmptyFrames)
8220 else:
8221 self.assertTrue(i in nonEmptyFrames)
8222
8223 im1 = GetImage(_REMOTE, '/instances/%s/frames/44/preview' % a)
8224
8225 # Generated by "dcm2pnm +F 45 DicomSeg.dcm DicomSeg-Frame45.pgm"
8226 im2 = Image.open(GetDatabasePath('DicomSeg-Frame45.pgm'))
8227 im2 = im2.point(lambda p: 255 if p == 128 else 0)
8228
8229 self.assertTrue(ImageChops.difference(im1, im2).getbbox() is None)