]> Creatis software - clitk.git/blobdiff - tools/clitkMedianImageGenericFilter.txx
Debug opening dicom with rotation matrix
[clitk.git] / tools / clitkMedianImageGenericFilter.txx
index 7e4a426539e6b0ecc9c64973f118e4da2ee9b94d..75567c496b5cb6856043ea16ccbd060d11dccde9 100644 (file)
@@ -89,28 +89,26 @@ MedianImageGenericFilter<args_info_type>::UpdateWithInputImageType()
 
   // typedef itk::Image<PixelType,InputImageType::ImageDimension> OutputImageType;
 
-  // Main filter
-  typedef itk::Image<PixelType, InputImageType::ImageDimension> OutputImageType;
-  typename InputImageType::SizeType indexRadius;
-
   // Filter
-  typedef itk::MedianImageFilter<InputImageType, OutputImageType> MedianImageFilterType;
-  typename MedianImageFilterType::Pointer thresholdFilter=MedianImageFilterType::New();
-  thresholdFilter->SetInput(input);
-
-  for (unsigned i = 0; i < InputImageType::ImageDimension; ++i)
-    indexRadius[i]=mArgsInfo.radius_arg[i];
-
-  // indexRadius[0] = 1;
-  // indexRadius[1] = 1;
-
-  thresholdFilter->SetRadius( indexRadius );
-
-  typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput();
-  thresholdFilter->Update();
+  typedef itk::MedianImageFilter<InputImageType, InputImageType> MedianImageFilterType;
+  typename MedianImageFilterType::Pointer medianFilter=MedianImageFilterType::New();
+  typename MedianImageFilterType::InputSizeType radius;
+  radius.Fill(1);
+  medianFilter->SetInput(input);
+
+  if(mArgsInfo.radius_given) {
+      for (unsigned i = 0; i < InputImageType::ImageDimension; ++i)
+          radius[i]=mArgsInfo.radius_arg[i];
+  }
+  //
+  std::cout<<"radius median filter= "<<radius<<std::endl;
+  //
+  medianFilter->SetRadius( radius );
 
+  medianFilter->Update();
   // Write/Save results
-  this->template SetNextOutput<OutputImageType>(outputImage);
+  typename InputImageType::Pointer outputImage = medianFilter->GetOutput();
+  this->template SetNextOutput<InputImageType>(outputImage);
 }
 
 //--------------------------------------------------------------------