Mercurial > hg > orthanc-tests
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 |