Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 556:1028b75ac1ce
merge
author | Alain Mazy <am@osimis.io> |
---|---|
date | Tue, 27 Jun 2023 16:41:45 +0200 |
parents | 739cad709a8c ede184638961 |
children | 1cdb14a679f2 |
comparison
equal
deleted
inserted
replaced
555:739cad709a8c | 556:1028b75ac1ce |
---|---|
1169 # New in Orthanc 1.9.0 | 1169 # New in Orthanc 1.9.0 |
1170 self.assertTrue('RemoteAET' in m) | 1170 self.assertTrue('RemoteAET' in m) |
1171 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API | 1171 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API |
1172 | 1172 |
1173 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) | 1173 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) |
1174 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | 1174 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1175 self.assertEqual(11, len(m)) | |
1176 elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0): | |
1177 self.assertEqual(10, len(m)) | 1175 self.assertEqual(10, len(m)) |
1178 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1176 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): |
1179 self.assertEqual(9, len(m)) | 1177 self.assertEqual(9, len(m)) |
1180 else: | 1178 else: |
1181 self.assertEqual(8, len(m)) | 1179 self.assertEqual(8, len(m)) |
1182 | |
1183 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | |
1184 # ./Tests/GetPixelDataVR.py ./Database/Knee/T1/IM-0001-0001.dcm | |
1185 self.assertTrue('PixelDataVR' in m) # New in Orthanc 1.12.1 | |
1186 self.assertEqual('OW', DoGet(_REMOTE, '/instances/%s/metadata/PixelDataVR' % i)) | |
1187 | 1180 |
1188 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): | 1181 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1189 self.assertTrue('MainDicomTagsSignature' in m) | 1182 self.assertTrue('MainDicomTagsSignature' in m) |
1190 | 1183 |
1191 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1184 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): |
1391 | 1384 |
1392 i = DoGet(_REMOTE, '/instances') | 1385 i = DoGet(_REMOTE, '/instances') |
1393 self.assertEqual(1, len(i)) | 1386 self.assertEqual(1, len(i)) |
1394 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) | 1387 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) |
1395 | 1388 |
1396 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | 1389 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1397 self.assertEqual(11, len(m)) | |
1398 elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0): | |
1399 self.assertEqual(10, len(m)) | 1390 self.assertEqual(10, len(m)) |
1400 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1391 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): |
1401 self.assertEqual(9, len(m)) | 1392 self.assertEqual(9, len(m)) |
1402 else: | 1393 else: |
1403 self.assertEqual(8, len(m)) | 1394 self.assertEqual(8, len(m)) |
1404 | |
1405 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | |
1406 # ./Tests/GetPixelDataVR.py ./Database/ColorTestImageJ.dcm | |
1407 self.assertTrue('PixelDataVR' in m) # New in Orthanc 1.12.1 | |
1408 self.assertEqual('OB', DoGet(_REMOTE, '/instances/%s/metadata/PixelDataVR' % i[0])) | |
1409 | 1395 |
1410 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): | 1396 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1411 self.assertTrue('MainDicomTagsSignature' in m) # New in Orthanc 1.11.0 | 1397 self.assertTrue('MainDicomTagsSignature' in m) # New in Orthanc 1.11.0 |
1412 | 1398 |
1413 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1399 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): |
9791 #self.assertEqual(instanceLastUpdate1, instanceLastUpdate2) | 9777 #self.assertEqual(instanceLastUpdate1, instanceLastUpdate2) |
9792 self.assertNotEqual(seriesLastUpdate1, seriesLastUpdate2) | 9778 self.assertNotEqual(seriesLastUpdate1, seriesLastUpdate2) |
9793 self.assertNotEqual(studyLastUpdate1, studyLastUpdate2) | 9779 self.assertNotEqual(studyLastUpdate1, studyLastUpdate2) |
9794 self.assertNotEqual(patientLastUpdate1, patientLastUpdate2) | 9780 self.assertNotEqual(patientLastUpdate1, patientLastUpdate2) |
9795 | 9781 |
9782 def test_pixel_data_vr(self): | |
9783 def Check(path, hasPixelData, hasMetadata, expectedVR): | |
9784 i = UploadInstance(_REMOTE, path) ['ID'] | |
9785 m = DoGet(_REMOTE, '/instances/%s/metadata?expand' % i) | |
9786 if hasMetadata: | |
9787 self.assertTrue('PixelDataVR' in m) | |
9788 self.assertEqual(expectedVR, m['PixelDataVR']) | |
9789 else: | |
9790 self.assertFalse('PixelDataVR' in m) | |
9791 | |
9792 if hasPixelData: | |
9793 self.assertTrue('PixelDataOffset' in m) | |
9794 j = DoGet(_REMOTE, '/instances/%s/file?expand' % i, headers = { | |
9795 'Accept': 'application/dicom+json' | |
9796 }) | |
9797 self.assertEqual(expectedVR, j['7FE00010']['vr']) | |
9798 | |
9799 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | |
9800 # File without pixel data | |
9801 Check('MarekLatin2.dcm', False, False, None) | |
9802 | |
9803 # Those files are badly formatted, and should be 'OB' | |
9804 # according to the DICOM standard => medata is present | |
9805 Check('Issue143.dcm', True, True, 'OW') # Little Endian Explicit, 8bpp | |
9806 Check('KarstenHilbertRF.dcm', True, True, 'OW') # Little Endian Explicit, 8bpp | |
9807 Check('PilatesArgenturGEUltrasoundOsiriX.dcm', True, True, 'OW') # Little Endian Explicit, 8bpp | |
9808 | |
9809 # Those files are formatted as expected | |
9810 Check('ColorTestMalaterre.dcm', True, False, 'OW') # Implicit Little Endian, 8bpp | |
9811 Check('Issue94.dcm', True, False, 'OW') # Implicit Little Endian, 16bpp | |
9812 Check('TransferSyntaxes/1.2.840.10008.1.2.1.dcm', True, False, 'OB') # Explicit Little Endian, 8bpp | |
9813 Check('Phenix/IM-0001-0001.dcm', True, False, 'OW') # Explicit Little Endian, 16bpp | |
9814 Check('TransferSyntaxes/1.2.840.10008.1.2.2.dcm', True, False, 'OB') # Explicit Big Endian, 8bpp | |
9815 Check('TransferSyntaxes/1.2.840.10008.1.2.4.50.dcm', True, False, 'OB') # JPEG | |
9816 Check('Knee/T1/IM-0001-0001.dcm', True, False, 'OB') # JPEG2k |