From 607ef9091246c288b0a1333e87d3d31ce7ee5cd7 Mon Sep 17 00:00:00 2001
From: Simon Rit <simon.rit@creatis.insa-lyon.fr>
Date: Tue, 23 Aug 2011 19:16:48 +0200
Subject: [PATCH] Limit uniformity test to first 3 dimensions (usually the
 spatial ones)     to avoid problems when spacing was randomly assigned in 4th
     dimension

---
 common/clitkXdrImageIOReader.cxx | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/common/clitkXdrImageIOReader.cxx b/common/clitkXdrImageIOReader.cxx
index b9380a2..07384ef 100644
--- a/common/clitkXdrImageIOReader.cxx
+++ b/common/clitkXdrImageIOReader.cxx
@@ -700,11 +700,13 @@ int clitk::XdrImageIO::ReadImageInformationWithError()
         SetOrigin(i,10*p[0]);
 
         //Test if rectilinear image is actually uniform (tolerance 0.1 mm)
-        for (j=0; j<GetDimensions(i)-1; j++) {
-          if (fabs((p[j+1]-p[j])*10-GetSpacing(i))>0.1) {
-            free(points);
-            fclose(fstream);
-            return ER_NOT_HANDLED;
+        if(i<3) { // Only for first 3 dimensions because spacing is barely used in other dims
+          for (j=0; j<GetDimensions(i)-1; j++) {
+            if (fabs((p[j+1]-p[j])*10-GetSpacing(i))>0.1) {
+              free(points);
+              fclose(fstream);
+              return ER_NOT_HANDLED;
+            }
           }
         }
         p += (int)GetDimensions(i);
-- 
2.49.0