Mercurial > hg > orthanc-tests
changeset 932:d7cc1ed1ad65
new tests to decode LUT multiframes
| author | Alain Mazy <am@orthanc.team> |
|---|---|
| date | Wed, 17 Jun 2026 16:05:17 +0200 |
| parents | 1e29700a920f |
| children | 54eb9d9f6e1f |
| files | Database/US-multiframe-RGB48-RAW.dcm Database/US-multiframe-RGB48-RLE.dcm Tests/Tests.py |
| diffstat | 3 files changed, 57 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Tests/Tests.py Tue Jun 16 11:31:07 2026 +0200 +++ b/Tests/Tests.py Wed Jun 17 16:05:17 2026 +0200 @@ -12836,3 +12836,60 @@ } self.assertRaises(Exception, lambda: DoPost(_REMOTE, '/tools/create-dicom', json.dumps(payload))) + + + def test_multiframe_rgb48_raw(self): + if IsOrthancVersionAbove(_REMOTE, 1, 12, 12): + i = UploadInstance(_REMOTE, 'US-multiframe-RGB48-RAW.dcm')['ID'] + + # note: the execution paths are different when we are using GDCM or not (at least in 1.12.11), even if the TS is RAW !!! + # so it is important to test with AND without GDCM (this is done in the orthanc-builder nightly tests) + + im = GetImage(_REMOTE, '/instances/%s/preview' % i) + self.assertEqual("RGB", im.mode) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/preview' % i) + self.assertEqual("RGB", im.mode) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/image-uint16' % i) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/image-uint8' % i) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/rendered' % i) + self.assertEqual("RGB", im.mode) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + + def test_multiframe_rgb48_rle(self): + if IsOrthancVersionAbove(_REMOTE, 1, 12, 12): + i = UploadInstance(_REMOTE, 'US-multiframe-RGB48-RLE.dcm')['ID'] + + # note: the execution paths are different when we are using GDCM or not (at least in 1.12.11), even if the TS is RAW !!! + # so it is important to test with AND without GDCM (this is done in the orthanc-builder nightly tests) + + im = GetImage(_REMOTE, '/instances/%s/preview' % i) + self.assertEqual("RGB", im.mode) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/preview' % i) + self.assertEqual("RGB", im.mode) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/image-uint16' % i) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1]) + + im = GetImage(_REMOTE, '/instances/%s/frames/2/image-uint8' % i) + self.assertEqual(800, im.size[0]) + self.assertEqual(600, im.size[1])
