Mercurial > hg > orthanc-stone
comparison UnitTestsSources/SortedFramesTests.cpp @ 1631:960bb5fcc440
SortedFrames::GetFrameGeometry()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 09 Nov 2020 18:49:08 +0100 |
parents | b2941196cabf |
children | 4796fb60999e |
comparison
equal
deleted
inserted
replaced
1630:78509230f0d7 | 1631:960bb5fcc440 |
---|---|
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.GetFrameSopInstanceUid(0)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(0)); |
242 ASSERT_EQ("sop4", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1)); | 242 ASSERT_EQ("sop4", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(1)); |
243 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2)); | 243 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(2)); |
244 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3)); | 244 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameNumberInInstance(3)); |
245 } | |
246 | |
247 | |
248 TEST(SortedFrames, FrameOffset) | |
249 { | |
250 Orthanc::DicomMap tags; | |
251 tags.SetValue(Orthanc::DICOM_TAG_STUDY_INSTANCE_UID, "study", false); | |
252 tags.SetValue(Orthanc::DICOM_TAG_SERIES_INSTANCE_UID, "series", false); | |
253 tags.SetValue(Orthanc::DICOM_TAG_SOP_INSTANCE_UID, "1.2.276.0.7230010.3.1.4.296485376.1.1568899779.944133", false); | |
254 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_POSITION_PATIENT, "-350\\-145\\-985", false); | |
255 tags.SetValue(Orthanc::DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "1\\0\\0\\0\\1\\0", false); | |
256 tags.SetValue(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES, "2", false); | |
257 | |
258 for (unsigned int i = 0; i < 3; i++) | |
259 { | |
260 tags.SetValue(Orthanc::DICOM_TAG_FRAME_INCREMENT_POINTER, i != 1 ? "3004,000c" : "nope", false); | |
261 tags.SetValue(Orthanc::DICOM_TAG_GRID_FRAME_OFFSET_VECTOR, i != 2 ? "8\\11" : "1\\2\\3", false); | |
262 | |
263 OrthancStone::SortedFrames f; | |
264 f.AddInstance(tags); | |
265 f.Sort(); | |
266 | |
267 ASSERT_EQ(2u, f.GetFramesCount()); | |
268 ASSERT_TRUE(f.GetFrameGeometry(0).IsValid()); | |
269 ASSERT_TRUE(f.GetFrameGeometry(1).IsValid()); | |
270 ASSERT_FLOAT_EQ(-350.0f, f.GetFrameGeometry(0).GetOrigin() [0]); | |
271 ASSERT_FLOAT_EQ(-145.0f, f.GetFrameGeometry(0).GetOrigin() [1]); | |
272 ASSERT_FLOAT_EQ(-350.0f, f.GetFrameGeometry(1).GetOrigin() [0]); | |
273 ASSERT_FLOAT_EQ(-145.0f, f.GetFrameGeometry(1).GetOrigin() [1]); | |
274 | |
275 if (i == 0) | |
276 { | |
277 ASSERT_FLOAT_EQ(-985.0f + 8.0f, f.GetFrameGeometry(0).GetOrigin() [2]); | |
278 ASSERT_FLOAT_EQ(-985.0f + 11.0f, f.GetFrameGeometry(1).GetOrigin() [2]); | |
279 } | |
280 else | |
281 { | |
282 ASSERT_FLOAT_EQ(-985.0f, f.GetFrameGeometry(0).GetOrigin() [2]); | |
283 ASSERT_FLOAT_EQ(-985.0f, f.GetFrameGeometry(1).GetOrigin() [2]); | |
284 } | |
285 } | |
245 } | 286 } |
246 | 287 |
247 | 288 |
248 TEST(SortedFrames, Knix) // Created using "SortedFramesCreateTest.py" | 289 TEST(SortedFrames, Knix) // Created using "SortedFramesCreateTest.py" |
249 { | 290 { |