Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 377:cc79fa4945da
test_pixel_data_offset
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Feb 2021 15:31:11 +0100 |
parents | 78bef07c4118 |
children | a4b8450a1158 |
comparison
equal
deleted
inserted
replaced
376:2ef8a094a056 | 377:cc79fa4945da |
---|---|
1041 # New in Orthanc 1.9.0 | 1041 # New in Orthanc 1.9.0 |
1042 self.assertTrue('RemoteAET' in m) | 1042 self.assertTrue('RemoteAET' in m) |
1043 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API | 1043 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API |
1044 | 1044 |
1045 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) | 1045 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) |
1046 self.assertEqual(8, len(m)) | 1046 self.assertEqual(9, len(m)) |
1047 self.assertTrue('IndexInSeries' in m) | 1047 self.assertTrue('IndexInSeries' in m) |
1048 self.assertTrue('ReceptionDate' in m) | 1048 self.assertTrue('ReceptionDate' in m) |
1049 self.assertTrue('RemoteAET' in m) | 1049 self.assertTrue('RemoteAET' in m) |
1050 self.assertTrue('Origin' in m) | 1050 self.assertTrue('Origin' in m) |
1051 self.assertTrue('TransferSyntax' in m) | 1051 self.assertTrue('TransferSyntax' in m) |
1052 self.assertTrue('SopClassUid' in m) | 1052 self.assertTrue('SopClassUid' in m) |
1053 self.assertTrue('RemoteIP' in m) | 1053 self.assertTrue('RemoteIP' in m) |
1054 self.assertTrue('HttpUsername' in m) | 1054 self.assertTrue('HttpUsername' in m) |
1055 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 | |
1055 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i), 1) | 1056 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i), 1) |
1056 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i), 'RestApi') | 1057 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i), 'RestApi') |
1057 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i), '') # None, received by REST API | 1058 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i), '') # None, received by REST API |
1058 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i), '1.2.840.10008.1.2.4.91') # JPEG2k | 1059 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i), '1.2.840.10008.1.2.4.91') # JPEG2k |
1059 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i), '1.2.840.10008.5.1.4.1.1.4') | 1060 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i), '1.2.840.10008.5.1.4.1.1.4') |
1061 self.assertEqual(int(DoGet(_REMOTE, '/instances/%s/metadata/PixelDataOffset' % i)), 0x0c78) | |
1060 | 1062 |
1061 # Play with custom metadata | 1063 # Play with custom metadata |
1062 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'coucou') | 1064 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'coucou') |
1063 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | 1065 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) |
1064 self.assertEqual(2, len(m)) | 1066 self.assertEqual(2, len(m)) |
1169 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) | 1171 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) |
1170 | 1172 |
1171 i = DoGet(_REMOTE, '/instances') | 1173 i = DoGet(_REMOTE, '/instances') |
1172 self.assertEqual(1, len(i)) | 1174 self.assertEqual(1, len(i)) |
1173 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) | 1175 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) |
1174 self.assertEqual(8, len(m)) | 1176 self.assertEqual(9, len(m)) |
1175 self.assertTrue('IndexInSeries' in m) | 1177 self.assertTrue('IndexInSeries' in m) |
1176 self.assertTrue('ReceptionDate' in m) | 1178 self.assertTrue('ReceptionDate' in m) |
1177 self.assertTrue('RemoteAET' in m) | 1179 self.assertTrue('RemoteAET' in m) |
1178 self.assertTrue('Origin' in m) | 1180 self.assertTrue('Origin' in m) |
1179 self.assertTrue('TransferSyntax' in m) | 1181 self.assertTrue('TransferSyntax' in m) |
1180 self.assertTrue('SopClassUid' in m) | 1182 self.assertTrue('SopClassUid' in m) |
1181 self.assertTrue('RemoteIP' in m) | 1183 self.assertTrue('RemoteIP' in m) |
1182 self.assertTrue('CalledAET' in m) | 1184 self.assertTrue('CalledAET' in m) |
1185 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 | |
1183 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i[0]), 1) | 1186 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i[0]), 1) |
1184 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol') | 1187 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol') |
1185 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU') | 1188 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU') |
1186 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i[0]), '1.2.840.10008.1.2.1') | 1189 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i[0]), '1.2.840.10008.1.2.1') |
1187 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i[0]), '1.2.840.10008.5.1.4.1.1.7') | 1190 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i[0]), '1.2.840.10008.5.1.4.1.1.7') |
6311 'X-File-Name' : 'DummyCT.dcm', | 6314 'X-File-Name' : 'DummyCT.dcm', |
6312 'X-File-Size' : str(len(dcm)), | 6315 'X-File-Size' : str(len(dcm)), |
6313 }) | 6316 }) |
6314 | 6317 |
6315 self.assertEqual(2, len(DoGet(_REMOTE, '/instances'))) | 6318 self.assertEqual(2, len(DoGet(_REMOTE, '/instances'))) |
6319 | |
6320 | |
6321 def test_pixel_data_offset(self): | |
6322 # New in Orthanc 1.9.1 | |
6323 def Check(path, offset): | |
6324 i = UploadInstance(_REMOTE, path) ['ID'] | |
6325 metadata = DoGetRaw(_REMOTE, '/instances/%s/metadata/PixelDataOffset' % i) [1] | |
6326 self.assertEqual(offset, metadata) | |
6327 | |
6328 Check('ColorTestMalaterre.dcm', str(0x03a0)) | |
6329 Check('TransferSyntaxes/1.2.840.10008.1.2.1.dcm', str(0x037c)) | |
6330 Check('TransferSyntaxes/1.2.840.10008.1.2.2.dcm', str(0x03e8)) # Big endian | |
6331 Check('TransferSyntaxes/1.2.840.10008.1.2.4.50.dcm', str(0x04ac)) | |
6332 Check('TransferSyntaxes/1.2.840.10008.1.2.4.51.dcm', str(0x072c)) | |
6333 Check('TransferSyntaxes/1.2.840.10008.1.2.4.57.dcm', str(0x0620)) | |
6334 Check('TransferSyntaxes/1.2.840.10008.1.2.4.70.dcm', str(0x065a)) | |
6335 Check('TransferSyntaxes/1.2.840.10008.1.2.4.80.dcm', str(0x0b46)) | |
6336 Check('TransferSyntaxes/1.2.840.10008.1.2.4.81.dcm', str(0x073e)) | |
6337 Check('TransferSyntaxes/1.2.840.10008.1.2.4.90.dcm', str(0x0b66)) | |
6338 Check('TransferSyntaxes/1.2.840.10008.1.2.4.91.dcm', str(0x19b8)) | |
6339 Check('TransferSyntaxes/1.2.840.10008.1.2.5.dcm', str(0x0b0a)) | |
6340 Check('TransferSyntaxes/1.2.840.10008.1.2.dcm', '') # No valid DICOM preamble |