]> Creatis software - clitk.git/blobdiff - filters/clitkFooImageGenericFilter.txx
autocrop tool
[clitk.git] / filters / clitkFooImageGenericFilter.txx
index 11905314a6b4467a6a6512d62f6b984d95547372..51bc4d5ee30e4e3f5e538856bbc78374371c630f 100644 (file)
@@ -32,7 +32,6 @@
 #include "itkMaskImageFilter.h"
 #include "itkMaskNegatedImageFilter.h"
 #include <clitkCommon.h>
-#include <tiff.h>
 
 namespace clitk
 {
@@ -40,10 +39,11 @@ namespace clitk
 //--------------------------------------------------------------------
 template<class args_info_type>
 FooImageGenericFilter<args_info_type>::FooImageGenericFilter():
-        ImageToImageGenericFilter<Self>("FooImage") {
-    InitializeImageType<2>();
-    InitializeImageType<3>();
-    InitializeImageType<4>();
+  ImageToImageGenericFilter<Self>("FooImage")
+{
+  InitializeImageType<2>();
+  InitializeImageType<3>();
+  InitializeImageType<4>();
 }
 //--------------------------------------------------------------------
 
@@ -51,32 +51,27 @@ FooImageGenericFilter<args_info_type>::FooImageGenericFilter():
 //--------------------------------------------------------------------
 template<class args_info_type>
 template<unsigned int Dim>
-void FooImageGenericFilter<args_info_type>::InitializeImageType() {
-    ADD_IMAGE_TYPE(Dim, char);
-    ADD_IMAGE_TYPE(Dim, uchar);
-    ADD_IMAGE_TYPE(Dim, short);
-    ADD_IMAGE_TYPE(Dim, ushort);
-    ADD_IMAGE_TYPE(Dim, int);
-    ADD_IMAGE_TYPE(Dim, uint16);
-    ADD_IMAGE_TYPE(Dim, float);
-    ADD_IMAGE_TYPE(Dim, double);
+void FooImageGenericFilter<args_info_type>::InitializeImageType()
+{
+  ADD_DEFAULT_IMAGE_TYPES(Dim);
 }
 //--------------------------------------------------------------------
 
 
 //--------------------------------------------------------------------
 template<class args_info_type>
-void FooImageGenericFilter<args_info_type>::SetArgsInfo(const args_info_type & a) {
-    mArgsInfo=a;
-    SetIOVerbose(mArgsInfo.verbose_flag);
-    if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes();
-
-    if (mArgsInfo.input_given) {
-        SetInputFilename(mArgsInfo.input_arg);
-    }
-    if (mArgsInfo.output_given) {
-        SetOutputFilename(mArgsInfo.output_arg);
-    }
+void FooImageGenericFilter<args_info_type>::SetArgsInfo(const args_info_type & a)
+{
+  mArgsInfo=a;
+  SetIOVerbose(mArgsInfo.verbose_flag);
+  if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes();
+
+  if (mArgsInfo.input_given) {
+    SetInputFilename(mArgsInfo.input_arg);
+  }
+  if (mArgsInfo.output_given) {
+    SetOutputFilename(mArgsInfo.output_arg);
+  }
 }
 //--------------------------------------------------------------------
 
@@ -89,53 +84,51 @@ void
 FooImageGenericFilter<args_info_type>::UpdateWithInputImageType()
 {
 
-    // Reading input
-    typename InputImageType::Pointer input = this->template GetInput<InputImageType>(0);
-
-    // Main filter
-    typedef typename InputImageType::PixelType PixelType;
-    typedef itk::Image<char, InputImageType::ImageDimension> OutputImageType;
-
-    // Filter
-    typedef itk::BinaryThresholdImageFilter<InputImageType, OutputImageType> BinaryThresholdImageFilterType;
-    typename BinaryThresholdImageFilterType::Pointer thresholdFilter=BinaryThresholdImageFilterType::New();
-    thresholdFilter->SetInput(input);
-    thresholdFilter->SetInsideValue(mArgsInfo.fg_arg);
-
-    if (mArgsInfo.lower_given) thresholdFilter->SetLowerThreshold(static_cast<PixelType>(mArgsInfo.lower_arg));
-    if (mArgsInfo.upper_given) thresholdFilter->SetUpperThreshold(static_cast<PixelType>(mArgsInfo.upper_arg));
-
-    if (mArgsInfo.mode_arg == std::string("both")) {
-        thresholdFilter->SetOutsideValue(mArgsInfo.bg_arg);
-        thresholdFilter->Update();
-
-        typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput();
-        this->template SetNextOutput<OutputImageType>(outputImage);
-    }
-    else {
-        typename InputImageType::Pointer outputImage;
-        thresholdFilter->SetOutsideValue(0);
-        if (mArgsInfo.mode_arg == std::string("BG")) {
-            typedef itk::MaskImageFilter<InputImageType,OutputImageType> maskFilterType;
-            typename maskFilterType::Pointer maskFilter = maskFilterType::New();
-            maskFilter->SetInput1(input);
-            maskFilter->SetInput2(thresholdFilter->GetOutput());
-            maskFilter->SetOutsideValue(mArgsInfo.bg_arg);
-            maskFilter->Update();
-            outputImage = maskFilter->GetOutput();
-        }
-        else {
-            typedef itk::MaskNegatedImageFilter<InputImageType,OutputImageType> maskFilterType;
-            typename maskFilterType::Pointer maskFilter = maskFilterType::New();
-            maskFilter->SetInput1(input);
-            maskFilter->SetInput2(thresholdFilter->GetOutput());
-            maskFilter->SetOutsideValue(mArgsInfo.fg_arg);
-            maskFilter->Update();
-            outputImage = maskFilter->GetOutput();
-        }
-        // Write/Save results
-        this->template SetNextOutput<InputImageType>(outputImage);
+  // Reading input
+  typename InputImageType::Pointer input = this->template GetInput<InputImageType>(0);
+
+  // Main filter
+  typedef typename InputImageType::PixelType PixelType;
+  typedef itk::Image<char, InputImageType::ImageDimension> OutputImageType;
+
+  // Filter
+  typedef itk::BinaryThresholdImageFilter<InputImageType, OutputImageType> BinaryThresholdImageFilterType;
+  typename BinaryThresholdImageFilterType::Pointer thresholdFilter=BinaryThresholdImageFilterType::New();
+  thresholdFilter->SetInput(input);
+  thresholdFilter->SetInsideValue(mArgsInfo.fg_arg);
+
+  if (mArgsInfo.lower_given) thresholdFilter->SetLowerThreshold(static_cast<PixelType>(mArgsInfo.lower_arg));
+  if (mArgsInfo.upper_given) thresholdFilter->SetUpperThreshold(static_cast<PixelType>(mArgsInfo.upper_arg));
+
+  if (mArgsInfo.mode_arg == std::string("both")) {
+    thresholdFilter->SetOutsideValue(mArgsInfo.bg_arg);
+    thresholdFilter->Update();
+
+    typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput();
+    this->template SetNextOutput<OutputImageType>(outputImage);
+  } else {
+    typename InputImageType::Pointer outputImage;
+    thresholdFilter->SetOutsideValue(0);
+    if (mArgsInfo.mode_arg == std::string("BG")) {
+      typedef itk::MaskImageFilter<InputImageType,OutputImageType> maskFilterType;
+      typename maskFilterType::Pointer maskFilter = maskFilterType::New();
+      maskFilter->SetInput1(input);
+      maskFilter->SetInput2(thresholdFilter->GetOutput());
+      maskFilter->SetOutsideValue(mArgsInfo.bg_arg);
+      maskFilter->Update();
+      outputImage = maskFilter->GetOutput();
+    } else {
+      typedef itk::MaskNegatedImageFilter<InputImageType,OutputImageType> maskFilterType;
+      typename maskFilterType::Pointer maskFilter = maskFilterType::New();
+      maskFilter->SetInput1(input);
+      maskFilter->SetInput2(thresholdFilter->GetOutput());
+      maskFilter->SetOutsideValue(mArgsInfo.fg_arg);
+      maskFilter->Update();
+      outputImage = maskFilter->GetOutput();
     }
+    // Write/Save results
+    this->template SetNextOutput<InputImageType>(outputImage);
+  }
 }
 //--------------------------------------------------------------------