X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=filters%2FclitkMedianImageGenericFilter.txx;h=07ce074ba603882355a789e2809e1b1dd651e364;hb=77ee327ec2ae14e038106ccebea0f89774733f10;hp=696124c95749dfb5c97197718909a566524eacaa;hpb=b6cfdecc2f880a7015d8f5a73174a0361cfe7924;p=clitk.git diff --git a/filters/clitkMedianImageGenericFilter.txx b/filters/clitkMedianImageGenericFilter.txx index 696124c..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,94 +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 - 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); - } +//-------------------------------------------------------------------- +template +MedianImageGenericFilter::MedianImageGenericFilter(): + ImageToImageGenericFilter("MedianImage") +{ + InitializeImageType<2>(); + InitializeImageType<3>(); + InitializeImageType<4>(); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +template +void MedianImageGenericFilter::InitializeImageType() +{ + ADD_DEFAULT_IMAGE_TYPES(Dim); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +void MedianImageGenericFilter::SetArgsInfo(const args_info_type & a) +{ + mArgsInfo=a; + SetIOVerbose(mArgsInfo.verbose_flag); + + if (mArgsInfo.input_given) { + SetInputFilename(mArgsInfo.input_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; - 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; - - thresholdFilter->SetRadius( indexRadius ); - - typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput(); - thresholdFilter->Update(); - - // Write/Save results - this->template SetNextOutput(outputImage); + 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; + typename InputImageType::SizeType indexRadius; + + // 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; + + thresholdFilter->SetRadius( indexRadius ); + + typename OutputImageType::Pointer outputImage = thresholdFilter->GetOutput(); + thresholdFilter->Update(); + + // Write/Save results + this->template SetNextOutput(outputImage); +} + +//-------------------------------------------------------------------- }//end clitk - + #endif //#define clitkMedianImageGenericFilter_txx