comparison Tests/Tests.py @ 79:962274ebd797

test_raw_frame
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 07 Mar 2016 17:43:33 +0100
parents b89af51797ff
children 8466dbfcb22b
comparison
equal deleted inserted replaced
78:b89af51797ff 79:962274ebd797
1355 self.assertTrue('find-series' in DoGet(_REMOTE, '/modalities/orthanctest')) 1355 self.assertTrue('find-series' in DoGet(_REMOTE, '/modalities/orthanctest'))
1356 self.assertTrue('find-study' in DoGet(_REMOTE, '/modalities/orthanctest')) 1356 self.assertTrue('find-study' in DoGet(_REMOTE, '/modalities/orthanctest'))
1357 self.assertTrue('store' in DoGet(_REMOTE, '/modalities/orthanctest')) 1357 self.assertTrue('store' in DoGet(_REMOTE, '/modalities/orthanctest'))
1358 self.assertTrue('store' in DoGet(_REMOTE, '/peers/peer')) 1358 self.assertTrue('store' in DoGet(_REMOTE, '/peers/peer'))
1359 self.assertTrue('matlab' in DoGet(_REMOTE, '/instances/%s/frames/0' % a)) 1359 self.assertTrue('matlab' in DoGet(_REMOTE, '/instances/%s/frames/0' % a))
1360 self.assertTrue('raw' in DoGet(_REMOTE, '/instances/%s/frames/0' % a))
1360 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/tools/nope')) 1361 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/tools/nope'))
1361 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/nope')) 1362 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/nope'))
1362 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/nope/nope.html')) 1363 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/nope/nope.html'))
1363 self.assertEqual(404, DoGetRaw(_REMOTE, '/nope')[0].status) 1364 self.assertEqual(404, DoGetRaw(_REMOTE, '/nope')[0].status)
1364 self.assertEqual(404, DoGetRaw(_REMOTE, '/nope/nope.html')[0].status) 1365 self.assertEqual(404, DoGetRaw(_REMOTE, '/nope/nope.html')[0].status)
2759 Check('1.2.840.10008.1.2.4.81', '801579ae7cbf28e604ea74f2c99fa2ca') 2760 Check('1.2.840.10008.1.2.4.81', '801579ae7cbf28e604ea74f2c99fa2ca')
2760 Check('1.2.840.10008.1.2.5', '6ff51ae525d362e0d04f550a64075a0e') # RLE, supported since Orthanc 1.0.1 2761 Check('1.2.840.10008.1.2.5', '6ff51ae525d362e0d04f550a64075a0e') # RLE, supported since Orthanc 1.0.1
2761 Check('1.2.840.10008.1.2', 'd54aed9f67a100984b42942cc2e9939b') 2762 Check('1.2.840.10008.1.2', 'd54aed9f67a100984b42942cc2e9939b')
2762 Check('1.2.840.10008.1.2.4.90', None) # JPEG-2000 image, not supported 2763 Check('1.2.840.10008.1.2.4.90', None) # JPEG-2000 image, not supported
2763 Check('1.2.840.10008.1.2.4.91', None) # JPEG-2000 image, not supported 2764 Check('1.2.840.10008.1.2.4.91', None) # JPEG-2000 image, not supported
2765
2766
2767 def test_raw_frame(self):
2768 s = UploadInstance(_REMOTE, 'Issue22.dcm')['ID']
2769 self.assertEqual(24, len(DoGet(_REMOTE, '/instances/%s/frames' % s)))
2770 a = DoGet(_REMOTE, '/instances/%s/frames/0/raw' % s)
2771 self.assertEqual(512 * 512 * 2, len(a))
2772 self.assertEqual(512 * 512 * 2, len(DoGet(_REMOTE, '/instances/%s/frames/23/raw' % s)))
2773 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/frames/24/raw' % s))
2774 self.assertEqual('1914287dc4d958eca21fdaacfb3482fa', ComputeMD5(a))
2775
2776 s = UploadInstance(_REMOTE, 'Multiframe.dcm')['ID']
2777 self.assertEqual(76, len(DoGet(_REMOTE, '/instances/%s/frames' % s)))
2778 self.assertEqual(186274, len(DoGet(_REMOTE, '/instances/%s/frames/0/raw' % s)))
2779 self.assertEqual(189424, len(DoGet(_REMOTE, '/instances/%s/frames/75/raw' % s)))
2780 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/frames/76/raw' % s))
2781 im = GetImage(_REMOTE, '/instances/%s/frames/0/raw' % s)
2782 self.assertEqual("L", im.mode)
2783 self.assertEqual(512, im.size[0])
2784 self.assertEqual(512, im.size[1])
2785
2786 # Test an image with 2 JPEG frames spread over multiple fragments
2787 s = UploadInstance(_REMOTE, 'LenaTwiceWithFragments.dcm')['ID']
2788 self.assertEqual(2, len(DoGet(_REMOTE, '/instances/%s/frames' % s)))
2789 a = DoGet(_REMOTE, '/instances/%s/frames/0/raw' % s)
2790 b = DoGet(_REMOTE, '/instances/%s/frames/1/raw' % s)
2791 self.assertEqual(69214, len(a))
2792 self.assertEqual(ComputeMD5(a), ComputeMD5(b))
2793 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/frames/2/raw' % s))
2794 im = GetImage(_REMOTE, '/instances/%s/frames/0/raw' % s)
2795 self.assertEqual("RGB", im.mode)
2796 self.assertEqual(512, im.size[0])
2797 self.assertEqual(512, im.size[1])
2798 im = GetImage(_REMOTE, '/instances/%s/frames/0/preview' % s)
2799 self.assertEqual("RGB", im.mode)
2800 self.assertEqual(512, im.size[0])
2801 self.assertEqual(512, im.size[1])