X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkSetBackgroundGenericFilter.cxx;h=2cb3c00bf0b329a03970c9bb6cff283cdfbdce5b;hb=f48c960aef6e0a5a4edea516b062197db009e25f;hp=6c007a069e87ffa84da465e5d9e0225270f7ecaf;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/tools/clitkSetBackgroundGenericFilter.cxx b/tools/clitkSetBackgroundGenericFilter.cxx index 6c007a0..2cb3c00 100644 --- a/tools/clitkSetBackgroundGenericFilter.cxx +++ b/tools/clitkSetBackgroundGenericFilter.cxx @@ -1,13 +1,30 @@ +/*========================================================================= + 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 clitkSetBackgroundGenericFilter_cxx #define clitkSetBackgroundGenericFilter_cxx /* ================================================= * @file clitkSetBackgroundGenericFilter.cxx - * @author - * @date - * - * @brief - * + * @author + * @date + * + * @brief + * ===================================================*/ #include "clitkSetBackgroundGenericFilter.h" @@ -17,37 +34,67 @@ namespace clitk { - //----------------------------------------------------------- - // Constructor - //----------------------------------------------------------- - SetBackgroundGenericFilter::SetBackgroundGenericFilter() - { - m_Verbose=false; - m_InputFileName=""; +//----------------------------------------------------------- +// Constructor +//----------------------------------------------------------- +SetBackgroundGenericFilter::SetBackgroundGenericFilter() +{ + m_Verbose=false; + m_InputFileName=""; +} + + +//----------------------------------------------------------- +// Update +//----------------------------------------------------------- +void SetBackgroundGenericFilter::Update() +{ + // Read the Dimension and PixelType + int Dimension, Components; + std::string PixelType; + //ReadImageDimensionAndPixelType(m_InputFileName, Dimension, PixelType); + ReadImageDimensionAndPixelType(m_InputFileName, Dimension, PixelType, Components); + + if (Dimension > 4) { + std::cout<<"Error, Only for 2 , 3 or 4 Dimensions!!!"< 3) { + std::cout<<"Error, Only 1, 2, or 3-component images are supported!!!"< 1 && PixelType != "float") { + std::cout<<"Error, Only float multi-component images are supported!!!"<(PixelType); - else if(Dimension==3) UpdateWithDim<3>(PixelType); - else if (Dimension==4)UpdateWithDim<4>(PixelType); - else - { - std::cout<<"Error, Only for 2 , 3 or 4 Dimensions!!!"<(PixelType); + else if(Dimension==3) UpdateWithDim<3>(PixelType); + else if (Dimension==4)UpdateWithDim<4>(PixelType); + break; + case 2: + { + typedef itk::Vector TPixelType; + if(Dimension==2) UpdateWithDimAndPixelType<2, TPixelType>(); + else if(Dimension==3) UpdateWithDimAndPixelType<3, TPixelType>(); + else if (Dimension==4)UpdateWithDimAndPixelType<4, TPixelType>(); + break; + } + case 3: + { + typedef itk::Vector TPixelType; + if(Dimension==2) UpdateWithDimAndPixelType<2, TPixelType>(); + else if(Dimension==3) UpdateWithDimAndPixelType<3, TPixelType>(); + else if (Dimension==4)UpdateWithDimAndPixelType<4, TPixelType>(); + break; + } } +} } //end clitk