comparison UnitTestsSources/SortedFramesTests.cpp @ 1644:4796fb60999e

removing methods from SortedFrames to simplify api
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 10 Nov 2020 18:08:16 +0100
parents 960bb5fcc440
children bc7bd8ee13f8
comparison
equal deleted inserted replaced
1643:882e2253a90e 1644:4796fb60999e
30 { 30 {
31 OrthancStone::SortedFrames f; 31 OrthancStone::SortedFrames f;
32 ASSERT_TRUE(f.GetStudyInstanceUid().empty()); 32 ASSERT_TRUE(f.GetStudyInstanceUid().empty());
33 ASSERT_TRUE(f.GetSeriesInstanceUid().empty()); 33 ASSERT_TRUE(f.GetSeriesInstanceUid().empty());
34 ASSERT_EQ(0u, f.GetInstancesCount()); 34 ASSERT_EQ(0u, f.GetInstancesCount());
35 ASSERT_THROW(f.GetInstanceTags(0), Orthanc::OrthancException); 35 ASSERT_THROW(f.GetInstance(0).GetTags(), Orthanc::OrthancException);
36 ASSERT_THROW(f.GetSopInstanceUid(0), Orthanc::OrthancException); 36 ASSERT_THROW(f.GetInstance(0).GetSopInstanceUid(), Orthanc::OrthancException);
37 ASSERT_TRUE(f.IsSorted()); 37 ASSERT_TRUE(f.IsSorted());
38 ASSERT_EQ(0u, f.GetFramesCount()); 38 ASSERT_EQ(0u, f.GetFramesCount());
39 ASSERT_THROW(f.GetFrameTags(0), Orthanc::OrthancException); 39 ASSERT_THROW(f.GetInstanceOfFrame(0).GetTags(), Orthanc::OrthancException);
40 ASSERT_THROW(f.GetFrameSopInstanceUid(0), Orthanc::OrthancException); 40 ASSERT_THROW(f.GetInstanceOfFrame(0).GetSopInstanceUid(), Orthanc::OrthancException);
41 ASSERT_THROW(f.GetFrameSiblingsCount(0), Orthanc::OrthancException); 41 ASSERT_THROW(f.GetInstanceOfFrame(0).GetNumberOfFrames(), Orthanc::OrthancException);
42 ASSERT_THROW(f.GetFrameNumberInInstance(0), Orthanc::OrthancException); 42 ASSERT_THROW(f.GetFrameNumberInInstance(0), Orthanc::OrthancException);
43 43
44 Orthanc::DicomMap tags; 44 Orthanc::DicomMap tags;
45 ASSERT_THROW(f.AddInstance(tags), Orthanc::OrthancException); 45 ASSERT_THROW(f.AddInstance(tags), Orthanc::OrthancException);
46 tags.SetValue(Orthanc::DICOM_TAG_STUDY_INSTANCE_UID, "study", false); 46 tags.SetValue(Orthanc::DICOM_TAG_STUDY_INSTANCE_UID, "study", false);
52 52
53 ASSERT_EQ("study", f.GetStudyInstanceUid()); 53 ASSERT_EQ("study", f.GetStudyInstanceUid());
54 ASSERT_EQ("series", f.GetSeriesInstanceUid()); 54 ASSERT_EQ("series", f.GetSeriesInstanceUid());
55 ASSERT_EQ(1u, f.GetInstancesCount()); 55 ASSERT_EQ(1u, f.GetInstancesCount());
56 std::string s; 56 std::string s;
57 ASSERT_TRUE(f.GetInstanceTags(0).LookupStringValue(s, Orthanc::DICOM_TAG_SOP_INSTANCE_UID, false)); 57 ASSERT_TRUE(f.GetInstance(0).GetTags().LookupStringValue(s, Orthanc::DICOM_TAG_SOP_INSTANCE_UID, false));
58 ASSERT_EQ("sop", s); 58 ASSERT_EQ("sop", s);
59 ASSERT_EQ("sop", f.GetSopInstanceUid(0)); 59 ASSERT_EQ("sop", f.GetInstance(0).GetSopInstanceUid());
60 ASSERT_FALSE(f.IsSorted()); 60 ASSERT_FALSE(f.IsSorted());
61 ASSERT_THROW(f.GetFramesCount(), Orthanc::OrthancException); 61 ASSERT_THROW(f.GetFramesCount(), Orthanc::OrthancException);
62 ASSERT_THROW(f.GetFrameTags(0), Orthanc::OrthancException); 62 ASSERT_THROW(f.GetInstanceOfFrame(0).GetTags(), Orthanc::OrthancException);
63 ASSERT_THROW(f.GetFrameSopInstanceUid(0), Orthanc::OrthancException); 63 ASSERT_THROW(f.GetInstanceOfFrame(0).GetSopInstanceUid(), Orthanc::OrthancException);
64 ASSERT_THROW(f.GetFrameSiblingsCount(0), Orthanc::OrthancException); 64 ASSERT_THROW(f.GetInstanceOfFrame(0).GetNumberOfFrames(), Orthanc::OrthancException);
65 ASSERT_THROW(f.GetFrameNumberInInstance(0), Orthanc::OrthancException); 65 ASSERT_THROW(f.GetFrameNumberInInstance(0), Orthanc::OrthancException);
66 66
67 f.Sort(); 67 f.Sort();
68 ASSERT_TRUE(f.IsSorted()); 68 ASSERT_TRUE(f.IsSorted());
69 ASSERT_EQ(1u, f.GetFramesCount()); 69 ASSERT_EQ(1u, f.GetFramesCount());
70 ASSERT_TRUE(f.GetFrameTags(0).LookupStringValue(s, Orthanc::DICOM_TAG_SOP_INSTANCE_UID, false)); 70 ASSERT_TRUE(f.GetInstanceOfFrame(0).GetTags().LookupStringValue(s, Orthanc::DICOM_TAG_SOP_INSTANCE_UID, false));
71 ASSERT_EQ("sop", s); 71 ASSERT_EQ("sop", s);
72 ASSERT_EQ("sop", f.GetFrameSopInstanceUid(0)); 72 ASSERT_EQ("sop", f.GetInstanceOfFrame(0).GetSopInstanceUid());
73 ASSERT_EQ(1u, f.GetFrameSiblingsCount(0)); 73 ASSERT_EQ(1u, f.GetInstanceOfFrame(0).GetNumberOfFrames());
74 ASSERT_EQ(0u, f.GetFrameNumberInInstance(0)); 74 ASSERT_EQ(0u, f.GetFrameNumberInInstance(0));
75 ASSERT_THROW(f.GetFrameTags(1), Orthanc::OrthancException); 75 ASSERT_THROW(f.GetInstanceOfFrame(1).GetTags(), Orthanc::OrthancException);
76 } 76 }
77 77
78 78
79 TEST(SortedFrames, SortSopInstanceUid) 79 TEST(SortedFrames, SortSopInstanceUid)
80 { 80 {
101 101
102 ASSERT_THROW(f.LookupFrame(i, "sop3", 0), Orthanc::OrthancException); // Not sorted yet 102 ASSERT_THROW(f.LookupFrame(i, "sop3", 0), Orthanc::OrthancException); // Not sorted yet
103 103
104 f.Sort(); 104 f.Sort();
105 ASSERT_EQ(3u, f.GetInstancesCount()); 105 ASSERT_EQ(3u, f.GetInstancesCount());
106 ASSERT_EQ("sop3", f.GetSopInstanceUid(0)); 106 ASSERT_EQ("sop3", f.GetInstance(0).GetSopInstanceUid());
107 ASSERT_EQ("sop1", f.GetSopInstanceUid(1)); 107 ASSERT_EQ("sop1", f.GetInstance(1).GetSopInstanceUid());
108 ASSERT_EQ("sop2", f.GetSopInstanceUid(2)); 108 ASSERT_EQ("sop2", f.GetInstance(2).GetSopInstanceUid());
109 ASSERT_EQ(6u, f.GetFramesCount()); 109 ASSERT_EQ(6u, f.GetFramesCount());
110 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(0)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0)); 110 ASSERT_EQ("sop1", f.GetInstanceOfFrame(0).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0));
111 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(1u, f.GetFrameNumberInInstance(1)); 111 ASSERT_EQ("sop1", f.GetInstanceOfFrame(1).GetSopInstanceUid()); ASSERT_EQ(1u, f.GetFrameNumberInInstance(1));
112 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(2u, f.GetFrameNumberInInstance(2)); 112 ASSERT_EQ("sop1", f.GetInstanceOfFrame(2).GetSopInstanceUid()); ASSERT_EQ(2u, f.GetFrameNumberInInstance(2));
113 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3)); 113 ASSERT_EQ("sop2", f.GetInstanceOfFrame(3).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3));
114 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(4)); ASSERT_EQ(1u, f.GetFrameNumberInInstance(4)); 114 ASSERT_EQ("sop2", f.GetInstanceOfFrame(4).GetSopInstanceUid()); ASSERT_EQ(1u, f.GetFrameNumberInInstance(4));
115 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(5)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(5)); 115 ASSERT_EQ("sop3", f.GetInstanceOfFrame(5).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(5));
116 116
117 // The instances must not have been reordered, only the frames 117 // The instances must not have been reordered, only the frames
118 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(1u, i); 118 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(1u, i);
119 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(2u, i); 119 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(2u, i);
120 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop3")); ASSERT_EQ(0u, i); 120 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop3")); ASSERT_EQ(0u, i);
171 171
172 ASSERT_THROW(f.LookupFrame(i, "sop1", 0), Orthanc::OrthancException); // Not sorted yet 172 ASSERT_THROW(f.LookupFrame(i, "sop1", 0), Orthanc::OrthancException); // Not sorted yet
173 173
174 f.Sort(); 174 f.Sort();
175 ASSERT_EQ(6u, f.GetInstancesCount()); 175 ASSERT_EQ(6u, f.GetInstancesCount());
176 ASSERT_EQ("sop1", f.GetSopInstanceUid(0)); 176 ASSERT_EQ("sop1", f.GetInstance(0).GetSopInstanceUid());
177 ASSERT_EQ("sop2", f.GetSopInstanceUid(1)); 177 ASSERT_EQ("sop2", f.GetInstance(1).GetSopInstanceUid());
178 ASSERT_EQ("sop2a", f.GetSopInstanceUid(2)); 178 ASSERT_EQ("sop2a", f.GetInstance(2).GetSopInstanceUid());
179 ASSERT_EQ("sop4", f.GetSopInstanceUid(3)); 179 ASSERT_EQ("sop4", f.GetInstance(3).GetSopInstanceUid());
180 ASSERT_EQ("sop3", f.GetSopInstanceUid(4)); 180 ASSERT_EQ("sop3", f.GetInstance(4).GetSopInstanceUid());
181 ASSERT_EQ("sop5", f.GetSopInstanceUid(5)); 181 ASSERT_EQ("sop5", f.GetInstance(5).GetSopInstanceUid());
182 ASSERT_EQ(6u, f.GetFramesCount()); 182 ASSERT_EQ(6u, f.GetFramesCount());
183 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(0)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0)); 183 ASSERT_EQ("sop2", f.GetInstanceOfFrame(0).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0));
184 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1)); 184 ASSERT_EQ("sop3", f.GetInstanceOfFrame(1).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1));
185 ASSERT_EQ("sop4", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2)); 185 ASSERT_EQ("sop4", f.GetInstanceOfFrame(2).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2));
186 ASSERT_EQ("sop5", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3)); 186 ASSERT_EQ("sop5", f.GetInstanceOfFrame(3).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3));
187 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(4)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(4)); 187 ASSERT_EQ("sop1", f.GetInstanceOfFrame(4).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(4));
188 ASSERT_EQ("sop2a", f.GetFrameSopInstanceUid(5)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(5)); 188 ASSERT_EQ("sop2a", f.GetInstanceOfFrame(5).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(5));
189 189
190 // The instances must not have been reordered, only the frames 190 // The instances must not have been reordered, only the frames
191 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(0u, i); 191 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(0u, i);
192 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(1u, i); 192 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(1u, i);
193 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2a")); ASSERT_EQ(2u, i); 193 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2a")); ASSERT_EQ(2u, i);
230 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "30", false); 230 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "30", false);
231 f.AddInstance(tags); 231 f.AddInstance(tags);
232 232
233 f.Sort(); 233 f.Sort();
234 ASSERT_EQ(4u, f.GetInstancesCount()); 234 ASSERT_EQ(4u, f.GetInstancesCount());
235 ASSERT_EQ("sop1", f.GetSopInstanceUid(0)); 235 ASSERT_EQ("sop1", f.GetInstance(0).GetSopInstanceUid());
236 ASSERT_EQ("sop2", f.GetSopInstanceUid(1)); 236 ASSERT_EQ("sop2", f.GetInstance(1).GetSopInstanceUid());
237 ASSERT_EQ("sop3", f.GetSopInstanceUid(2)); 237 ASSERT_EQ("sop3", f.GetInstance(2).GetSopInstanceUid());
238 ASSERT_EQ("sop4", f.GetSopInstanceUid(3)); 238 ASSERT_EQ("sop4", f.GetInstance(3).GetSopInstanceUid());
239 ASSERT_EQ(4u, f.GetFramesCount()); 239 ASSERT_EQ(4u, f.GetFramesCount());
240 // First instance number, then image index 240 // First instance number, then image index
241 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(0)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0)); 241 ASSERT_EQ("sop1", f.GetInstanceOfFrame(0).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0));
242 ASSERT_EQ("sop4", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1)); 242 ASSERT_EQ("sop4", f.GetInstanceOfFrame(1).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1));
243 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2)); 243 ASSERT_EQ("sop2", f.GetInstanceOfFrame(2).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2));
244 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3)); 244 ASSERT_EQ("sop3", f.GetInstanceOfFrame(3).GetSopInstanceUid()); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3));
245 } 245 }
246 246
247 247
248 TEST(SortedFrames, FrameOffset) 248 TEST(SortedFrames, FrameOffset)
249 { 249 {
403 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "-0\\1\\0\\-0\\-0\\-1", false); 403 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "-0\\1\\0\\-0\\-0\\-1", false);
404 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "3", false); 404 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "3", false);
405 f.AddInstance(tags); 405 f.AddInstance(tags);
406 f.Sort(); 406 f.Sort();
407 ASSERT_EQ(22u, f.GetFramesCount()); 407 ASSERT_EQ(22u, f.GetFramesCount());
408 ASSERT_EQ(f.GetFrameSopInstanceUid(0), "b9cf5158-06f8e713-7d5111aa-411fd75b-7be2c51e"); 408 ASSERT_EQ(f.GetInstanceOfFrame(0).GetSopInstanceUid(), "b9cf5158-06f8e713-7d5111aa-411fd75b-7be2c51e");
409 ASSERT_EQ(f.GetFrameSopInstanceUid(1), "3e8f8ec1-b603f874-825552f1-6fcac7fa-72ca1aa5"); 409 ASSERT_EQ(f.GetInstanceOfFrame(1).GetSopInstanceUid(), "3e8f8ec1-b603f874-825552f1-6fcac7fa-72ca1aa5");
410 ASSERT_EQ(f.GetFrameSopInstanceUid(2), "348efc0a-71ee4758-56bd51fa-9703cbff-9b51d4c9"); 410 ASSERT_EQ(f.GetInstanceOfFrame(2).GetSopInstanceUid(), "348efc0a-71ee4758-56bd51fa-9703cbff-9b51d4c9");
411 ASSERT_EQ(f.GetFrameSopInstanceUid(3), "a0ca6802-56c697c3-0205bab8-42217cfc-84ff0de6"); 411 ASSERT_EQ(f.GetInstanceOfFrame(3).GetSopInstanceUid(), "a0ca6802-56c697c3-0205bab8-42217cfc-84ff0de6");
412 ASSERT_EQ(f.GetFrameSopInstanceUid(4), "eaa49a94-b9042041-7f45150b-e414f800-d7232874"); 412 ASSERT_EQ(f.GetInstanceOfFrame(4).GetSopInstanceUid(), "eaa49a94-b9042041-7f45150b-e414f800-d7232874");
413 ASSERT_EQ(f.GetFrameSopInstanceUid(5), "a8ee83f9-1cc26ad9-ebba3043-8afc47c2-bd784610"); 413 ASSERT_EQ(f.GetInstanceOfFrame(5).GetSopInstanceUid(), "a8ee83f9-1cc26ad9-ebba3043-8afc47c2-bd784610");
414 ASSERT_EQ(f.GetFrameSopInstanceUid(6), "c19fb4b6-ad1224f2-2c3a2b28-0ea233be-38eea0de"); 414 ASSERT_EQ(f.GetInstanceOfFrame(6).GetSopInstanceUid(), "c19fb4b6-ad1224f2-2c3a2b28-0ea233be-38eea0de");
415 ASSERT_EQ(f.GetFrameSopInstanceUid(7), "e0d82343-9cef01e9-e21df50a-11886a94-1d0216ea"); 415 ASSERT_EQ(f.GetInstanceOfFrame(7).GetSopInstanceUid(), "e0d82343-9cef01e9-e21df50a-11886a94-1d0216ea");
416 ASSERT_EQ(f.GetFrameSopInstanceUid(8), "efce9ff4-3fe07d83-745846f8-fefe5d64-bfea65e6"); 416 ASSERT_EQ(f.GetInstanceOfFrame(8).GetSopInstanceUid(), "efce9ff4-3fe07d83-745846f8-fefe5d64-bfea65e6");
417 ASSERT_EQ(f.GetFrameSopInstanceUid(9), "67b44a5e-8997f88d-6e527bd6-df342483-dab1674c"); 417 ASSERT_EQ(f.GetInstanceOfFrame(9).GetSopInstanceUid(), "67b44a5e-8997f88d-6e527bd6-df342483-dab1674c");
418 ASSERT_EQ(f.GetFrameSopInstanceUid(10), "8bdecadd-e3477e28-bbbf0297-22b0b680-37b13a7c"); 418 ASSERT_EQ(f.GetInstanceOfFrame(10).GetSopInstanceUid(), "8bdecadd-e3477e28-bbbf0297-22b0b680-37b13a7c");
419 ASSERT_EQ(f.GetFrameSopInstanceUid(11), "f5e889ac-c5afdc37-c5b62074-a8bdeef3-c58d9889"); 419 ASSERT_EQ(f.GetInstanceOfFrame(11).GetSopInstanceUid(), "f5e889ac-c5afdc37-c5b62074-a8bdeef3-c58d9889");
420 ASSERT_EQ(f.GetFrameSopInstanceUid(12), "b590cc95-55789755-ebd10b76-911e855e-f24e4fe7"); 420 ASSERT_EQ(f.GetInstanceOfFrame(12).GetSopInstanceUid(), "b590cc95-55789755-ebd10b76-911e855e-f24e4fe7");
421 ASSERT_EQ(f.GetFrameSopInstanceUid(13), "16606f69-83b48518-ab34304a-c8871b7f-a9298d74"); 421 ASSERT_EQ(f.GetInstanceOfFrame(13).GetSopInstanceUid(), "16606f69-83b48518-ab34304a-c8871b7f-a9298d74");
422 ASSERT_EQ(f.GetFrameSopInstanceUid(14), "23d12f39-e9a4fc21-8da338c4-97feff30-48e95534"); 422 ASSERT_EQ(f.GetInstanceOfFrame(14).GetSopInstanceUid(), "23d12f39-e9a4fc21-8da338c4-97feff30-48e95534");
423 ASSERT_EQ(f.GetFrameSopInstanceUid(15), "7a7c0120-37f6dd58-c46312e6-2559975d-5af4616f"); 423 ASSERT_EQ(f.GetInstanceOfFrame(15).GetSopInstanceUid(), "7a7c0120-37f6dd58-c46312e6-2559975d-5af4616f");
424 ASSERT_EQ(f.GetFrameSopInstanceUid(16), "fa56f961-d1ae8f6a-989c04f4-7a588e9e-b41b1a13"); 424 ASSERT_EQ(f.GetInstanceOfFrame(16).GetSopInstanceUid(), "fa56f961-d1ae8f6a-989c04f4-7a588e9e-b41b1a13");
425 ASSERT_EQ(f.GetFrameSopInstanceUid(17), "63d595f3-327a306d-1709bb8b-2a72e11c-4f7221fe"); 425 ASSERT_EQ(f.GetInstanceOfFrame(17).GetSopInstanceUid(), "63d595f3-327a306d-1709bb8b-2a72e11c-4f7221fe");
426 ASSERT_EQ(f.GetFrameSopInstanceUid(18), "5faf886f-bd5517cf-1a6ba06e-ac0e6ddb-47bdd8b2"); 426 ASSERT_EQ(f.GetInstanceOfFrame(18).GetSopInstanceUid(), "5faf886f-bd5517cf-1a6ba06e-ac0e6ddb-47bdd8b2");
427 ASSERT_EQ(f.GetFrameSopInstanceUid(19), "6824db93-ed4e2740-07be953f-6d0a8fb3-af0a3a0b"); 427 ASSERT_EQ(f.GetInstanceOfFrame(19).GetSopInstanceUid(), "6824db93-ed4e2740-07be953f-6d0a8fb3-af0a3a0b");
428 ASSERT_EQ(f.GetFrameSopInstanceUid(20), "dc1576ee-25b0b1ef-e038df76-d296fcad-a1456169"); 428 ASSERT_EQ(f.GetInstanceOfFrame(20).GetSopInstanceUid(), "dc1576ee-25b0b1ef-e038df76-d296fcad-a1456169");
429 ASSERT_EQ(f.GetFrameSopInstanceUid(21), "5a2acb03-063f5063-cac452d1-a55992f9-769900fb"); 429 ASSERT_EQ(f.GetInstanceOfFrame(21).GetSopInstanceUid(), "5a2acb03-063f5063-cac452d1-a55992f9-769900fb");
430 } 430 }
431 431
432 432
433 TEST(SortedFrames, Cardiac) // Created using "SortedFramesCreateTest.py" 433 TEST(SortedFrames, Cardiac) // Created using "SortedFramesCreateTest.py"
434 { 434 {
552 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "0.73931693068262\\0.61320183243991\\-0.2781977510663\\-0.3521819177853\\-3.9073598e-009\\-0.9359315662938", false); 552 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "0.73931693068262\\0.61320183243991\\-0.2781977510663\\-0.3521819177853\\-3.9073598e-009\\-0.9359315662938", false);
553 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "2", false); 553 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "2", false);
554 f.AddInstance(tags); 554 f.AddInstance(tags);
555 f.Sort(); 555 f.Sort();
556 ASSERT_EQ(23u, f.GetFramesCount()); 556 ASSERT_EQ(23u, f.GetFramesCount());
557 ASSERT_EQ(f.GetFrameSopInstanceUid(0), "fda415d4-f1429b07-5d1cd9f0-675059ff-c0ce9e67"); 557 ASSERT_EQ(f.GetInstanceOfFrame(0).GetSopInstanceUid(), "fda415d4-f1429b07-5d1cd9f0-675059ff-c0ce9e67");
558 ASSERT_EQ(f.GetFrameSopInstanceUid(1), "f555ef96-6b01a90c-bdc2585a-dd17bb3a-75e89920"); 558 ASSERT_EQ(f.GetInstanceOfFrame(1).GetSopInstanceUid(), "f555ef96-6b01a90c-bdc2585a-dd17bb3a-75e89920");
559 ASSERT_EQ(f.GetFrameSopInstanceUid(2), "8c7d1e4d-7936f799-c4b8b56b-32d0d9a6-2b492e98"); 559 ASSERT_EQ(f.GetInstanceOfFrame(2).GetSopInstanceUid(), "8c7d1e4d-7936f799-c4b8b56b-32d0d9a6-2b492e98");
560 ASSERT_EQ(f.GetFrameSopInstanceUid(3), "faec09f9-ca7fe0f0-2b25c370-bb1bfaef-8ccfa560"); 560 ASSERT_EQ(f.GetInstanceOfFrame(3).GetSopInstanceUid(), "faec09f9-ca7fe0f0-2b25c370-bb1bfaef-8ccfa560");
561 ASSERT_EQ(f.GetFrameSopInstanceUid(4), "6570b6c0-7d2f324d-db7cad50-843f62df-d0446352"); 561 ASSERT_EQ(f.GetInstanceOfFrame(4).GetSopInstanceUid(), "6570b6c0-7d2f324d-db7cad50-843f62df-d0446352");
562 ASSERT_EQ(f.GetFrameSopInstanceUid(5), "c9dfc022-7b377063-08bdc5e8-fedcc463-8de22ee6"); 562 ASSERT_EQ(f.GetInstanceOfFrame(5).GetSopInstanceUid(), "c9dfc022-7b377063-08bdc5e8-fedcc463-8de22ee6");
563 ASSERT_EQ(f.GetFrameSopInstanceUid(6), "0be36fe7-6c7a762b-281cf109-fff9d8ea-42e16b7a"); 563 ASSERT_EQ(f.GetInstanceOfFrame(6).GetSopInstanceUid(), "0be36fe7-6c7a762b-281cf109-fff9d8ea-42e16b7a");
564 ASSERT_EQ(f.GetFrameSopInstanceUid(7), "ec282396-a8209d00-1c5091f3-f632bf3d-a1bcebba"); 564 ASSERT_EQ(f.GetInstanceOfFrame(7).GetSopInstanceUid(), "ec282396-a8209d00-1c5091f3-f632bf3d-a1bcebba");
565 ASSERT_EQ(f.GetFrameSopInstanceUid(8), "7906b806-47190031-72c5043c-d42704c1-688a3b23"); 565 ASSERT_EQ(f.GetInstanceOfFrame(8).GetSopInstanceUid(), "7906b806-47190031-72c5043c-d42704c1-688a3b23");
566 ASSERT_EQ(f.GetFrameSopInstanceUid(9), "9e3b97ec-25b86a67-2cbb8f77-94e73268-4509d383"); 566 ASSERT_EQ(f.GetInstanceOfFrame(9).GetSopInstanceUid(), "9e3b97ec-25b86a67-2cbb8f77-94e73268-4509d383");
567 ASSERT_EQ(f.GetFrameSopInstanceUid(10), "efc9f411-9f4294e0-66d292a1-b8b6b421-897f1d80"); 567 ASSERT_EQ(f.GetInstanceOfFrame(10).GetSopInstanceUid(), "efc9f411-9f4294e0-66d292a1-b8b6b421-897f1d80");
568 ASSERT_EQ(f.GetFrameSopInstanceUid(11), "b348f629-11d59f98-fb22710b-4964b90a-f44436ff"); 568 ASSERT_EQ(f.GetInstanceOfFrame(11).GetSopInstanceUid(), "b348f629-11d59f98-fb22710b-4964b90a-f44436ff");
569 ASSERT_EQ(f.GetFrameSopInstanceUid(12), "aac4f2ba-e863f124-6af96709-053258a7-3d39db26"); 569 ASSERT_EQ(f.GetInstanceOfFrame(12).GetSopInstanceUid(), "aac4f2ba-e863f124-6af96709-053258a7-3d39db26");
570 ASSERT_EQ(f.GetFrameSopInstanceUid(13), "a468da62-a8a6e0b9-f66b86b0-b15fa30b-93077161"); 570 ASSERT_EQ(f.GetInstanceOfFrame(13).GetSopInstanceUid(), "a468da62-a8a6e0b9-f66b86b0-b15fa30b-93077161");
571 ASSERT_EQ(f.GetFrameSopInstanceUid(14), "d52d5f21-54f1ad99-4015a995-108f7210-ee157944"); 571 ASSERT_EQ(f.GetInstanceOfFrame(14).GetSopInstanceUid(), "d52d5f21-54f1ad99-4015a995-108f7210-ee157944");
572 ASSERT_EQ(f.GetFrameSopInstanceUid(15), "8346a1db-0b08a22b-9045aaad-57098aac-5b2e9159"); 572 ASSERT_EQ(f.GetInstanceOfFrame(15).GetSopInstanceUid(), "8346a1db-0b08a22b-9045aaad-57098aac-5b2e9159");
573 ASSERT_EQ(f.GetFrameSopInstanceUid(16), "20b42f52-6d5f784b-cdbc0fbe-4bfc6b0c-5a199c75"); 573 ASSERT_EQ(f.GetInstanceOfFrame(16).GetSopInstanceUid(), "20b42f52-6d5f784b-cdbc0fbe-4bfc6b0c-5a199c75");
574 ASSERT_EQ(f.GetFrameSopInstanceUid(17), "caa62568-fdf894fe-08f830a2-5a468967-681d954b"); 574 ASSERT_EQ(f.GetInstanceOfFrame(17).GetSopInstanceUid(), "caa62568-fdf894fe-08f830a2-5a468967-681d954b");
575 ASSERT_EQ(f.GetFrameSopInstanceUid(18), "931d0c36-8fbb4101-70e6d756-edb15431-aaa9a31b"); 575 ASSERT_EQ(f.GetInstanceOfFrame(18).GetSopInstanceUid(), "931d0c36-8fbb4101-70e6d756-edb15431-aaa9a31b");
576 ASSERT_EQ(f.GetFrameSopInstanceUid(19), "8fefe14c-c4c34152-2c3d3514-04e75747-eb7f01f0"); 576 ASSERT_EQ(f.GetInstanceOfFrame(19).GetSopInstanceUid(), "8fefe14c-c4c34152-2c3d3514-04e75747-eb7f01f0");
577 ASSERT_EQ(f.GetFrameSopInstanceUid(20), "1cf40ac9-e823e677-cbd5db4b-9e48b451-cccbf950"); 577 ASSERT_EQ(f.GetInstanceOfFrame(20).GetSopInstanceUid(), "1cf40ac9-e823e677-cbd5db4b-9e48b451-cccbf950");
578 ASSERT_EQ(f.GetFrameSopInstanceUid(21), "e734c170-96b0a397-95e3b43e-d7a5ed74-025843c8"); 578 ASSERT_EQ(f.GetInstanceOfFrame(21).GetSopInstanceUid(), "e734c170-96b0a397-95e3b43e-d7a5ed74-025843c8");
579 ASSERT_EQ(f.GetFrameSopInstanceUid(22), "99c20bcc-115ae447-84d616f2-cb6c5576-9f67aa7a"); 579 ASSERT_EQ(f.GetInstanceOfFrame(22).GetSopInstanceUid(), "99c20bcc-115ae447-84d616f2-cb6c5576-9f67aa7a");
580 } 580 }