comparison Tests/Tests.py @ 453:46ae8fb09254 more-tags

test computed tags for tools/find and list-resources
author Alain Mazy <am@osimis.io>
date Mon, 14 Mar 2022 16:44:20 +0100
parents 45dd181b0f17
children 6105b7671a58
comparison
equal deleted inserted replaced
452:45dd181b0f17 453:46ae8fb09254
8514 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID']) 8514 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID'])
8515 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID']) 8515 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID'])
8516 self.assertEqual('MONOCHROME2', a[0]['RequestedTags']['PhotometricInterpretation']) 8516 self.assertEqual('MONOCHROME2', a[0]['RequestedTags']['PhotometricInterpretation'])
8517 8517
8518 8518
8519 # def test_rest_find_requested_tags_modalities_in_study(self): 8519 def test_rest_find_requested_tags_computed_tags(self):
8520 # # Upload instances 8520 # Upload instances
8521 # for i in range(2): 8521 for i in range(2):
8522 # UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-000%d.dcm' % (i + 1)) 8522 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-000%d.dcm' % (i + 1))
8523 8523
8524 # # Study level, request patient tags too 8524
8525 # a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study', 8525 # Patient level
8526 # 'CaseSensitive' : False, 8526 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Patient',
8527 # 'Query' : { 'PatientName' : 'BRAINIX' }, 8527 'CaseSensitive' : False,
8528 # 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'ModalitiesInStudy'], 8528 'Query' : { 'PatientName' : 'BRAINIX' },
8529 # 'Expand': True 8529 'RequestedTags' : [ 'PatientName', 'NumberOfPatientRelatedStudies', 'NumberOfPatientRelatedSeries', 'NumberOfPatientRelatedInstances'],
8530 # }) 8530 'Expand': True
8531 # self.assertEqual(1, len(a)) 8531 })
8532 # self.assertIn('PatientName', a[0]['RequestedTags']) 8532 self.assertEqual(1, len(a))
8533 # self.assertIn('StudyInstanceUID', a[0]['RequestedTags']) 8533
8534 # self.assertIn('ModalitiesInStudy', a[0]['RequestedTags']) 8534 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName'])
8535 8535 self.assertEqual('1', a[0]['RequestedTags']['NumberOfPatientRelatedStudies'])
8536 # self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName']) 8536 self.assertEqual('1', a[0]['RequestedTags']['NumberOfPatientRelatedSeries'])
8537 # self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID']) 8537 self.assertEqual('2', a[0]['RequestedTags']['NumberOfPatientRelatedInstances'])
8538 8538
8539 # Study level
8540 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study',
8541 'CaseSensitive' : False,
8542 'Query' : { 'PatientName' : 'BRAINIX' },
8543 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'ModalitiesInStudy', 'SOPClassesInStudy', 'NumberOfStudyRelatedInstances', 'NumberOfStudyRelatedSeries'],
8544 'Expand': True
8545 })
8546 self.assertEqual(1, len(a))
8547
8548 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName'])
8549 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID'])
8550 self.assertEqual('MR', a[0]['RequestedTags']['ModalitiesInStudy'])
8551 self.assertEqual('1.2.840.10008.5.1.4.1.1.4', a[0]['RequestedTags']['SOPClassesInStudy'])
8552 self.assertEqual('2', a[0]['RequestedTags']['NumberOfStudyRelatedInstances'])
8553 self.assertEqual('1', a[0]['RequestedTags']['NumberOfStudyRelatedSeries'])
8554
8555 # Series level
8556 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
8557 'CaseSensitive' : False,
8558 'Query' : { 'PatientName' : 'BRAINIX' },
8559 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'NumberOfSeriesRelatedInstances'],
8560 'Expand': True
8561 })
8562 self.assertEqual(1, len(a))
8563
8564 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName'])
8565 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID'])
8566 self.assertEqual('2', a[0]['RequestedTags']['NumberOfSeriesRelatedInstances'])
8539 8567
8540 def test_list_resources_requested_tags(self): 8568 def test_list_resources_requested_tags(self):
8541 8569
8542 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] 8570 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID']
8543 patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] 8571 patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID']
8566 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', a[0]['RequestedTags']['SOPInstanceUID']) 8594 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', a[0]['RequestedTags']['SOPInstanceUID'])
8567 self.assertEqual('KNIX', a[0]['RequestedTags']['PatientName']) 8595 self.assertEqual('KNIX', a[0]['RequestedTags']['PatientName'])
8568 self.assertEqual('512', a[0]['RequestedTags']['Rows']) 8596 self.assertEqual('512', a[0]['RequestedTags']['Rows'])
8569 self.assertEqual('512', a[0]['RequestedTags']['Columns']) 8597 self.assertEqual('512', a[0]['RequestedTags']['Columns'])
8570 8598
8571 pprint.pprint(a[0]) 8599
8572 8600 def test_list_resources_requested_tags_study_computed_tags(self):
8573
8574 def test_list_resources_requested_tags_modalities_in_study(self):
8575 8601
8576 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] 8602 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID']
8577 patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] 8603 patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID']
8578 study = DoGet(_REMOTE, '/instances/%s/study' % instance) ['ID'] 8604 study = DoGet(_REMOTE, '/instances/%s/study' % instance) ['ID']
8579 8605
8580 # list studies and request patient and studies tags, including ModalitiesInStudy 8606 # list studies and request patient and studies tags, including ModalitiesInStudy
8581 a = DoGet(_REMOTE, '/patients/%s/studies?expand&simplify&requestedTags=PatientName;StudyInstanceUID;ModalitiesInStudy' % patient) 8607 a = DoGet(_REMOTE, '/patients/%s/studies?expand&simplify&requestedTags=PatientName;StudyInstanceUID;ModalitiesInStudy;SOPClassesInStudy;NumberOfStudyRelatedInstances;NumberOfStudyRelatedSeries' % patient)
8582 8608
8583 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.390', a[0]['RequestedTags']['StudyInstanceUID']) 8609 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.390', a[0]['RequestedTags']['StudyInstanceUID'])
8584 self.assertEqual('CT', a[0]['RequestedTags']['ModalitiesInStudy'])
8585 self.assertEqual('KNIX', a[0]['RequestedTags']['PatientName']) 8610 self.assertEqual('KNIX', a[0]['RequestedTags']['PatientName'])
8611 self.assertEqual('MR', a[0]['RequestedTags']['ModalitiesInStudy'])
8612 self.assertEqual('1.2.840.10008.5.1.4.1.1.4', a[0]['RequestedTags']['SOPClassesInStudy'])
8613 self.assertEqual('1', a[0]['RequestedTags']['NumberOfStudyRelatedInstances'])
8614 self.assertEqual('1', a[0]['RequestedTags']['NumberOfStudyRelatedSeries'])
8615
8616
8617 def test_list_resources_requested_tags_series_computed_tags(self):
8618
8619 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID']
8620 patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID']
8621 study = DoGet(_REMOTE, '/instances/%s/study' % instance) ['ID']
8622
8623 # list studies and request patient and studies tags, including ModalitiesInStudy
8624 a = DoGet(_REMOTE, '/studies/%s/series?expand&simplify&requestedTags=PatientName;SeriesInstanceUID;NumberOfSeriesRelatedInstances' % study)
8625
8626 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.394', a[0]['RequestedTags']['SeriesInstanceUID'])
8627 self.assertEqual('KNIX', a[0]['RequestedTags']['PatientName'])
8628 self.assertEqual('1', a[0]['RequestedTags']['NumberOfSeriesRelatedInstances'])
8629