MCPcopy Create free account
hub / github.com/MITK/MITK / Equal

Method Equal

Modules/Core/src/DataManagement/mitkImage.cpp:1340–1419  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1338}
1339
1340bool mitk::Equal(const mitk::Image &leftHandSide, const mitk::Image &rightHandSide, ScalarType eps, bool verbose)
1341{
1342 bool returnValue = true;
1343
1344 // Dimensionality
1345 if (rightHandSide.GetDimension() != leftHandSide.GetDimension())
1346 {
1347 if (verbose)
1348 {
1349 MITK_INFO << "[( Image )] Dimensionality differs.";
1350 MITK_INFO << "leftHandSide is " << leftHandSide.GetDimension() << "rightHandSide is "
1351 << rightHandSide.GetDimension();
1352 }
1353 returnValue = false;
1354 }
1355
1356 // Pair-wise dimension (size) comparison
1357 unsigned int minDimensionality = std::min(rightHandSide.GetDimension(), leftHandSide.GetDimension());
1358 for (unsigned int i = 0; i < minDimensionality; ++i)
1359 {
1360 if (rightHandSide.GetDimension(i) != leftHandSide.GetDimension(i))
1361 {
1362 returnValue = false;
1363 if (verbose)
1364 {
1365 MITK_INFO << "[( Image )] dimension differs.";
1366 MITK_INFO << "leftHandSide->GetDimension(" << i << ") is " << leftHandSide.GetDimension(i)
1367 << "rightHandSide->GetDimension(" << i << ") is " << rightHandSide.GetDimension(i);
1368 }
1369 }
1370 }
1371
1372 // Pixeltype
1373 mitk::PixelType pixelTypeRightHandSide = rightHandSide.GetPixelType();
1374 mitk::PixelType pixelTypeLeftHandSide = leftHandSide.GetPixelType();
1375 if (!(pixelTypeRightHandSide == pixelTypeLeftHandSide))
1376 {
1377 if (verbose)
1378 {
1379 MITK_INFO << "[( Image )] PixelType differs.";
1380 MITK_INFO << "leftHandSide is " << pixelTypeLeftHandSide.GetTypeAsString() << "rightHandSide is "
1381 << pixelTypeRightHandSide.GetTypeAsString();
1382 }
1383 returnValue = false;
1384 }
1385
1386 // Geometries
1387 if (!mitk::Equal(*leftHandSide.GetGeometry(), *rightHandSide.GetGeometry(), eps, verbose))
1388 {
1389 if (verbose)
1390 {
1391 MITK_INFO << "[( Image )] Geometries differ.";
1392 }
1393 returnValue = false;
1394 }
1395
1396 // Pixel values - default mode [ 0 threshold in difference ]
1397 // compare only if all previous checks were successful, otherwise the ITK filter will throw an exception

Callers

nothing calls this directly

Calls 10

GetTypeAsStringMethod · 0.80
GetGeometryMethod · 0.80
EqualFunction · 0.50
NewFunction · 0.50
GetDimensionMethod · 0.45
GetPixelTypeMethod · 0.45
SetInputMethod · 0.45
UpdateMethod · 0.45
GetResultMethod · 0.45
PrintSelfMethod · 0.45

Tested by

no test coverage detected