]> Creatis software - clitk.git/commitdiff
Attempted to fix the mess of the resample fucker wrt to setting spacing and dims
authorsrit <srit>
Wed, 16 Mar 2011 17:19:22 +0000 (17:19 +0000)
committersrit <srit>
Wed, 16 Mar 2011 17:19:22 +0000 (17:19 +0000)
tools/clitkResampleImageGenericFilter.txx

index e05770e0cb6ca5d801762f3c7e80ca1d76c2c103..823acb9057cf2d188dc791104d0ef1033fcdb317 100644 (file)
@@ -68,31 +68,28 @@ clitk::ResampleImageGenericFilter::UpdateWithInputImageType()
   else {
     if (mArgsInfo.spacing_given == 1) {
       filter->SetOutputIsoSpacing(mArgsInfo.spacing_arg[0]);
-    } else {
-      if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.size_given != 0)) {
-        std::cerr << "Error: use spacing or size, not both." << std::endl;
+    }
+    else if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.size_given != 0)) {
+      std::cerr << "Error: use spacing or size, not both." << std::endl;
+      exit(0);
+    }
+    else if (mArgsInfo.spacing_given) {
+      if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.spacing_given != dim)) {
+        std::cerr << "Error: spacing should have one or " << dim << " values." << std::endl;
         exit(0);
       }
-
-      if (!((mArgsInfo.spacing_given == 0) && (mArgsInfo.size_given == 0))) {
-
-        if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.spacing_given != dim)) {
-          std::cerr << "Error: spacing should have one or " << dim << " values." << std::endl;
-          exit(0);
-        }
-        if ((mArgsInfo.size_given != 0) && (mArgsInfo.size_given != dim)) {
-          std::cerr << "Error: size should have " << dim << " values." << std::endl;
-          exit(0);
-        }
-        if (mArgsInfo.spacing_given)
-          for(unsigned int i=0; i<dim; i++)
-            spacing[i] = mArgsInfo.spacing_arg[i];
-        if (mArgsInfo.size_given)
-          for(unsigned int i=0; i<dim; i++)
-            size[i] = mArgsInfo.size_arg[i];
-        filter->SetOutputSpacing(spacing);
-        filter->SetOutputSize(size);
+      for(unsigned int i=0; i<dim; i++)
+        spacing[i] = mArgsInfo.spacing_arg[i];
+      filter->SetOutputSpacing(spacing);
+    }
+    else if (mArgsInfo.size_given) {
+      if ((mArgsInfo.size_given != 0) && (mArgsInfo.size_given != dim)) {
+        std::cerr << "Error: size should have " << dim << " values." << std::endl;
+        exit(0);
       }
+      for(unsigned int i=0; i<dim; i++)
+        size[i] = mArgsInfo.size_arg[i];
+      filter->SetOutputSize(size);
     }
   }