]> Creatis software - clitk.git/blobdiff - filters/clitkResampleImageGenericFilter.txx
Added Varian OBI file format
[clitk.git] / filters / clitkResampleImageGenericFilter.txx
index 3b57f76e38f411772e794c5b9815bc0819f03265..5e08d4a0f33d15ee657b5daa7042b41df0f2d91c 100644 (file)
@@ -90,32 +90,39 @@ clitk::ResampleImageGenericFilter<args_info_type>::UpdateWithInputImageType()
   static const unsigned int dim = OutputImageType::ImageDimension;
   typename OutputImageType::SpacingType spacing;
   typename OutputImageType::SizeType size;
-  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;
-      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;
+  if (mArgsInfo.like_given) {
+    DD("like");
+    
+  }
+  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;
         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 == 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);
       }
-      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);
     }
   }
 
@@ -146,9 +153,13 @@ clitk::ResampleImageGenericFilter<args_info_type>::UpdateWithInputImageType()
         if (interp == "blut") {
           filter->SetInterpolationType(ResampleImageFilterType::B_LUT);
         } else {
-          std::cerr << "Error. I do not know interpolation '" << mArgsInfo.interp_arg
-                    << "'. Choose among: nn, linear, bspline, blut" << std::endl;
-          exit(0);
+          if (interp == "windowed sinc") {
+            filter->SetInterpolationType(ResampleImageFilterType::WSINC);
+          } else {
+            std::cerr << "Error. I do not know interpolation '" << mArgsInfo.interp_arg
+              << "'. Choose among: nn, linear, bspline, blut, windowed sinc" << std::endl;
+            exit(0);
+          }
         }
       }
     }