X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=filters%2FclitkMedianImageGenericFilter.txx;h=07ce074ba603882355a789e2809e1b1dd651e364;hb=8abe9edbdc63a33f8fbb1f321073b762e08be9aa;hp=29a316cf7b0002199f582bc2263aa9db0a240396;hpb=fd7fe88962bece8d68d850acac8474ee440a1f7d;p=clitk.git diff --git a/filters/clitkMedianImageGenericFilter.txx b/filters/clitkMedianImageGenericFilter.txx index 29a316c..07ce074 100644 --- a/filters/clitkMedianImageGenericFilter.txx +++ b/filters/clitkMedianImageGenericFilter.txx @@ -5,9 +5,9 @@ * @file clitkMedianImageGenericFilter.txx * @author Bharath Navalapakkam * @date 20 March 2010 - * - * @brief - * + * + * @brief + * ===================================================*/ // itk include @@ -16,111 +16,91 @@ namespace clitk { - - //-------------------------------------------------------------------- - template - MedianImageGenericFilter::MedianImageGenericFilter(): - ImageToImageGenericFilter("MedianImage") { - InitializeImageType<2>(); - InitializeImageType<3>(); - InitializeImageType<4>(); - } - //-------------------------------------------------------------------- - - //-------------------------------------------------------------------- - template - template - void MedianImageGenericFilter::InitializeImageType() { - ADD_IMAGE_TYPE(Dim, char); - ADD_IMAGE_TYPE(Dim, uchar); - ADD_IMAGE_TYPE(Dim, short); - ADD_IMAGE_TYPE(Dim, int); - ADD_IMAGE_TYPE(Dim, float); - ADD_IMAGE_TYPE(Dim, double); - ADD_IMAGE_TYPE(Dim, unsigned short); +//-------------------------------------------------------------------- +template +MedianImageGenericFilter::MedianImageGenericFilter(): + ImageToImageGenericFilter("MedianImage") +{ + InitializeImageType<2>(); + InitializeImageType<3>(); + InitializeImageType<4>(); +} +//-------------------------------------------------------------------- - } - //-------------------------------------------------------------------- - - - //-------------------------------------------------------------------- - template - void MedianImageGenericFilter::SetArgsInfo(const args_info_type & a) { - mArgsInfo=a; - SetIOVerbose(mArgsInfo.verbose_flag); - +//-------------------------------------------------------------------- +template +template +void MedianImageGenericFilter::InitializeImageType() +{ + ADD_DEFAULT_IMAGE_TYPES(Dim); +} +//-------------------------------------------------------------------- - if (mArgsInfo.input_given) { - SetInputFilename(mArgsInfo.input_arg); - } - if (mArgsInfo.output_given) { - SetOutputFilename(mArgsInfo.output_arg); - } +//-------------------------------------------------------------------- +template +void MedianImageGenericFilter::SetArgsInfo(const args_info_type & a) +{ + mArgsInfo=a; + SetIOVerbose(mArgsInfo.verbose_flag); + if (mArgsInfo.input_given) { + SetInputFilename(mArgsInfo.input_arg); + } + if (mArgsInfo.output_given) { + SetOutputFilename(mArgsInfo.output_arg); } - //-------------------------------------------------------------------- - - //-------------------------------------------------------------------- - // Update with the number of dimensions and the pixeltype - //-------------------------------------------------------------------- - template - template - void - MedianImageGenericFilter::UpdateWithInputImageType() - { - // Reading input - typename InputImageType::Pointer input = this->template GetInput(0); -// Typedef - typedef typename InputImageType::PixelType PixelType; - - - - // typedef itk::Image OutputImageType; +} +//-------------------------------------------------------------------- - // Main filter - - typedef itk::Image OutputImageType; - class InputImageType::SizeType indexRadius; - // Filter - typedef itk::MedianImageFilter MedianImageFilterType; - +//-------------------------------------------------------------------- +// Update with the number of dimensions and the pixeltype +//-------------------------------------------------------------------- +template +template +void +MedianImageGenericFilter::UpdateWithInputImageType() +{ + // Reading input + typename InputImageType::Pointer input = this->template GetInput(0); + // Typedef + typedef typename InputImageType::PixelType PixelType; - typename MedianImageFilterType::Pointer thresholdFilter=MedianImageFilterType::New(); - thresholdFilter->SetInput(input); + // typedef itk::Image OutputImageType; + // Main filter + typedef itk::Image OutputImageType; + typename InputImageType::SizeType indexRadius; -indexRadius[0]=mArgsInfo.radius_arg[0]; -indexRadius[1]=mArgsInfo.radius_arg[1]; -indexRadius[2]=mArgsInfo.radius_arg[2]; + // Filter + typedef itk::MedianImageFilter MedianImageFilterType; + typename MedianImageFilterType::Pointer thresholdFilter=MedianImageFilterType::New(); + thresholdFilter->SetInput(input); + indexRadius[0]=mArgsInfo.radius_arg[0]; + indexRadius[1]=mArgsInfo.radius_arg[1]; + indexRadius[2]=mArgsInfo.radius_arg[2]; + // indexRadius[0] = 1; + // indexRadius[1] = 1; - -// indexRadius[0] = 1; - // indexRadius[1] = 1; + thresholdFilter->SetRadius( indexRadius ); -thresholdFilter->SetRadius( indexRadius ); - + typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput(); + thresholdFilter->Update(); - typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput(); - thresholdFilter->Update(); - - // Write/Save results - this->template SetNextOutput(outputImage); + // Write/Save results + this->template SetNextOutput(outputImage); +} - - } - - //-------------------------------------------------------------------- +//-------------------------------------------------------------------- }//end clitk - #endif //#define clitkMedianImageGenericFilter_txx