annotate NewTests/ExtraMainDicomTags/test_extra_main_dicom_tags.py @ 486:6144ef431512

new tests for sequences in ExtraMainDicomTags
author Alain Mazy <am@osimis.io>
date Tue, 28 Jun 2022 18:38:21 +0200
parents
children ed0a51317c0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
486
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
1 import unittest
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
2 import time
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
3 import os
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
4 from helpers import OrthancTestCase, Helpers
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
5
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
6 from orthanc_api_client import OrthancApiClient, generate_test_dicom_file
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
7 from orthanc_tools import OrthancTestDbPopulator
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
8
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
9 import pathlib
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
10 import glob
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
11 here = pathlib.Path(__file__).parent.resolve()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
12
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
13
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
14 class TestExtraMainDicomTags(OrthancTestCase):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
15
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
16 @classmethod
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
17 def prepare(cls):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
18 print('-------------- preparing TestExtraMainDicomTags tests')
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
19
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
20 cls.clear_storage(storage_name="ExtraMainDicomTags")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
21
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
22 config = {
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
23 "ExtraMainDicomTags": {
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
24 "Instance" : [
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
25 "Rows",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
26 "PerformedProtocolCodeSequence"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
27 ],
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
28 "Series" : [
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
29 "RequestAttributesSequence"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
30 ],
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
31 "Study": [],
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
32 "Patient": []
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
33 },
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
34 "OverwriteInstances": True,
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
35 "DicomWeb" : {
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
36 "StudiesMetadata" : "MainDicomTags",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
37 "SeriesMetadata": "MainDicomTags"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
38 }
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
39 }
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
40
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
41 config_path = cls.generate_configuration(
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
42 config_name="extra_main_dicom_tags",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
43 storage_name="ExtraMainDicomTags",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
44 config=config,
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
45 plugins=Helpers.plugins
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
46 )
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
47
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
48 print('-------------- prepared ExtraMainDicomTags tests')
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
49 if Helpers.break_after_preparation:
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
50 print(f"++++ It is now time to start your Orthanc under tests with configuration file '{config_path}' +++++")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
51 input("Press Enter to continue")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
52 else:
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
53 print('-------------- launching ExtraMainDicomTags tests')
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
54 cls.launch_orthanc_under_tests(
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
55 config_path=config_path,
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
56 config_name="extra_main_dicom_tags",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
57 storage_name="ExtraMainDicomTags",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
58 plugins=Helpers.plugins
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
59 )
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
60
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
61 print('-------------- waiting for orthanc-under-tests to be available')
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
62 cls.o.wait_started()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
63
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
64 def test_main_dicom_tags(self):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
65
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
66 # upload a study
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
67 self.o.upload_file(here / "../../Database/Brainix/Flair/IM-0001-0001.dcm")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
68
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
69 instance = self.o.get(endpoint="instances/4dc71dc0-6093b5f8-ca67aa8a-07b18ff5-95dbe3c8").json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
70
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
71 self.assertIn("Rows", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
72 self.assertIn("PerformedProtocolCodeSequence", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
73
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
74 def test_main_dicom_tags_full(self):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
75
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
76 # upload a study
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
77 self.o.upload_file(here / "../../Database/Brainix/Flair/IM-0001-0001.dcm")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
78
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
79 instance = self.o.get(endpoint="instances/4dc71dc0-6093b5f8-ca67aa8a-07b18ff5-95dbe3c8?full").json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
80
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
81 self.assertIn("0028,0010", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
82 self.assertIn("0040,0260", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
83
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
84
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
85 def test_main_reconstruct(self):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
86
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
87 # upload a study
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
88 self.o.upload_file(here / "../../Database/Brainix/Flair/IM-0001-0001.dcm")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
89
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
90 instance = self.o.get(endpoint="instances/4dc71dc0-6093b5f8-ca67aa8a-07b18ff5-95dbe3c8").json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
91
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
92 self.assertIn("Rows", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
93 self.assertIn("PerformedProtocolCodeSequence", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
94
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
95 # reconstruct instance
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
96 self.o.post(endpoint="/instances/4dc71dc0-6093b5f8-ca67aa8a-07b18ff5-95dbe3c8/reconstruct", json={})
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
97 instance = self.o.get(endpoint="instances/4dc71dc0-6093b5f8-ca67aa8a-07b18ff5-95dbe3c8").json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
98 self.assertIn("Rows", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
99 self.assertIn("PerformedProtocolCodeSequence", instance["MainDicomTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
100
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
101
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
102 def test_tools_find(self):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
103
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
104 # upload a study
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
105 self.o.upload_file(here / "../../Database/Brainix/Flair/IM-0001-0001.dcm")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
106
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
107 # instance level
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
108 r = self.o.post(
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
109 endpoint="/tools/find",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
110 json={
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
111 "Level": "Instances",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
112 "Query": {
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
113 "PatientID": "5Yp0E"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
114 },
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
115 "Expand": True,
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
116 "RequestedTags" : ["Rows", "PerformedProtocolCodeSequence", "ReferencedStudySequence"] # "ReferencedStudySequence" is not stored in MainDicomTags !
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
117 }
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
118 )
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
119
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
120 instances = r.json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
121 self.assertEqual(1, len(instances))
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
122 self.assertIn("Rows", instances[0]["RequestedTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
123 self.assertIn("PerformedProtocolCodeSequence", instances[0]["RequestedTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
124 self.assertIn("ReferencedStudySequence", instances[0]["RequestedTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
125
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
126
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
127 # series level, request a sequence
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
128 r = self.o.post(
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
129 endpoint="/tools/find",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
130 json={
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
131 "Level": "Series",
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
132 "Query": {
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
133 "PatientID": "5Yp0E"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
134 },
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
135 "Expand": True,
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
136 "RequestedTags" : ["RequestAttributesSequence"]
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
137 }
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
138 )
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
139
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
140 series = r.json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
141 self.assertEqual(1, len(series))
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
142 self.assertIn("RequestAttributesSequence", series[0]["RequestedTags"])
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
143
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
144
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
145
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
146 def test_dicom_web_metadata(self):
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
147
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
148 # upload a study
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
149 self.o.upload_file(here / "../../Database/Brainix/Flair/IM-0001-0001.dcm")
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
150
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
151 metadata = self.o.get(
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
152 endpoint="/dicom-web/studies/2.16.840.1.113669.632.20.1211.10000357775/metadata"
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
153 ).json()
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
154
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
155 self.assertEqual(1, len(metadata))
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
156 self.assertIn("00280010", metadata[0]) # Rows
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
157 self.assertNotIn("00280011", metadata[0]) # Columns should not be stored !
6144ef431512 new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
diff changeset
158 self.assertIn("00400260", metadata[0]) # PerformedProtocolCodeSequence