Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 133:f0d4c4707e64 Orthanc-1.3.2
test_anonymize_relationships_3
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 10 Apr 2018 19:38:26 +0200 |
parents | 149144d854bb |
children | 5634ef96fcc5 |
comparison
equal
deleted
inserted
replaced
132:149144d854bb | 133:f0d4c4707e64 |
---|---|
3509 | 3509 |
3510 os.remove('/tmp/DICOMDIR') | 3510 os.remove('/tmp/DICOMDIR') |
3511 | 3511 |
3512 | 3512 |
3513 def test_anonymize_relationships_1(self): | 3513 def test_anonymize_relationships_1(self): |
3514 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')['ID'] | 3514 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
3515 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm')['ID'] | 3515 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm') |
3516 study = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918' | 3516 study = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918' |
3517 | 3517 |
3518 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study, | 3518 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study, |
3519 '{}', | 3519 '{}', |
3520 'application/json')['ID'] | 3520 'application/json')['ID'] |
3562 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, i)), | 3562 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, i)), |
3563 DoGet(_REMOTE, CLASS % (b2, i))) | 3563 DoGet(_REMOTE, CLASS % (b2, i))) |
3564 | 3564 |
3565 | 3565 |
3566 def test_anonymize_relationships_2(self): | 3566 def test_anonymize_relationships_2(self): |
3567 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0001.dcm')['ID'] | 3567 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0001.dcm') |
3568 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0002.dcm')['ID'] | 3568 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0002.dcm') |
3569 study = '6c65289b-db2fcb71-7eaf73f4-8e12470c-a4d6d7cf' | 3569 study = '6c65289b-db2fcb71-7eaf73f4-8e12470c-a4d6d7cf' |
3570 | 3570 |
3571 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study, | 3571 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study, |
3572 '{}', | 3572 '{}', |
3573 'application/json')['ID'] | 3573 'application/json')['ID'] |
3600 DoGet(_REMOTE, SOP % (b2, 0))) | 3600 DoGet(_REMOTE, SOP % (b2, 0))) |
3601 self.assertEqual(DoGet(_REMOTE, CLASS % (a1, 0)), | 3601 self.assertEqual(DoGet(_REMOTE, CLASS % (a1, 0)), |
3602 DoGet(_REMOTE, CLASS % (b1, 0))) | 3602 DoGet(_REMOTE, CLASS % (b1, 0))) |
3603 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, 0)), | 3603 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, 0)), |
3604 DoGet(_REMOTE, CLASS % (b2, 0))) | 3604 DoGet(_REMOTE, CLASS % (b2, 0))) |
3605 | |
3606 | |
3607 def test_anonymize_relationships_3(self): | |
3608 sr1 = UploadInstance(_REMOTE, 'HierarchicalAnonymization/StructuredReports/IM0')['ID'] | |
3609 mr1 = UploadInstance(_REMOTE, 'HierarchicalAnonymization/StructuredReports/IM631')['ID'] | |
3610 study = 'ef351eb2-c1147229-062736b8-35a151e3-e32d526b' | |
3611 | |
3612 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study, | |
3613 { "Keep" : [ "ContentSequence" ] }) ['ID'] | |
3614 | |
3615 a = DoGet(_REMOTE, '/studies/%s/instances' % anonymized) | |
3616 self.assertEqual(2, len(a)) | |
3617 | |
3618 if DoGet(_REMOTE, '/instances/%s/content/Modality' % a[0]['ID']) == 'SR': | |
3619 sr2 = a[0]['ID'] | |
3620 mr2 = a[1]['ID'] | |
3621 else: | |
3622 sr2 = a[1]['ID'] | |
3623 mr2 = a[0]['ID'] | |
3624 | |
3625 self.assertEqual(DoGet(_REMOTE, '/instances/%s/content/Modality' % sr1), | |
3626 DoGet(_REMOTE, '/instances/%s/content/Modality' % sr2)) | |
3627 self.assertEqual(DoGet(_REMOTE, '/instances/%s/content/Modality' % mr1), | |
3628 DoGet(_REMOTE, '/instances/%s/content/Modality' % mr2)) | |
3629 | |
3630 mrUid1 = DoGet(_REMOTE, '/instances/%s' % mr1)['MainDicomTags']['SOPInstanceUID'] | |
3631 mrUid2 = DoGet(_REMOTE, '/instances/%s' % mr2)['MainDicomTags']['SOPInstanceUID'] | |
3632 mrSeries1 = DoGet(_REMOTE, '/instances/%s/content/SeriesInstanceUID' % mr1).strip('\x00') | |
3633 mrSeries2 = DoGet(_REMOTE, '/instances/%s/content/SeriesInstanceUID' % mr2).strip('\x00') | |
3634 mrStudy1 = DoGet(_REMOTE, '/instances/%s/content/StudyInstanceUID' % mr1).strip('\x00') | |
3635 mrStudy2 = DoGet(_REMOTE, '/instances/%s/content/StudyInstanceUID' % mr2).strip('\x00') | |
3636 | |
3637 PATH1 = '/instances/%s/content/CurrentRequestedProcedureEvidenceSequence' | |
3638 PATH2 = PATH1 + '/0/ReferencedSeriesSequence' | |
3639 PATH3 = PATH2 + '/0/ReferencedSOPSequence' | |
3640 PATH4 = PATH3 + '/0/ReferencedSOPInstanceUID' | |
3641 PATH5 = PATH3 + '/0/ReferencedSOPClassUID' | |
3642 | |
3643 self.assertEqual(1, len(DoGet(_REMOTE, PATH1 % sr1))) | |
3644 self.assertEqual(1, len(DoGet(_REMOTE, PATH2 % sr1))) | |
3645 self.assertEqual(1, len(DoGet(_REMOTE, PATH3 % sr1))) | |
3646 self.assertEqual(DoGet(_REMOTE, PATH4 % sr1), mrUid1) | |
3647 self.assertEqual(mrSeries1, DoGet(_REMOTE, (PATH2 + '/0/SeriesInstanceUID') % sr1).strip('\x00')) | |
3648 self.assertEqual(mrStudy1, DoGet(_REMOTE, (PATH1 + '/0/StudyInstanceUID') % sr1).strip('\x00')) | |
3649 | |
3650 self.assertEqual(1, len(DoGet(_REMOTE, PATH1 % sr2))) | |
3651 self.assertEqual(1, len(DoGet(_REMOTE, PATH2 % sr2))) | |
3652 self.assertEqual(1, len(DoGet(_REMOTE, PATH3 % sr2))) | |
3653 self.assertEqual(DoGet(_REMOTE, PATH5 % sr1), DoGet(_REMOTE, PATH5 % sr2)) | |
3654 | |
3655 self.assertEqual(mrUid2, DoGet(_REMOTE, PATH4 % sr2).strip('\x00')) | |
3656 self.assertEqual(mrSeries2, DoGet(_REMOTE, (PATH2 + '/0/SeriesInstanceUID') % sr2).strip('\x00')) | |
3657 self.assertEqual(mrStudy2, DoGet(_REMOTE, (PATH1 + '/0/StudyInstanceUID') % sr2).strip('\x00')) | |
3658 | |
3659 content1 = DoGet(_REMOTE, '/instances/%s/tags?simplify' % sr1) ['ContentSequence'] | |
3660 content2 = DoGet(_REMOTE, '/instances/%s/tags?simplify' % sr2) ['ContentSequence'] | |
3661 self.assertEqual(str(content1), str(content2)) |