Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 189:11719f19bd62 Orthanc-1.5.0
test_dicom_disk_size
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 10 Dec 2018 10:33:01 +0100 |
parents | 7d585263808b |
children | bc8bc83465dc |
comparison
equal
deleted
inserted
replaced
188:7d585263808b | 189:11719f19bd62 |
---|---|
22 | 22 |
23 | 23 |
24 import tempfile | 24 import tempfile |
25 import unittest | 25 import unittest |
26 import base64 | 26 import base64 |
27 import copy | |
27 | 28 |
28 from PIL import ImageChops | 29 from PIL import ImageChops |
29 from Toolbox import * | 30 from Toolbox import * |
30 from xml.dom import minidom | 31 from xml.dom import minidom |
31 | 32 |
4017 self.assertTrue('DICOMDIR' in z.namelist()) | 4018 self.assertTrue('DICOMDIR' in z.namelist()) |
4018 | 4019 |
4019 | 4020 |
4020 def test_queries_hierarchy(self): | 4021 def test_queries_hierarchy(self): |
4021 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | 4022 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
4023 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
4022 | 4024 |
4023 tags = { | 4025 tags = { |
4024 'NumberOfPatientRelatedInstances' : '', | 4026 'NumberOfPatientRelatedInstances' : '', |
4025 'NumberOfPatientRelatedSeries' : '', | 4027 'NumberOfPatientRelatedSeries' : '', |
4026 'NumberOfPatientRelatedStudies' : '', | 4028 'NumberOfPatientRelatedStudies' : '', |
4027 'NumberOfStudyRelatedInstances' : '', | 4029 'NumberOfStudyRelatedInstances' : '', |
4028 'NumberOfStudyRelatedSeries' : '', | 4030 'NumberOfStudyRelatedSeries' : '', |
4029 'NumberOfSeriesRelatedInstances' : '', | 4031 'NumberOfSeriesRelatedInstances' : '', |
4030 } | 4032 } |
4031 | 4033 |
4034 tags2 = copy.copy(tags) | |
4035 tags2['PatientID'] = '887' # Only consider the "Knee" patient | |
4036 | |
4032 patient = DoPost(_REMOTE, '/modalities/self/query', { | 4037 patient = DoPost(_REMOTE, '/modalities/self/query', { |
4033 'Level' : 'Patient', | 4038 'Level' : 'Patient', |
4034 'Query' : tags | 4039 'Query' : tags2 |
4035 }) ['ID'] | 4040 }) ['ID'] |
4036 | 4041 |
4037 study = DoPost(_REMOTE, '/modalities/self/query', { | 4042 study = DoPost(_REMOTE, '/modalities/self/query', { |
4038 'Level' : 'Study', | 4043 'Level' : 'Study', |
4039 'Query' : tags | 4044 'Query' : tags2 |
4040 }) ['ID'] | 4045 }) ['ID'] |
4041 | 4046 |
4042 series = DoPost(_REMOTE, '/modalities/self/query', { | 4047 series = DoPost(_REMOTE, '/modalities/self/query', { |
4043 'Level' : 'Series', | 4048 'Level' : 'Series', |
4044 'Query' : tags | 4049 'Query' : tags2 |
4045 }) ['ID'] | 4050 }) ['ID'] |
4046 | 4051 |
4047 instance = DoPost(_REMOTE, '/modalities/self/query', { | 4052 instance = DoPost(_REMOTE, '/modalities/self/query', { |
4048 'Level' : 'Instance', | 4053 'Level' : 'Instance', |
4049 'Query' : tags | 4054 'Query' : tags2 |
4050 }) ['ID'] | 4055 }) ['ID'] |
4051 | 4056 |
4052 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % patient) | 4057 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % patient) |
4053 self.assertEqual(1, len(p)) | 4058 self.assertEqual(1, len(p)) |
4054 self.assertEqual('887', p[0]['PatientID']) | 4059 self.assertEqual('887', p[0]['PatientID']) |
4085 | 4090 |
4086 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-studies' % patient, | 4091 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-studies' % patient, |
4087 { 'Query' : tags }) ['ID'] | 4092 { 'Query' : tags }) ['ID'] |
4088 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), | 4093 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), |
4089 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % study)) | 4094 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % study)) |
4090 | 4095 |
4091 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-series' % patient, | 4096 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-series' % patient, |
4092 { 'Query' : tags }) ['ID'] | 4097 { 'Query' : tags }) ['ID'] |
4093 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), | 4098 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), |
4094 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % series)) | 4099 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % series)) |
4095 | 4100 |
4112 { 'Query' : tags }) ['ID'] | 4117 { 'Query' : tags }) ['ID'] |
4113 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), | 4118 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j), |
4114 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance)) | 4119 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance)) |
4115 | 4120 |
4116 | 4121 |
4122 def test_dicom_disk_size(self): | |
4123 dicomSize = 0 | |
4124 | |
4125 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
4126 | |
4127 for i in range(2): | |
4128 p = 'Knee/T%d/IM-0001-0001.dcm' % (i + 1) | |
4129 UploadInstance(_REMOTE, p) | |
4130 dicomSize += os.path.getsize(GetDatabasePath(p)) | |
4131 | |
4132 s = DoGet(_REMOTE, '/patients/ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17/statistics') # Consider Knee patient | |
4133 self.assertEqual(2, s['CountInstances']) | |
4134 self.assertEqual(2, s['CountSeries']) | |
4135 self.assertEqual(1, s['CountStudies']) | |
4136 self.assertEqual(dicomSize, int(s['DicomDiskSize'])) | |
4137 self.assertEqual(dicomSize, int(s['DicomUncompressedSize'])) | |
4138 self.assertLess(dicomSize, int(s['UncompressedSize'])) | |
4139 self.assertEqual(s['UncompressedSize'], s['DiskSize']) | |
4140 |