X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkSetBackgroundGenericFilter.txx;h=63ccfb026a9d75ade4c9b978990a54b13c445d3b;hb=3988b16bc288e330d6ac2cf2206ef8bbc2921ca5;hp=16cdfa52d0a734dafb00ee78f9e522e545e256e3;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/tools/clitkSetBackgroundGenericFilter.txx b/tools/clitkSetBackgroundGenericFilter.txx index 16cdfa5..63ccfb0 100644 --- a/tools/clitkSetBackgroundGenericFilter.txx +++ b/tools/clitkSetBackgroundGenericFilter.txx @@ -1,98 +1,104 @@ -#ifndef clitkSetBackgroundGenericFilter_txx -#define clitkSetBackgroundGenericFilter_txx +/*========================================================================= + 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 -/* ================================================= - * @file clitkSetBackgroundGenericFilter.txx - * @author - * @date - * - * @brief - * - ===================================================*/ + 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 clitkSetBackgroundGenericFilter_txx +#define clitkSetBackgroundGenericFilter_txx namespace clitk { - //------------------------------------------------------------------- - // Update with the number of dimensions - //------------------------------------------------------------------- - template - void - SetBackgroundGenericFilter::UpdateWithDim(std::string PixelType) - { - if (m_Verbose) std::cout << "Image was detected to be "<(); - } - // else if(PixelType == "unsigned_short"){ - // if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and unsigned_short..." << std::endl; - // UpdateWithDimAndPixelType(); - // } - - else if (PixelType == "unsigned_char"){ - if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and unsigned_char..." << std::endl; - UpdateWithDimAndPixelType(); - } - - // else if (PixelType == "char"){ - // if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and signed_char..." << std::endl; - // UpdateWithDimAndPixelType(); - // } - else { - if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and float..." << std::endl; - UpdateWithDimAndPixelType(); - } +//------------------------------------------------------------------- +// Update with the number of dimensions +//------------------------------------------------------------------- +template +void +SetBackgroundGenericFilter::UpdateWithDim(std::string PixelType) +{ + if (m_Verbose) std::cout << "Image was detected to be "<(); + } + // else if(PixelType == "unsigned_short"){ + // if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and unsigned_short..." << std::endl; + // UpdateWithDimAndPixelType(); + // } + + else if (PixelType == "unsigned_char") { + if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and unsigned_char..." << std::endl; + UpdateWithDimAndPixelType(); } + // else if (PixelType == "char"){ + // if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and signed_char..." << std::endl; + // UpdateWithDimAndPixelType(); + // } + else { + if (m_Verbose) std::cout << "Launching filter in "<< Dimension <<"D and float..." << std::endl; + UpdateWithDimAndPixelType(); + } +} - //------------------------------------------------------------------- - // Update with the number of dimensions and the pixeltype - //------------------------------------------------------------------- - template - void - SetBackgroundGenericFilter::UpdateWithDimAndPixelType() - { +//------------------------------------------------------------------- +// Update with the number of dimensions and the pixeltype +//------------------------------------------------------------------- +template +void +SetBackgroundGenericFilter::UpdateWithDimAndPixelType() +{ // ImageTypes - typedef itk::Image InputImageType; - typedef itk::Image MaskImageType; - - // Read the input - typedef itk::ImageFileReader InputReaderType; - typename InputReaderType::Pointer reader = InputReaderType::New(); - reader->SetFileName( m_InputFileName); - typename InputImageType::Pointer input= reader->GetOutput(); - - // Read the mask - typedef itk::ImageFileReader 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 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 WriterType; - typename WriterType::Pointer writer = WriterType::New(); - writer->SetFileName(m_ArgsInfo.output_arg); - writer->SetInput(output); - writer->Update(); + typedef itk::Image InputImageType; + typedef itk::Image MaskImageType; - } + // Read the input + typedef itk::ImageFileReader InputReaderType; + typename InputReaderType::Pointer reader = InputReaderType::New(); + reader->SetFileName( m_InputFileName); + typename InputImageType::Pointer input= reader->GetOutput(); + + // Read the mask + typedef itk::ImageFileReader 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 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 WriterType; + typename WriterType::Pointer writer = WriterType::New(); + writer->SetFileName(m_ArgsInfo.output_arg); + writer->SetInput(output); + writer->Update(); + +} }//end clitk - + #endif //#define clitkSetBackgroundGenericFilter_txx