comparison Tests/Tests.py @ 433:cb579ad96a6c

test_multiframe_windowing
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Aug 2021 18:56:20 +0200
parents f4609c97e995
children 9f87d5b2b382
comparison
equal deleted inserted replaced
432:f4609c97e995 433:cb579ad96a6c
8142 8142
8143 a = GetStudy(DoPost(_REMOTE, '/tools/bulk-modify', { 'Level' : 'Study', 'Resources' : [ study ], 'KeepSource' : False})) 8143 a = GetStudy(DoPost(_REMOTE, '/tools/bulk-modify', { 'Level' : 'Study', 'Resources' : [ study ], 'KeepSource' : False}))
8144 self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) 8144 self.assertEqual(1, len(DoGet(_REMOTE, '/instances')))
8145 DoDelete(_REMOTE, '/studies/%s' % a) 8145 DoDelete(_REMOTE, '/studies/%s' % a)
8146 self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) 8146 self.assertEqual(0, len(DoGet(_REMOTE, '/instances')))
8147
8148
8149 def test_multiframe_windowing(self):
8150 # Fixed in Orthanc 1.9.7
8151 a = UploadInstance(_REMOTE, 'MultiframeWindowing.dcm') ['ID']
8152
8153 im = GetImage(_REMOTE, '/instances/%s/frames/0/rendered?window-center=127&window-width=256' % a)
8154 self.assertEqual(0x00, im.getpixel((0, 0)))
8155 self.assertEqual(0x10, im.getpixel((1, 0)))
8156 self.assertEqual(0x20, im.getpixel((0, 1)))
8157 self.assertEqual(0x30, im.getpixel((1, 1)))
8158
8159 # Center the window on value "16 == 0x10", thus it has the
8160 # mid-level value (i.e. 127)
8161 im = GetImage(_REMOTE, '/instances/%s/frames/0/rendered?window-center=16&window-width=128' % a)
8162 self.assertEqual(127 - 2 * 16, im.getpixel((0, 0)))
8163 self.assertEqual(127, im.getpixel((1, 0)))
8164 self.assertEqual(127 + 2 * 16, im.getpixel((0, 1)))
8165 self.assertEqual(127 + 2 * 32, im.getpixel((1, 1)))
8166
8167 # Window center and window width are burned in FrameVOILUTSequence for frame 0
8168 im = GetImage(_REMOTE, '/instances/%s/frames/0/rendered' % a)
8169 self.assertEqual(127 - 2 * 16, im.getpixel((0, 0)))
8170 self.assertEqual(127, im.getpixel((1, 0)))
8171 self.assertEqual(127 + 2 * 16, im.getpixel((0, 1)))
8172 self.assertEqual(127 + 2 * 32, im.getpixel((1, 1)))
8173
8174 im = GetImage(_REMOTE, '/instances/%s/frames/1/rendered?window-center=127&window-width=256' % a)
8175 self.assertEqual(100, im.getpixel((0, 0)))
8176 self.assertEqual(116, im.getpixel((1, 0)))
8177 self.assertEqual(132, im.getpixel((0, 1)))
8178 self.assertEqual(148, im.getpixel((1, 1)))
8179
8180 im = GetImage(_REMOTE, '/instances/%s/frames/2/rendered?window-center=127&window-width=256' % a)
8181 self.assertEqual(0, im.getpixel((0, 0)))
8182 self.assertEqual(32, im.getpixel((1, 0)))
8183 self.assertEqual(64, im.getpixel((0, 1)))
8184 self.assertEqual(96, im.getpixel((1, 1)))
8185
8186 im = GetImage(_REMOTE, '/instances/%s/frames/3/rendered?window-center=127&window-width=256' % a)
8187 self.assertEqual(100, im.getpixel((0, 0)))
8188 self.assertEqual(132, im.getpixel((1, 0)))
8189 self.assertEqual(164, im.getpixel((0, 1)))
8190 self.assertEqual(196, im.getpixel((1, 1)))
8191
8192 im = GetImage(_REMOTE, '/instances/%s/frames/0/rendered?window-center=16&window-width=128' % a)
8193 self.assertEqual(127 - 2 * 16, im.getpixel((0, 0)))
8194 self.assertEqual(127, im.getpixel((1, 0)))
8195 self.assertEqual(127 + 2 * 16, im.getpixel((0, 1)))
8196 self.assertEqual(127 + 2 * 32, im.getpixel((1, 1)))
8197