]> Creatis software - clitk.git/blobdiff - filters/clitkImageArithmGenericFilter.txx
Added reslicing via the transform set with SetTransform. Only enabled when CLITK_EXPE...
[clitk.git] / filters / clitkImageArithmGenericFilter.txx
index b7804ffdbc1ade1a3603c5bd4455fc9c58168056..9679d028e4ffa1cd5dd4f846954b79a2c999371d 100644 (file)
@@ -37,10 +37,7 @@ namespace clitk
   template<class args_info_type>
   template<unsigned int Dim>
   void ImageArithmGenericFilter<args_info_type>::InitializeImageType() {      
-    ADD_IMAGE_TYPE(Dim, char);
-    ADD_IMAGE_TYPE(Dim, uchar);
-    ADD_IMAGE_TYPE(Dim, short);
-    ADD_IMAGE_TYPE(Dim, float);
+    ADD_DEFAULT_IMAGE_TYPES(Dim);
   }
   //--------------------------------------------------------------------
 
@@ -96,7 +93,6 @@ namespace clitk
   void ImageArithmGenericFilter<args_info_type>::UpdateWithInputImageType() {
     // Read input1
     typename ImageType::Pointer input1 = this->template GetInput<ImageType>(0);
-    typename ImageType::PixelType PixelType;
 
     // Set input image iterator
     typedef itk::ImageRegionIterator<ImageType> IteratorType;
@@ -114,7 +110,7 @@ namespace clitk
     }
 
     // Check if overwrite and outputisfloat and pixeltype is not float -> do not overwrite
-    if (mOverwriteInputImage && mOutputIsFloat && (typeid(PixelType) != typeid(float))) {
+    if (mOverwriteInputImage && mOutputIsFloat && (typeid(typename ImageType::PixelType) != typeid(float))) {
       // std::cerr << "Warning. Could not use both mOverwriteInputImage and mOutputIsFloat, because input is " 
       //                     << typeid(PixelType).name()
       //                     << std::endl;
@@ -210,7 +206,7 @@ namespace clitk
       break;
     case 5: // Absolute difference
       while (!ito.IsAtEnd()) {
-        ito.Set(PixelTypeDownCast<double, PixelType>(fabs(it2.Get()-it1.Get()))); 
+        ito.Set(PixelTypeDownCast<double, PixelType>(fabs((double)it2.Get()-(double)it1.Get()))); 
         ++it1; ++it2; ++ito;
       }
       break;