Mercurial > hg > orthanc-tests
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) |