Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 646:0daf680aa3cc
added test_requested_tags
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 09 May 2024 11:30:18 +0200 |
parents | 9f8276ac1cdd |
children | 5ee7be1be006 |
comparison
equal
deleted
inserted
replaced
643:aa11ab24ff3c | 646:0daf680aa3cc |
---|---|
9463 | 9463 |
9464 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): | 9464 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): |
9465 a = UploadInstance(_REMOTE, '2023-04-21-RLEPlanarConfigurationYBR_FULL.dcm') ['ID'] | 9465 a = UploadInstance(_REMOTE, '2023-04-21-RLEPlanarConfigurationYBR_FULL.dcm') ['ID'] |
9466 uri = '/instances/%s/preview' % a | 9466 uri = '/instances/%s/preview' % a |
9467 im = GetImage(_REMOTE, uri) | 9467 im = GetImage(_REMOTE, uri) |
9468 pprint.pprint(im) | |
9469 self.assertEqual('RGB', im.mode) | 9468 self.assertEqual('RGB', im.mode) |
9470 self.assertEqual(1260, im.size[0]) | 9469 self.assertEqual(1260, im.size[0]) |
9471 self.assertEqual(910, im.size[1]) | 9470 self.assertEqual(910, im.size[1]) |
9472 self.assertEqual('07a3ea7ea08d54362f744cc5945e8743', ComputeMD5(DoGet(_REMOTE, uri))) | 9471 self.assertEqual('07a3ea7ea08d54362f744cc5945e8743', ComputeMD5(DoGet(_REMOTE, uri))) |
9473 | 9472 |
10147 | 10146 |
10148 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', '0008,0000=22' ]) # GE like C-Find that includes group-length | 10147 i = CallFindScu([ '-k', '0008,0052=PATIENT', '-k', '0008,0000=22' ]) # GE like C-Find that includes group-length |
10149 # print(i) | 10148 # print(i) |
10150 s = re.findall('\(0008,0000\).*?\[(.*?)\]', i) | 10149 s = re.findall('\(0008,0000\).*?\[(.*?)\]', i) |
10151 self.assertEqual(0, len(s)) | 10150 self.assertEqual(0, len(s)) |
10151 | |
10152 def test_requested_tags(self): | |
10153 u = UploadInstance(_REMOTE, 'DummyCT.dcm') | |
10154 | |
10155 def CheckPatientContent(patient): | |
10156 self.assertEqual(u['ParentPatient'], patient['ID']) | |
10157 self.assertEqual('Patient', patient['Type']) | |
10158 self.assertFalse(patient['IsStable']) | |
10159 self.assertEqual(0, len(patient['Labels'])) | |
10160 self.assertTrue('LastUpdate' in patient) | |
10161 self.assertEqual(2, len(patient['MainDicomTags'])) | |
10162 self.assertEqual('ozp00SjY2xG', patient['MainDicomTags']['PatientID']) | |
10163 self.assertEqual('KNIX', patient['MainDicomTags']['PatientName']) | |
10164 self.assertEqual(1, len(patient['Studies'])) | |
10165 self.assertEqual(u['ParentStudy'], patient['Studies'][0]) | |
10166 | |
10167 def CheckStudyContent(study): | |
10168 self.assertEqual(u['ParentStudy'], study['ID']) | |
10169 self.assertEqual(u['ParentPatient'], study['ParentPatient']) | |
10170 self.assertEqual('Study', study['Type']) | |
10171 self.assertFalse(study['IsStable']) | |
10172 self.assertEqual(0, len(study['Labels'])) | |
10173 self.assertTrue('LastUpdate' in study) | |
10174 self.assertEqual(7, len(study['MainDicomTags'])) | |
10175 self.assertEqual('0ECJ52puWpVIjTuhnBA0um', study['MainDicomTags']['InstitutionName']) | |
10176 self.assertEqual('1', study['MainDicomTags']['ReferringPhysicianName']) | |
10177 self.assertEqual('20070101', study['MainDicomTags']['StudyDate']) | |
10178 self.assertEqual('Knee (R)', study['MainDicomTags']['StudyDescription']) | |
10179 self.assertEqual('1', study['MainDicomTags']['StudyID']) | |
10180 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.390', study['MainDicomTags']['StudyInstanceUID']) | |
10181 self.assertEqual('120000.000000', study['MainDicomTags']['StudyTime']) | |
10182 self.assertEqual(2, len(study['PatientMainDicomTags'])) | |
10183 self.assertEqual('ozp00SjY2xG', study['PatientMainDicomTags']['PatientID']) | |
10184 self.assertEqual('KNIX', study['PatientMainDicomTags']['PatientName']) | |
10185 self.assertEqual(1, len(study['Series'])) | |
10186 self.assertEqual(u['ParentSeries'], study['Series'][0]) | |
10187 | |
10188 def CheckSeriesContent(series): | |
10189 self.assertEqual(None, series['ExpectedNumberOfInstances']) | |
10190 self.assertEqual('Unknown', series['Status']) | |
10191 self.assertEqual(u['ParentSeries'], series['ID']) | |
10192 self.assertEqual(u['ParentStudy'], series['ParentStudy']) | |
10193 self.assertEqual('Series', series['Type']) | |
10194 self.assertFalse(series['IsStable']) | |
10195 self.assertEqual(0, len(series['Labels'])) | |
10196 self.assertTrue('LastUpdate' in series) | |
10197 self.assertEqual(13, len(series['MainDicomTags'])) | |
10198 self.assertEqual('0', series['MainDicomTags']['CardiacNumberOfImages']) | |
10199 self.assertEqual('0.999841\\0.000366209\\0.0178227\\-0.000427244\\0.999995\\0.00326545', series['MainDicomTags']['ImageOrientationPatient']) | |
10200 self.assertEqual('24', series['MainDicomTags']['ImagesInAcquisition']) | |
10201 self.assertEqual('GE MEDICAL SYSTEMS', series['MainDicomTags']['Manufacturer']) | |
10202 self.assertEqual('MR', series['MainDicomTags']['Modality']) | |
10203 self.assertEqual('ca', series['MainDicomTags']['OperatorsName']) | |
10204 self.assertEqual('324-58-2995/6', series['MainDicomTags']['ProtocolName']) | |
10205 self.assertEqual('20070101', series['MainDicomTags']['SeriesDate']) | |
10206 self.assertEqual('AX. FSE PD', series['MainDicomTags']['SeriesDescription']) | |
10207 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.394', series['MainDicomTags']['SeriesInstanceUID']) | |
10208 self.assertEqual('5', series['MainDicomTags']['SeriesNumber']) | |
10209 self.assertEqual('120000.000000', series['MainDicomTags']['SeriesTime']) | |
10210 self.assertEqual('TWINOW', series['MainDicomTags']['StationName']) | |
10211 self.assertEqual(1, len(series['Instances'])) | |
10212 self.assertEqual(u['ID'], series['Instances'][0]) | |
10213 | |
10214 def CheckInstanceContent(instance): | |
10215 self.assertEqual(2472, instance['FileSize']) | |
10216 self.assertTrue('FileUuid' in instance) | |
10217 self.assertEqual(u['ID'], instance['ID']) | |
10218 self.assertEqual(u['ParentSeries'], instance['ParentSeries']) | |
10219 self.assertEqual('Instance', instance['Type']) | |
10220 self.assertEqual(1, instance['IndexInSeries']) | |
10221 self.assertEqual(0, len(instance['Labels'])) | |
10222 self.assertEqual(7, len(instance['MainDicomTags'])) | |
10223 self.assertEqual('1', instance['MainDicomTags']['AcquisitionNumber']) | |
10224 self.assertEqual('0.999841\\0.000366209\\0.0178227\\-0.000427244\\0.999995\\0.00326545', instance['MainDicomTags']['ImageOrientationPatient']) | |
10225 self.assertEqual('-149.033\\-118.499\\-61.0464', instance['MainDicomTags']['ImagePositionPatient']) | |
10226 self.assertEqual('20070101', instance['MainDicomTags']['InstanceCreationDate']) | |
10227 self.assertEqual('120000.000000', instance['MainDicomTags']['InstanceCreationTime']) | |
10228 self.assertEqual('1', instance['MainDicomTags']['InstanceNumber']) | |
10229 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', instance['MainDicomTags']['SOPInstanceUID']) | |
10230 | |
10231 def CheckRequestedTags(resource): | |
10232 self.assertEqual(6, len(resource['RequestedTags'])) | |
10233 self.assertEqual('ozp00SjY2xG', resource['RequestedTags']['PatientID']) | |
10234 self.assertEqual('Knee (R)', resource['RequestedTags']['StudyDescription']) | |
10235 self.assertEqual('AX. FSE PD', resource['RequestedTags']['SeriesDescription']) | |
10236 self.assertEqual('1.2.840.10008.5.1.4.1.1.4', resource['RequestedTags']['SOPClassUID']) | |
10237 self.assertEqual('2800', resource['RequestedTags']['RepetitionTime']) | |
10238 self.assertEqual(3, len(resource['RequestedTags']['DerivationCodeSequence'][0])) | |
10239 self.assertEqual('121327', resource['RequestedTags']['DerivationCodeSequence'][0]['CodeValue']) | |
10240 | |
10241 requestedTags = 'PatientID;StudyDescription;SeriesDescription;SOPClassUID;RepetitionTime;DerivationCodeSequence' | |
10242 | |
10243 a = DoGet(_REMOTE, '/patients?expand') | |
10244 self.assertEqual(1, len(a)) | |
10245 self.assertEqual(7, len(a[0])) | |
10246 CheckPatientContent(a[0]) | |
10247 self.assertFalse('RequestedTags' in a[0]) | |
10248 | |
10249 a = DoGet(_REMOTE, '/patients?expand&requestedTags=%s' % requestedTags) | |
10250 self.assertEqual(1, len(a)) | |
10251 self.assertEqual(8, len(a[0])) | |
10252 CheckPatientContent(a[0]) | |
10253 CheckRequestedTags(a[0]) | |
10254 | |
10255 a = DoGet(_REMOTE, '/studies?expand') | |
10256 self.assertEqual(1, len(a)) | |
10257 self.assertEqual(9, len(a[0])) | |
10258 CheckStudyContent(a[0]) | |
10259 self.assertFalse('RequestedTags' in a[0]) | |
10260 | |
10261 a = DoGet(_REMOTE, '/studies?expand&requestedTags=%s' % requestedTags) | |
10262 self.assertEqual(1, len(a)) | |
10263 self.assertEqual(10, len(a[0])) | |
10264 CheckStudyContent(a[0]) | |
10265 CheckRequestedTags(a[0]) | |
10266 | |
10267 a = DoGet(_REMOTE, '/series?expand') | |
10268 self.assertEqual(1, len(a)) | |
10269 self.assertEqual(10, len(a[0])) | |
10270 CheckSeriesContent(a[0]) | |
10271 self.assertFalse('RequestedTags' in a[0]) | |
10272 | |
10273 a = DoGet(_REMOTE, '/series?expand&requestedTags=%s' % requestedTags) | |
10274 self.assertEqual(1, len(a)) | |
10275 self.assertEqual(11, len(a[0])) | |
10276 CheckSeriesContent(a[0]) | |
10277 CheckRequestedTags(a[0]) | |
10278 | |
10279 a = DoGet(_REMOTE, '/instances?expand') | |
10280 self.assertEqual(1, len(a)) | |
10281 self.assertEqual(8, len(a[0])) | |
10282 CheckInstanceContent(a[0]) | |
10283 self.assertFalse('RequestedTags' in a[0]) | |
10284 | |
10285 a = DoGet(_REMOTE, '/instances?expand&requestedTags=%s' % requestedTags) | |
10286 self.assertEqual(1, len(a)) | |
10287 self.assertEqual(9, len(a[0])) | |
10288 CheckInstanceContent(a[0]) | |
10289 CheckRequestedTags(a[0]) |