Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 74:8d16ed93ce09
merge
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 Jan 2016 13:28:57 +0100 |
parents | 97acfdf0dbce 48740070cbf1 |
children | b89af51797ff |
comparison
equal
deleted
inserted
replaced
73:97acfdf0dbce | 74:8d16ed93ce09 |
---|---|
73 d = a[i] - b[i] | 73 d = a[i] - b[i] |
74 if abs(d) >= 0.51: # Add some tolerance for rounding errors | 74 if abs(d) >= 0.51: # Add some tolerance for rounding errors |
75 return False | 75 return False |
76 | 76 |
77 return True | 77 return True |
78 | |
79 | |
80 def CallFindScu(args): | |
81 p = subprocess.Popen([ FindExecutable('findscu'), | |
82 '-P', '-aec', _REMOTE['DicomAet'], '-aet', _LOCAL['DicomAet'], | |
83 _REMOTE['Server'], str(_REMOTE['DicomPort']) ] + args, | |
84 stderr=subprocess.PIPE) | |
85 return p.communicate()[1] | |
78 | 86 |
79 | 87 |
80 def CallMoveScu(args): | 88 def CallMoveScu(args): |
81 subprocess.check_call([ FindExecutable('movescu'), | 89 subprocess.check_call([ FindExecutable('movescu'), |
82 '--move', _LOCAL['DicomAet'], # Target AET (i.e. storescp) | 90 '--move', _LOCAL['DicomAet'], # Target AET (i.e. storescp) |
1031 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol') | 1039 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol') |
1032 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU') | 1040 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU') |
1033 | 1041 |
1034 | 1042 |
1035 def test_incoming_findscu(self): | 1043 def test_incoming_findscu(self): |
1036 def CallFindScu(args): | |
1037 p = subprocess.Popen([ FindExecutable('findscu'), | |
1038 '-P', '-aec', _REMOTE['DicomAet'], '-aet', _LOCAL['DicomAet'], | |
1039 _REMOTE['Server'], str(_REMOTE['DicomPort']) ] + args, | |
1040 stderr=subprocess.PIPE) | |
1041 return p.communicate()[1] | |
1042 | |
1043 UploadInstance(_REMOTE, 'Multiframe.dcm') | 1044 UploadInstance(_REMOTE, 'Multiframe.dcm') |
1044 UploadInstance(_REMOTE, 'ColorTestImageJ.dcm') | 1045 UploadInstance(_REMOTE, 'ColorTestImageJ.dcm') |
1045 | 1046 |
1046 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', '0010,0010' ]) | 1047 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', '0010,0010' ]) |
1047 patientNames = re.findall('\(0010,0010\).*?\[(.*?)\]', i) | 1048 patientNames = re.findall('\(0010,0010\).*?\[(.*?)\]', i) |
2683 self.assertTrue(re.search('1.3.46.670589.11.17521.5.0.3124.2008081908590448738', a) != None) | 2684 self.assertTrue(re.search('1.3.46.670589.11.17521.5.0.3124.2008081908590448738', a) != None) |
2684 self.assertTrue(re.search('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114333648576', a) != None) | 2685 self.assertTrue(re.search('1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114333648576', a) != None) |
2685 self.assertTrue(re.search('1.2.826.0.1.3680043.2.1569.1.4.323026757.1700.1399452091.57', a) != None) | 2686 self.assertTrue(re.search('1.2.826.0.1.3680043.2.1569.1.4.323026757.1700.1399452091.57', a) != None) |
2686 | 2687 |
2687 os.remove('/tmp/DICOMDIR') | 2688 os.remove('/tmp/DICOMDIR') |
2689 | |
2690 | |
2691 def test_findscu_counters(self): | |
2692 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0001.dcm') | |
2693 UploadInstance(_REMOTE, 'Comunix/Pet/IM-0001-0001.dcm') | |
2694 UploadInstance(_REMOTE, 'Comunix/Pet/IM-0001-0002.dcm') | |
2695 | |
2696 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', 'NumberOfPatientRelatedStudies' ]) | |
2697 s = re.findall('\(0020,1200\).*?\[(.*?)\]', i) | |
2698 self.assertEqual(1, len(s)) | |
2699 self.assertTrue('1 ' in s) | |
2700 | |
2701 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', 'NumberOfPatientRelatedSeries' ]) | |
2702 s = re.findall('\(0020,1202\).*?\[(.*?)\]', i) | |
2703 self.assertEqual(1, len(s)) | |
2704 self.assertTrue('2 ' in s) | |
2705 | |
2706 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', 'NumberOfPatientRelatedInstances' ]) | |
2707 s = re.findall('\(0020,1204\).*?\[(.*?)\]', i) | |
2708 self.assertEqual(1, len(s)) | |
2709 self.assertTrue('3 ' in s) | |
2710 | |
2711 i = CallFindScu([ '-k', '0008,0052=STUDY', '-k', 'NumberOfStudyRelatedSeries' ]) | |
2712 s = re.findall('\(0020,1206\).*?\[(.*?)\]', i) | |
2713 self.assertEqual(1, len(s)) | |
2714 self.assertTrue('2 ' in s) | |
2715 | |
2716 i = CallFindScu([ '-k', '0008,0052=STUDY', '-k', 'NumberOfStudyRelatedInstances' ]) | |
2717 s = re.findall('\(0020,1208\).*?\[(.*?)\]', i) | |
2718 self.assertEqual(1, len(s)) | |
2719 self.assertTrue('3 ' in s) | |
2720 | |
2721 i = CallFindScu([ '-k', '0008,0052=SERIES', '-k', 'NumberOfSeriesRelatedInstances' ]) | |
2722 s = re.findall('\(0020,1209\).*?\[(.*?)\]', i) | |
2723 self.assertEqual(2, len(s)) | |
2724 self.assertTrue('1 ' in s) | |
2725 self.assertTrue('2 ' in s) | |
2726 | |
2727 i = CallFindScu([ '-k', '0008,0052=STUDY', '-k', 'ModalitiesInStudy' ]) | |
2728 s = re.findall('\(0008,0061\).*?\[(.*?)\]', i) | |
2729 self.assertEqual(1, len(s)) | |
2730 t = map(lambda x: x.strip(), s[0].split('\\')) | |
2731 self.assertTrue('PT' in t) | |
2732 self.assertTrue('CT' in t) | |
2733 | |
2734 i = CallFindScu([ '-k', '0008,0052=STUDY', '-k', 'SOPClassesInStudy' ]) | |
2735 s = re.findall('\(0008,0062\).*?\[(.*?)\]', i) | |
2736 self.assertEqual(1, len(s)) | |
2737 t = map(lambda x: x.strip(), s[0].split('\\')) | |
2738 self.assertTrue('1.2.840.10008.5.1.4.1.1.2' in t) | |
2739 self.assertTrue('1.2.840.10008.5.1.4.1.1.128' in t) | |
2740 | |
2741 |