34 class mitkTimeGeometryTestClass
37 void Translation_Image_MovedOrigin(
unsigned int DimX,
unsigned int DimY,
unsigned int DimZ,
unsigned int DimT)
41 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
45 expectedOrigin[0] = 0;
46 expectedOrigin[1] = 0;
47 expectedOrigin[2] = 0;
50 expectedOrigin[0] = 0.325;
51 expectedOrigin[1] = 0.487;
52 expectedOrigin[2] = 0.78;
55 translationVector[0] = expectedOrigin[0];
56 translationVector[1] = expectedOrigin[1];
57 translationVector[2] = expectedOrigin[2];
59 for (
mitk::TimeStepType timeStep = 0; timeStep < image->GetTimeGeometry()->CountTimeSteps(); ++timeStep)
61 image->GetTimeGeometry()->GetGeometryForTimeStep(timeStep)->Translate(translationVector);
63 imageOrigin = image->GetGeometry(0)->GetOrigin();
66 expectedOrigin[0] = 2 * translationVector[0];
67 expectedOrigin[1] = 2 * translationVector[1];
68 expectedOrigin[2] = 2 * translationVector[2];
70 for (
mitk::TimeStepType timeStep = 0; timeStep < image->GetTimeGeometry()->CountTimeSteps(); ++timeStep)
72 image->GetTimeGeometry()->GetGeometryForTimeStep(timeStep)->Translate(translationVector);
74 imageOrigin = image->GetGeometry(0)->GetOrigin();
88 dataNode->SetData(baseData);
92 expectedPoint[0] = 3 * 0.5;
93 expectedPoint[1] = 3 * 0.33;
94 expectedPoint[2] = 3 * 0.78;
100 geometry->IndexToWorld(originalPoint, worldPoint);
102 "Index-to-World without rotation as expected ");
105 pointOfRotation[0] = 0;
106 pointOfRotation[1] = 0;
107 pointOfRotation[2] = 0;
109 vectorOfRotation[0] = 1;
110 vectorOfRotation[1] = 0.5;
111 vectorOfRotation[2] = 0.2;
118 expectedPoint[0] = 2.6080379;
119 expectedPoint[1] = -0.75265157;
120 expectedPoint[2] = 1.1564401;
126 void Scale_Image_ScaledPoint(
unsigned int DimX,
unsigned int DimY,
unsigned int DimZ,
unsigned int DimT)
130 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
133 expectedPoint[0] = 3 * 0.5;
134 expectedPoint[1] = 3 * 0.33;
135 expectedPoint[2] = 3 * 0.78;
137 originalPoint[0] = 3;
138 originalPoint[1] = 3;
139 originalPoint[2] = 3;
141 geometry->IndexToWorld(originalPoint, worldPoint);
143 "Index-to-World with old Scaling as expected ");
147 newSpacing[1] = 1.254;
148 newSpacing[2] = 0.224;
149 image->SetSpacing(newSpacing);
150 expectedPoint[0] = 3 * 2;
151 expectedPoint[1] = 3 * 1.254;
152 expectedPoint[2] = 3 * 0.224;
154 image->GetGeometry(0)->IndexToWorld(originalPoint, worldPoint);
156 "Index-toWorld with new Scaling returns expected values ");
159 void GetMinimumTimePoint_4DBaseData_Zero(
mitk::BaseData *baseData,
unsigned int )
167 void GetMaximumTimePoint_4DBaseData_DimT(
mitk::BaseData *baseData,
unsigned int DimT)
175 void CountTimeSteps_Image_ReturnDimT(
176 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
192 "Returns correct minimum time point ");
204 MITK_INFO << std::numeric_limits<mitk::TimePointType>().
max();
206 "Returns correct maximum time point ");
209 void GetTimeBounds_4DImage_ZeroAndDimT(
unsigned int DimX,
unsigned int DimY,
unsigned int DimZ,
unsigned int DimT)
212 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
229 "Returns correct minimum time point ");
231 "Returns correct maximum time point ");
234 void IsValidTimePoint_ImageValidTimePoint_True(
235 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
239 bool isValid = geometry->IsValidTimePoint(DimT - 1);
243 void IsValidTimePoint_ImageNegativInvalidTimePoint_False(
unsigned int DimX,
249 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
251 bool isValid = geometry->IsValidTimePoint(-static_cast<int>(DimT));
255 void IsValidTimePoint_ImageInvalidTimePoint_False(
unsigned int DimX,
261 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
263 bool isValid = geometry->IsValidTimePoint(DimT + 1);
267 void IsValidTimeStep_ImageValidTimeStep_True(
268 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
271 bool isValid = geometry->IsValidTimeStep(DimT - 1);
275 void IsValidTimeStep_ImageNegativInvalidTimeStep_False(
276 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
279 bool isValid = geometry->IsValidTimeStep(-static_cast<int>(DimT));
283 void IsValidTimeStep_ImageInvalidTimeStep_False(
284 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
287 bool isValid = geometry->IsValidTimeStep(DimT);
291 void TimeStepToTimePoint_ImageValidTimeStep_TimePoint(
292 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
299 void TimeStepToTimePoint_ImageInvalidTimeStep_TimePoint(
300 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
307 void TimePointToTimeStep_ImageValidTimePoint_TimePoint(
308 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
315 void TimePointToTimeStep_4DImageInvalidTimePoint_TimePoint(
unsigned int DimX,
321 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
327 void TimePointToTimeStep_4DImageNegativInvalidTimePoint_TimePoint(
unsigned int DimX,
333 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
340 void GetGeometryForTimeStep_BaseDataValidTimeStep_CorrectGeometry(
mitk::BaseData *baseData,
355 expectedPoint[0] = outputX;
356 expectedPoint[1] = outputY;
357 expectedPoint[2] = outputZ;
359 originalPoint[0] = inputX;
360 originalPoint[1] = inputY;
361 originalPoint[2] = inputZ;
363 geometry3D->IndexToWorld(originalPoint, worldPoint);
367 void GetGeometryForTimeStep_ImageInvalidTimeStep_NullPointer(
368 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
375 void GetGeometryForTimePoint_BaseDataValidTimePoint_CorrectGeometry(
mitk::BaseData *baseData,
390 expectedPoint[0] = outputX;
391 expectedPoint[1] = outputY;
392 expectedPoint[2] = outputZ;
394 originalPoint[0] = inputX;
395 originalPoint[1] = inputY;
396 originalPoint[2] = inputZ;
398 geometry3D->IndexToWorld(originalPoint, worldPoint);
402 void GetGeometryForTimePoint_4DImageInvalidTimePoint_NullPointer(
unsigned int DimX,
408 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
411 MITK_TEST_CONDITION(geometry3D.IsNull(),
"Null-Pointer geometry returned with invalid time point");
414 void GetGeometryForTimePoint_4DImageNEgativInvalidTimePoint_NullPointer(
unsigned int DimX,
420 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
424 MITK_TEST_CONDITION(geometry3D.IsNull(),
"Null-Pointer geometry returned with invalid negativ time point");
427 void GetGeometryCloneForTimeStep_BaseDataValidTimeStep_CorrectGeometry(
mitk::BaseData *baseData,
unsigned int DimT)
435 originalPoint[0] = 3;
436 originalPoint[1] = 3;
437 originalPoint[2] = 3;
439 geometry3D->IndexToWorld(originalPoint, expectedPoint);
442 translationVector[0] = 5;
443 translationVector[1] = 8;
444 translationVector[2] = 7;
445 geometry3D->Translate(translationVector);
447 geometry3D = geometry->GetGeometryForTimeStep(DimT - 1);
448 geometry3D->IndexToWorld(originalPoint, worldPoint);
452 void GetGeometryCloneForTimeStep_ImageInvalidTimeStep_NullPointer(
453 mitk::BaseData *baseData,
unsigned int ,
unsigned int ,
unsigned int ,
unsigned int DimT)
460 void SetTimeStepGeometry_BaseDataValidTimeStep_CorrectGeometry(
mitk::BaseData *baseData,
472 translationVector[0] = 5;
473 translationVector[1] = 8;
474 translationVector[2] = 7;
475 geometry3D->Translate(translationVector);
477 geometry->SetTimeStepGeometry(geometry3D, DimT - 1);
480 expectedPoint[0] = 3 * scaleX + 5;
481 expectedPoint[1] = 3 * scaleY + 8;
482 expectedPoint[2] = 3 * scaleZ + 7;
484 originalPoint[0] = 3;
485 originalPoint[1] = 3;
486 originalPoint[2] = 3;
488 geometry->GetGeometryForTimeStep(DimT - 1)->IndexToWorld(originalPoint, worldPoint);
492 void Expand_BaseDataDoubleSize_SizeChanged(
mitk::BaseData *baseData,
unsigned int DimT)
495 MITK_TEST_CONDITION(geometry->CountTimeSteps() == DimT,
"Number of time Steps match expection. ");
497 geometry->Expand(DimT * 2);
498 MITK_TEST_CONDITION(geometry->CountTimeSteps() == DimT * 2,
"Number of time Steps match expection. ");
504 void CheckBounds_BaseData_PointsAsExpected(
mitk::BaseData *baseData,
517 expectedPoint[0] = minX;
518 expectedPoint[1] = minY;
519 expectedPoint[2] = minZ;
522 point = geometry->GetCornerPointInWorld(
true,
true,
true);
525 point = geometry->GetCornerPointInWorld(1);
526 expectedPoint[0] = minX;
527 expectedPoint[1] = minY;
528 expectedPoint[2] = maxZ;
530 point = geometry->GetCornerPointInWorld(
true,
true,
false);
533 point = geometry->GetCornerPointInWorld(2);
534 expectedPoint[0] = minX;
535 expectedPoint[1] = maxY;
536 expectedPoint[2] = minZ;
538 point = geometry->GetCornerPointInWorld(
true,
false,
true);
541 point = geometry->GetCornerPointInWorld(3);
542 expectedPoint[0] = minX;
543 expectedPoint[1] = maxY;
544 expectedPoint[2] = maxZ;
546 point = geometry->GetCornerPointInWorld(
true,
false,
false);
549 point = geometry->GetCornerPointInWorld(4);
550 expectedPoint[0] = maxX;
551 expectedPoint[1] = minY;
552 expectedPoint[2] = minZ;
554 point = geometry->GetCornerPointInWorld(
false,
true,
true);
557 point = geometry->GetCornerPointInWorld(5);
558 expectedPoint[0] = maxX;
559 expectedPoint[1] = minY;
560 expectedPoint[2] = maxZ;
562 point = geometry->GetCornerPointInWorld(
false,
true,
false);
565 point = geometry->GetCornerPointInWorld(6);
566 expectedPoint[0] = maxX;
567 expectedPoint[1] = maxY;
568 expectedPoint[2] = minZ;
570 point = geometry->GetCornerPointInWorld(
false,
false,
true);
573 point = geometry->GetCornerPointInWorld(7);
574 expectedPoint[0] = maxX;
575 expectedPoint[1] = maxY;
576 expectedPoint[2] = maxZ;
578 point = geometry->GetCornerPointInWorld(
false,
false,
false);
582 void CheckLength_BaseData_AsExpected(
mitk::BaseData *baseData,
double length,
double squareLength)
587 double dimension = geometry->GetDiagonalLengthInWorld();
590 dimension = geometry->GetDiagonalLength2InWorld();
594 void CheckPointInside_BaseDataPointInside_True(
mitk::BaseData *baseData,
604 expectedPoint[0] = pointX;
605 expectedPoint[1] = pointY;
606 expectedPoint[2] = pointZ;
607 bool isInside = geometry->IsWorldPointInside(expectedPoint);
611 void CheckPointInside_BaseDataPointOutside_False(
mitk::BaseData *baseData,
621 expectedPoint[0] = pointX;
622 expectedPoint[1] = pointY;
623 expectedPoint[2] = pointZ;
624 bool isInside = geometry->IsWorldPointInside(expectedPoint);
628 void CheckBounds_Image_AsSet(
unsigned int DimX,
unsigned int DimY,
unsigned int DimZ,
unsigned int DimT)
631 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(DimX, DimY, DimZ, DimT, 0.5, 0.33, 0.78, 100);
659 isEqual = isEqual &&
mitk::Equal(bound[0], minBoundX);
660 isEqual = isEqual &&
mitk::Equal(bound[1], maxBoundX);
661 isEqual = isEqual &&
mitk::Equal(bound[2], minBoundY);
662 isEqual = isEqual &&
mitk::Equal(bound[3], maxBoundY);
663 isEqual = isEqual &&
mitk::Equal(bound[4], minBoundZ);
664 isEqual = isEqual &&
mitk::Equal(bound[5], maxBoundZ);
669 void CheckExtent_BaseData_AsSet(
mitk::BaseData *baseData,
double extentX,
double extentY,
double extentZ)
689 pointSet->SetPoint(1, pointA);
690 pointSet->SetPoint(2, pointB);
691 pointSet->SetPoint(3, pointC);
712 mitkTimeGeometryTestClass testClass;
716 mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(30, 25, 20, 1, 0.5, 0.33, 0.78, 100);
717 testClass.Translation_Image_MovedOrigin(30, 25, 20, 1);
718 testClass.Rotate_Image_RotatedPoint(image->Clone(), 30, 25, 20, 1);
719 testClass.Scale_Image_ScaledPoint(30, 25, 20, 1);
720 testClass.CountTimeSteps_Image_ReturnDimT(image->Clone(), 30, 25, 20, 1);
721 testClass.GetMinimumTimePoint_3DImage_Min(image->Clone(), 30, 25, 20, 1);
722 testClass.GetMaximumTimePoint_3DImage_Max(image->Clone(), 30, 25, 20, 1);
723 testClass.GetTimeBounds_3DImage_ZeroAndDimT(image->Clone(), 30, 25, 20, 1);
724 testClass.IsValidTimePoint_ImageValidTimePoint_True(image->Clone(), 30, 25, 20, 1);
725 testClass.IsValidTimeStep_ImageValidTimeStep_True(image->Clone(), 30, 25, 20, 1);
726 testClass.IsValidTimeStep_ImageNegativInvalidTimeStep_False(image->Clone(), 30, 25, 20, 1);
727 testClass.IsValidTimeStep_ImageInvalidTimeStep_False(image->Clone(), 30, 25, 20, 1);
728 testClass.TimeStepToTimePoint_ImageValidTimeStep_TimePoint(image->Clone(), 30, 25, 20, 1);
729 testClass.TimeStepToTimePoint_ImageInvalidTimeStep_TimePoint(image->Clone(), 30, 25, 20, 1);
730 testClass.TimePointToTimeStep_ImageValidTimePoint_TimePoint(image->Clone(), 30, 25, 20, 1);
731 testClass.GetGeometryForTimeStep_BaseDataValidTimeStep_CorrectGeometry(
732 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 1);
733 testClass.GetGeometryForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 20, 1);
734 testClass.GetGeometryForTimePoint_BaseDataValidTimePoint_CorrectGeometry(
735 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 1);
736 testClass.GetGeometryCloneForTimeStep_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 1);
737 testClass.GetGeometryCloneForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 20, 1);
738 testClass.SetTimeStepGeometry_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 0.5, 0.33, 0.78, 1);
739 testClass.Expand_BaseDataDoubleSize_SizeChanged(image->Clone(), 1);
740 testClass.CheckBounds_BaseData_PointsAsExpected(
741 image->Clone(), -0.5 * 0.5, -0.5 * 0.33, -0.5 * 0.78, 29.5 * 0.5, 24.5 * 0.33, 19.5 * 0.78);
742 testClass.CheckLength_BaseData_AsExpected(image->Clone(), 23.160796233014466, 536.42248214721712);
743 testClass.CheckPointInside_BaseDataPointInside_True(image->Clone(), 10, 5, 5);
744 testClass.CheckPointInside_BaseDataPointOutside_False(image->Clone(), 100, 500, 100);
745 testClass.CheckBounds_Image_AsSet(30, 25, 20, 1);
746 testClass.CheckExtent_BaseData_AsSet(image->Clone(), 30 * 0.5, 25 * 0.33, 20 * 0.78);
749 image = mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(30, 25, 1, 1, 0.5, 0.33, 0.78, 100);
750 testClass.Translation_Image_MovedOrigin(30, 25, 1, 1);
751 testClass.Rotate_Image_RotatedPoint(image->Clone(), 30, 25, 1, 1);
752 testClass.Scale_Image_ScaledPoint(30, 25, 1, 1);
753 testClass.CountTimeSteps_Image_ReturnDimT(image->Clone(), 30, 25, 1, 1);
754 testClass.GetMinimumTimePoint_3DImage_Min(image->Clone(), 30, 25, 1, 1);
755 testClass.GetMaximumTimePoint_3DImage_Max(image->Clone(), 30, 25, 1, 1);
756 testClass.GetTimeBounds_3DImage_ZeroAndDimT(image->Clone(), 30, 25, 1, 1);
757 testClass.IsValidTimePoint_ImageValidTimePoint_True(image->Clone(), 30, 25, 1, 1);
758 testClass.IsValidTimeStep_ImageValidTimeStep_True(image->Clone(), 30, 25, 1, 1);
759 testClass.IsValidTimeStep_ImageNegativInvalidTimeStep_False(image->Clone(), 30, 25, 1, 1);
760 testClass.IsValidTimeStep_ImageInvalidTimeStep_False(image->Clone(), 30, 25, 1, 1);
761 testClass.TimeStepToTimePoint_ImageValidTimeStep_TimePoint(image->Clone(), 30, 25, 1, 1);
762 testClass.TimeStepToTimePoint_ImageInvalidTimeStep_TimePoint(image->Clone(), 30, 25, 1, 1);
763 testClass.TimePointToTimeStep_ImageValidTimePoint_TimePoint(image->Clone(), 30, 25, 1, 1);
764 testClass.GetGeometryForTimeStep_BaseDataValidTimeStep_CorrectGeometry(
765 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 1);
766 testClass.GetGeometryForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 1, 1);
767 testClass.GetGeometryForTimePoint_BaseDataValidTimePoint_CorrectGeometry(
768 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 1);
769 testClass.GetGeometryCloneForTimeStep_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 1);
770 testClass.GetGeometryCloneForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 1, 1);
771 testClass.SetTimeStepGeometry_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 0.5, 0.33, 0.78, 1);
772 testClass.Expand_BaseDataDoubleSize_SizeChanged(image->Clone(), 1);
773 testClass.CheckBounds_BaseData_PointsAsExpected(
774 image->Clone(), -0.5 * 0.5, -0.5 * 0.33, -0.5 * 0.78, 29.5 * 0.5, 24.5 * 0.33, 0.5 * 0.78);
775 testClass.CheckLength_BaseData_AsExpected(image->Clone(), 17.1368287615, 293.6709);
776 testClass.CheckPointInside_BaseDataPointInside_True(image->Clone(), 10, 5, 0);
777 testClass.CheckPointInside_BaseDataPointOutside_False(image->Clone(), 100, 500, 0.5);
778 testClass.CheckExtent_BaseData_AsSet(image->Clone(), 30 * 0.5, 25 * 0.33, 1 * 0.78);
781 image = mitk::ImageGenerator::GenerateRandomImage<mitk::ScalarType>(30, 25, 20, 5, 0.5, 0.33, 0.78, 100);
782 testClass.Translation_Image_MovedOrigin(30, 25, 20, 5);
783 testClass.Rotate_Image_RotatedPoint(image->Clone(), 30, 25, 20, 5);
784 testClass.Scale_Image_ScaledPoint(30, 25, 20, 5);
785 testClass.CountTimeSteps_Image_ReturnDimT(image->Clone(), 30, 25, 20, 5);
786 testClass.GetMinimumTimePoint_4DBaseData_Zero(image->Clone(), 5);
787 testClass.GetMaximumTimePoint_4DBaseData_DimT(image->Clone(), 5);
788 testClass.GetTimeBounds_4DImage_ZeroAndDimT(30, 25, 20, 5);
789 testClass.IsValidTimePoint_ImageValidTimePoint_True(image->Clone(), 30, 25, 20, 5);
790 testClass.IsValidTimePoint_ImageNegativInvalidTimePoint_False(30, 25, 20, 5);
791 testClass.IsValidTimePoint_ImageInvalidTimePoint_False(30, 25, 20, 5);
792 testClass.IsValidTimeStep_ImageValidTimeStep_True(image->Clone(), 30, 25, 20, 5);
793 testClass.IsValidTimeStep_ImageNegativInvalidTimeStep_False(image->Clone(), 30, 25, 20, 5);
794 testClass.IsValidTimeStep_ImageInvalidTimeStep_False(image->Clone(), 30, 25, 20, 5);
795 testClass.TimeStepToTimePoint_ImageValidTimeStep_TimePoint(image->Clone(), 30, 25, 20, 5);
796 testClass.TimeStepToTimePoint_ImageInvalidTimeStep_TimePoint(image->Clone(), 30, 25, 20, 5);
797 testClass.TimePointToTimeStep_ImageValidTimePoint_TimePoint(image->Clone(), 30, 25, 20, 5);
798 testClass.TimePointToTimeStep_4DImageInvalidTimePoint_TimePoint(30, 25, 20, 5);
799 testClass.TimePointToTimeStep_4DImageNegativInvalidTimePoint_TimePoint(30, 25, 20, 5);
800 testClass.GetGeometryForTimeStep_BaseDataValidTimeStep_CorrectGeometry(
801 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 5);
802 testClass.GetGeometryForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 20, 5);
803 testClass.GetGeometryForTimePoint_BaseDataValidTimePoint_CorrectGeometry(
804 image->Clone(), 3, 3, 3, 3 * 0.5, 3 * 0.33, 3 * 0.78, 5);
805 testClass.GetGeometryForTimePoint_4DImageInvalidTimePoint_NullPointer(30, 25, 20, 5);
806 testClass.GetGeometryForTimePoint_4DImageNEgativInvalidTimePoint_NullPointer(30, 25, 20, 5);
807 testClass.GetGeometryCloneForTimeStep_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 5);
808 testClass.GetGeometryCloneForTimeStep_ImageInvalidTimeStep_NullPointer(image->Clone(), 30, 25, 20, 5);
809 testClass.SetTimeStepGeometry_BaseDataValidTimeStep_CorrectGeometry(image->Clone(), 0.5, 0.33, 0.78, 5);
810 testClass.Expand_BaseDataDoubleSize_SizeChanged(image->Clone(), 5);
811 testClass.CheckBounds_BaseData_PointsAsExpected(
812 image->Clone(), -0.5 * 0.5, -0.5 * 0.33, -0.5 * 0.78, 29.5 * 0.5, 24.5 * 0.33, 19.5 * 0.78);
813 testClass.CheckLength_BaseData_AsExpected(image->Clone(), 23.160796233014466, 536.42248214721712);
814 testClass.CheckPointInside_BaseDataPointInside_True(image->Clone(), 10, 5, 5);
815 testClass.CheckPointInside_BaseDataPointOutside_False(image->Clone(), 100, 100, 500);
816 testClass.CheckBounds_Image_AsSet(30, 25, 20, 5);
817 testClass.CheckExtent_BaseData_AsSet(image->Clone(), 30 * 0.5, 25 * 0.33, 20 * 0.78);
831 pointSet->SetPoint(0, pointA);
832 pointSet->SetPoint(1, pointB);
833 pointSet->SetPoint(2, pointC);
834 testClass.CountTimeSteps_Image_ReturnDimT(pointSet->Clone(), 30, 25, 20, 1);
838 testClass.IsValidTimePoint_ImageValidTimePoint_True(pointSet->Clone(), 30, 25, 20, 1);
839 testClass.IsValidTimeStep_ImageValidTimeStep_True(pointSet->Clone(), 30, 25, 20, 1);
840 testClass.IsValidTimeStep_ImageNegativInvalidTimeStep_False(pointSet->Clone(), 30, 25, 20, 1);
841 testClass.IsValidTimeStep_ImageInvalidTimeStep_False(pointSet->Clone(), 30, 25, 20, 1);
842 testClass.TimeStepToTimePoint_ImageValidTimeStep_TimePoint(pointSet->Clone(), 30, 25, 20, 1);
843 testClass.TimeStepToTimePoint_ImageInvalidTimeStep_TimePoint(pointSet->Clone(), 30, 25, 20, 1);
844 testClass.TimePointToTimeStep_ImageValidTimePoint_TimePoint(pointSet->Clone(), 30, 25, 20, 1);
845 testClass.GetGeometryForTimeStep_BaseDataValidTimeStep_CorrectGeometry(pointSet->Clone(), 3, 3, 3, 3, 3, 3, 1);
846 testClass.GetGeometryForTimeStep_ImageInvalidTimeStep_NullPointer(pointSet->Clone(), 30, 25, 20, 1);
847 testClass.GetGeometryForTimePoint_BaseDataValidTimePoint_CorrectGeometry(pointSet->Clone(), 3, 3, 3, 3, 3, 3, 1);
848 testClass.GetGeometryCloneForTimeStep_BaseDataValidTimeStep_CorrectGeometry(pointSet->Clone(), 1);
849 testClass.GetGeometryCloneForTimeStep_ImageInvalidTimeStep_NullPointer(pointSet->Clone(), 30, 25, 20, 1);
850 testClass.SetTimeStepGeometry_BaseDataValidTimeStep_CorrectGeometry(pointSet->Clone(), 1, 1, 1, 1);
851 testClass.Expand_BaseDataDoubleSize_SizeChanged(pointSet->Clone(), 1);
852 testClass.CheckBounds_BaseData_PointsAsExpected(pointSet->Clone(), 1, 1, 1, 3, 3, 3);
853 testClass.CheckLength_BaseData_AsExpected(pointSet->Clone(), 3.46410161, 12);
854 testClass.CheckPointInside_BaseDataPointInside_True(pointSet->Clone(), 2, 2, 3);
855 testClass.CheckPointInside_BaseDataPointOutside_False(pointSet->Clone(), 4, 5, 1);
856 testClass.CheckBounds_BaseData_AsSet(pointSet->Clone(), 1, 3, 1, 3, 1, 3);
857 testClass.CheckExtent_BaseData_AsSet(pointSet->Clone(), 2, 2, 2);
void IndexToWorld(const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm)...
static const mitk::ScalarType test_eps_square
itk::FixedArray< ScalarType, 2 > TimeBounds
Standard typedef for time-bounds.
Base of all data objects.
int mitkTimeGeometryTest(int, char *[])
section GeneralTestsDeprecatedOldTestingStyle Deprecated macros All tests with MITK_TEST_BEGIN()
Constants for most interaction classes, due to the generic StateMachines.
#define MITK_TEST_OUTPUT(x)
Output some text.
static const mitk::ScalarType test_eps
const mitk::TimeGeometry * GetTimeGeometry() const
Return the TimeGeometry of the data as const pointer.
void ExecuteOperation(Operation *op) override
Executes the given operation on all time steps.
#define MITK_TEST_CONDITION(COND, MSG)
mitk::ScalarType TimePointType
std::vcl_size_t TimeStepType
mitk::Image::Pointer image
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
virtual BaseGeometry::Pointer GetGeometryForTimeStep(TimeStepType timeStep) const =0
Returns the geometry which corresponds to the given time step.
Operation, that holds everything necessary for an rotation operation on mitk::BaseData.
mitk::BaseGeometry * GetGeometry(int t=0) const
Return the geometry, which is a TimeGeometry, of the data as non-const pointer.
BoundingBoxType::BoundsArrayType BoundsArrayType