comparison Tests/Tests.py @ 408:4e0b9fddbc71

test "Replace" for UID in subsequences
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 10 Jun 2021 13:10:11 +0200
parents ad98466353c6
children d0c6afc1ff68
comparison
equal deleted inserted replaced
407:ad98466353c6 408:4e0b9fddbc71
7120 'Replace' : { 7120 'Replace' : {
7121 'PatientName' : 'Hello1', 7121 'PatientName' : 'Hello1',
7122 'DimensionIndexSequence[1].DimensionDescriptionLabel' : 'Hello2', 7122 'DimensionIndexSequence[1].DimensionDescriptionLabel' : 'Hello2',
7123 'DimensionIndexSequence[*].PatientName' : 'Hello3', 7123 'DimensionIndexSequence[*].PatientName' : 'Hello3',
7124 'ReferencedImageEvidenceSequence[2].ReferencedSeriesSequence[0].ReferencedSOPSequence[0].ReferencedSOPInstanceUID' : 'Hello4', 7124 'ReferencedImageEvidenceSequence[2].ReferencedSeriesSequence[0].ReferencedSOPSequence[0].ReferencedSOPInstanceUID' : 'Hello4',
7125 'DimensionOrganizationSequence[0].DimensionOrganizationUID' : '1.2.3.4',
7125 }, 7126 },
7126 'Remove' : [ 7127 'Remove' : [
7127 'ReferencedPerformedProcedureStepSequence', 7128 'ReferencedPerformedProcedureStepSequence',
7128 'PerformedProtocolCodeSequence[0].CodeValue', 7129 'PerformedProtocolCodeSequence[0].CodeValue',
7129 'SharedFunctionalGroupsSequence[*].ReferencedImageSequence[*].ReferencedSOPInstanceUID', 7130 'SharedFunctionalGroupsSequence[*].ReferencedImageSequence[*].ReferencedSOPInstanceUID',
7164 7165
7165 self.assertTrue('0008,1150' in tags2['5200,9229'][0]['0008,1140'][0]) 7166 self.assertTrue('0008,1150' in tags2['5200,9229'][0]['0008,1140'][0])
7166 self.assertFalse('0008,1150' in tags2['5200,9229'][0]['0008,1140'][1]) 7167 self.assertFalse('0008,1150' in tags2['5200,9229'][0]['0008,1140'][1])
7167 self.assertTrue('0008,1150' in tags2['5200,9229'][0]['0008,1140'][2]) 7168 self.assertTrue('0008,1150' in tags2['5200,9229'][0]['0008,1140'][2])
7168 7169
7170 self.assertEqual('1.3.46.670589.11.22237.5.0.11272.2014100816243076000',
7171 tags1['0020,9221'][0]['0020,9164'])
7172 self.assertEqual('1.2.3.4', tags2['0020,9221'][0]['0020,9164'])
7173
7169 a = DoPost(_REMOTE, '/studies/%s/anonymize' % studies[0], { 7174 a = DoPost(_REMOTE, '/studies/%s/anonymize' % studies[0], {
7170 'Replace' : { 7175 'Replace' : {
7171 'DimensionIndexSequence[1].DimensionDescriptionLabel' : 'Hello1', 7176 'DimensionIndexSequence[1].DimensionDescriptionLabel' : 'Hello1',
7177 'DimensionOrganizationSequence[0].DimensionOrganizationUID' : '1.2.3.4',
7172 }, 7178 },
7173 'Remove' : [ 7179 'Remove' : [
7174 'SharedFunctionalGroupsSequence[*].ReferencedImageSequence[*].ReferencedSOPInstanceUID', # 5200,9229 7180 'SharedFunctionalGroupsSequence[*].ReferencedImageSequence[*].ReferencedSOPInstanceUID', # 5200,9229
7175 ], 7181 ],
7176 'Keep' : [ 7182 'Keep' : [
7224 self.assertNotEqual('', tags1[i]) 7230 self.assertNotEqual('', tags1[i])
7225 self.assertEqual('', tags3[i]) 7231 self.assertEqual('', tags3[i])
7226 7232
7227 # Replace 7233 # Replace
7228 self.assertEqual('In-Stack Position Number', tags1['0020,9222'][1]['0020,9421']) 7234 self.assertEqual('In-Stack Position Number', tags1['0020,9222'][1]['0020,9421'])
7229 self.assertEqual('Hello1', tags3['0020,9222'][1]['0020,9421']) 7235 self.assertEqual('Hello1', tags3['0020,9222'][1]['0020,9421'])
7230 7236 self.assertEqual('1.2.3.4', tags3['0020,9221'][0]['0020,9164'])
7237
7231 # "Keep" on DimensionIndexSequence 7238 # "Keep" on DimensionIndexSequence
7232 for i in range(3): 7239 for i in range(3):
7233 self.assertEqual(tags1['0020,9222'][i]['0020,9164'], 7240 self.assertEqual(tags1['0020,9222'][i]['0020,9164'],
7234 tags3['0020,9222'][i]['0020,9164']) 7241 tags3['0020,9222'][i]['0020,9164'])
7235 7242
7243 7250
7244 # "Remove" on SharedFunctionalGroupsSequence 7251 # "Remove" on SharedFunctionalGroupsSequence
7245 for i in range(3): 7252 for i in range(3):
7246 self.assertTrue('0008,1155' in tags1['5200,9229'][0]['0008,1140'][i]) 7253 self.assertTrue('0008,1155' in tags1['5200,9229'][0]['0008,1140'][i])
7247 self.assertFalse('0008,1155' in tags3['5200,9229'][0]['0008,1140'][i]) 7254 self.assertFalse('0008,1155' in tags3['5200,9229'][0]['0008,1140'][i])
7248
7249 with open('/tmp/a', 'w') as f:
7250 f.write(json.dumps(tags1, indent=4, sort_keys=True))
7251 with open('/tmp/b', 'w') as f:
7252 f.write(json.dumps(tags3, indent=4, sort_keys=True))