X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkMedianImageGenericFilter.txx;h=75567c496b5cb6856043ea16ccbd060d11dccde9;hb=ba7eb37f66c14a90fe67ac035ecf9d8bc70fef1a;hp=07ce074ba603882355a789e2809e1b1dd651e364;hpb=a26cd8a19e1b9ad8344ab501436045f171a73713;p=clitk.git diff --git a/tools/clitkMedianImageGenericFilter.txx b/tools/clitkMedianImageGenericFilter.txx old mode 100755 new mode 100644 index 07ce074..75567c4 --- a/tools/clitkMedianImageGenericFilter.txx +++ b/tools/clitkMedianImageGenericFilter.txx @@ -1,3 +1,20 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://www.centreleonberard.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================*/ #ifndef clitkMedianImageGenericFilter_txx #define clitkMedianImageGenericFilter_txx @@ -44,13 +61,13 @@ template void MedianImageGenericFilter::SetArgsInfo(const args_info_type & a) { mArgsInfo=a; - SetIOVerbose(mArgsInfo.verbose_flag); + this->SetIOVerbose(mArgsInfo.verbose_flag); if (mArgsInfo.input_given) { - SetInputFilename(mArgsInfo.input_arg); + this->SetInputFilename(mArgsInfo.input_arg); } if (mArgsInfo.output_given) { - SetOutputFilename(mArgsInfo.output_arg); + this->SetOutputFilename(mArgsInfo.output_arg); } } @@ -72,29 +89,26 @@ MedianImageGenericFilter::UpdateWithInputImageType() // 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(); + typedef itk::MedianImageFilter 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= "<SetRadius( radius ); + medianFilter->Update(); // Write/Save results - this->template SetNextOutput(outputImage); + typename InputImageType::Pointer outputImage = medianFilter->GetOutput(); + this->template SetNextOutput(outputImage); } //--------------------------------------------------------------------