- // ImageTypes
- typedef itk::Image<PixelType, Dimension> InputImageType;
- typedef itk::Image<float, Dimension> MaskImageType;
-
- // Read the input
- typedef itk::ImageFileReader<InputImageType> InputReaderType;
- typename InputReaderType::Pointer reader = InputReaderType::New();
- reader->SetFileName( m_InputFileName);
- typename InputImageType::Pointer input= reader->GetOutput();
-
- // Read the mask
- typedef itk::ImageFileReader<MaskImageType> MaskReaderType;
- typename MaskReaderType::Pointer maskReader = MaskReaderType::New();
- maskReader->SetFileName( m_ArgsInfo.mask_arg);
- typename MaskImageType::Pointer mask= maskReader->GetOutput();
-
- // Filter setting background
- typedef clitk::SetBackgroundImageFilter<InputImageType,MaskImageType, InputImageType> SetBackgroundFilterType;
- typename SetBackgroundFilterType::Pointer setBackgroundFilter = SetBackgroundFilterType::New();
- setBackgroundFilter->SetInput(input);
- setBackgroundFilter->SetInput2(mask);
- if(m_ArgsInfo.fg_flag) setBackgroundFilter->SetForeground(m_ArgsInfo.fg_flag);
- if(m_ArgsInfo.maskValue_given) setBackgroundFilter->SetMaskValue(m_ArgsInfo.maskValue_arg);
- if(m_ArgsInfo.outsideValue_given) setBackgroundFilter->SetOutsideValue(m_ArgsInfo.outsideValue_arg);
- setBackgroundFilter->Update();
- typename InputImageType::Pointer output =setBackgroundFilter->GetOutput();
-
- // Output
- typedef itk::ImageFileWriter<InputImageType> WriterType;
- typename WriterType::Pointer writer = WriterType::New();
- writer->SetFileName(m_ArgsInfo.output_arg);
- writer->SetInput(output);
- writer->Update();
+//-------------------------------------------------------------------
+// Update with the number of dimensions and the pixeltype
+//-------------------------------------------------------------------
+template <unsigned int Dimension, class PixelType>
+void
+SetBackgroundGenericFilter::UpdateWithDimAndPixelType()
+{