comparison Tests/Tests.py @ 486:6144ef431512

new tests for sequences in ExtraMainDicomTags
author Alain Mazy <am@osimis.io>
date Tue, 28 Jun 2022 18:38:21 +0200
parents 535e651e70a2
children e904b2282b0e
comparison
equal deleted inserted replaced
485:459eb688d3a1 486:6144ef431512
8601 'Query' : { 'PatientName' : 'MyName2*' }}) 8601 'Query' : { 'PatientName' : 'MyName2*' }})
8602 self.assertEqual(1, len(a)) 8602 self.assertEqual(1, len(a))
8603 8603
8604 8604
8605 def test_rest_find_requested_tags(self): 8605 def test_rest_find_requested_tags(self):
8606 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): 8606 if IsOrthancVersionAbove(_REMOTE, 1, 11, 1): # RequestedTags introduced in 1.11.0 but Sequences allowed since 1.11.1
8607 8607
8608 # Upload instances 8608 # Upload instances
8609 for i in range(2): 8609 for i in range(2):
8610 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-000%d.dcm' % (i + 1)) 8610 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-000%d.dcm' % (i + 1))
8611 8611
8612 # Patient level 8612 # Patient level
8613 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Patient', 8613 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Patient',
8614 'CaseSensitive' : False, 8614 'CaseSensitive' : False,
8615 'Query' : { 'PatientName' : 'BRAINIX' }, 8615 'Query' : { 'PatientName' : 'BRAINIX' },
8616 'RequestedTags' : [ 'PatientName', 'PatientID', 'PatientSex', 'PatientBirthDate' ], 8616 'RequestedTags' : [ 'PatientName', 'PatientID', 'PatientSex', 'PatientBirthDate'],
8617 'Expand': True 8617 'Expand': True
8618 }) 8618 })
8619 self.assertEqual(1, len(a)) 8619 self.assertEqual(1, len(a))
8620 self.assertIn('PatientName', a[0]['RequestedTags']) 8620 self.assertIn('PatientName', a[0]['RequestedTags'])
8621 self.assertIn('PatientID', a[0]['RequestedTags']) 8621 self.assertIn('PatientID', a[0]['RequestedTags'])
8644 8644
8645 # Series level, request patient and study tags too 8645 # Series level, request patient and study tags too
8646 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series', 8646 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
8647 'CaseSensitive' : False, 8647 'CaseSensitive' : False,
8648 'Query' : { 'PatientName' : 'BRAINIX' }, 8648 'Query' : { 'PatientName' : 'BRAINIX' },
8649 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'SeriesInstanceUID'], 8649 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'SeriesInstanceUID', 'RequestAttributesSequence'],
8650 'Expand': True 8650 'Expand': True
8651 }) 8651 })
8652 self.assertEqual(1, len(a)) 8652 self.assertEqual(1, len(a))
8653 self.assertIn('PatientName', a[0]['RequestedTags']) 8653 self.assertIn('PatientName', a[0]['RequestedTags'])
8654 self.assertIn('StudyInstanceUID', a[0]['RequestedTags']) 8654 self.assertIn('StudyInstanceUID', a[0]['RequestedTags'])
8655 self.assertIn('SeriesInstanceUID', a[0]['RequestedTags']) 8655 self.assertIn('SeriesInstanceUID', a[0]['RequestedTags'])
8656 self.assertIn('RequestAttributesSequence', a[0]['RequestedTags'])
8656 8657
8657 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName']) 8658 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName'])
8658 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID']) 8659 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID'])
8659 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID']) 8660 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID'])
8661 self.assertEqual('A10029316690', a[0]['RequestedTags']['RequestAttributesSequence'][0]['RequestedProcedureID'])
8660 8662
8661 8663
8662 # Instance level, request patient, study and series tags too, include tags that are not part of the main dicom tags 8664 # Instance level, request patient, study and series tags too, include tags that are not part of the main dicom tags
8663 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series', 8665 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
8664 'CaseSensitive' : False, 8666 'CaseSensitive' : False,
8665 'Query' : { 'PatientName' : 'BRAINIX' }, 8667 'Query' : { 'PatientName' : 'BRAINIX' },
8666 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'SeriesInstanceUID', 'SOPInstanceUID', 'PhotometricInterpretation'], 8668 'RequestedTags' : [ 'PatientName', 'StudyInstanceUID', 'SeriesInstanceUID', 'SOPInstanceUID', 'PhotometricInterpretation', 'RequestAttributesSequence'],
8667 'Expand': True 8669 'Expand': True
8668 }) 8670 })
8669 self.assertEqual(1, len(a)) 8671 self.assertEqual(1, len(a))
8670 self.assertIn('PatientName', a[0]['RequestedTags']) 8672 self.assertIn('PatientName', a[0]['RequestedTags'])
8671 self.assertIn('StudyInstanceUID', a[0]['RequestedTags']) 8673 self.assertIn('StudyInstanceUID', a[0]['RequestedTags'])
8672 self.assertIn('SeriesInstanceUID', a[0]['RequestedTags']) 8674 self.assertIn('SeriesInstanceUID', a[0]['RequestedTags'])
8673 self.assertIn('PhotometricInterpretation', a[0]['RequestedTags']) 8675 self.assertIn('PhotometricInterpretation', a[0]['RequestedTags'])
8676 self.assertIn('RequestAttributesSequence', a[0]['RequestedTags'])
8674 8677
8675 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName']) 8678 self.assertEqual('BRAINIX', a[0]['RequestedTags']['PatientName'])
8676 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID']) 8679 self.assertEqual('2.16.840.1.113669.632.20.1211.10000357775', a[0]['RequestedTags']['StudyInstanceUID'])
8677 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID']) 8680 self.assertEqual('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497', a[0]['RequestedTags']['SeriesInstanceUID'])
8678 self.assertEqual('MONOCHROME2', a[0]['RequestedTags']['PhotometricInterpretation']) 8681 self.assertEqual('MONOCHROME2', a[0]['RequestedTags']['PhotometricInterpretation'])
8682 self.assertEqual('A10029316690', a[0]['RequestedTags']['RequestAttributesSequence'][0]['RequestedProcedureID'])
8679 8683
8680 8684
8681 def test_rest_find_requested_tags_computed_tags(self): 8685 def test_rest_find_requested_tags_computed_tags(self):
8682 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): 8686 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
8683 # Upload instances 8687 # Upload instances