Mercurial > hg > orthanc-tests
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 |
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 |