X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkSetBackgroundGenericFilter.cxx;h=2cb3c00bf0b329a03970c9bb6cff283cdfbdce5b;hb=543b72e23ad001ac2a7743b9beacf48e2d0054ac;hp=038fcca70dff2933cb25ddbf8f9aea299ebca2b4;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/tools/clitkSetBackgroundGenericFilter.cxx b/tools/clitkSetBackgroundGenericFilter.cxx index 038fcca..2cb3c00 100644 --- a/tools/clitkSetBackgroundGenericFilter.cxx +++ b/tools/clitkSetBackgroundGenericFilter.cxx @@ -50,19 +50,50 @@ SetBackgroundGenericFilter::SetBackgroundGenericFilter() void SetBackgroundGenericFilter::Update() { // Read the Dimension and PixelType - int Dimension; + int Dimension, Components; std::string PixelType; - ReadImageDimensionAndPixelType(m_InputFileName, Dimension, PixelType); + //ReadImageDimensionAndPixelType(m_InputFileName, Dimension, PixelType); + ReadImageDimensionAndPixelType(m_InputFileName, Dimension, PixelType, Components); - - // Call UpdateWithDim - if(Dimension==2) UpdateWithDim<2>(PixelType); - else if(Dimension==3) UpdateWithDim<3>(PixelType); - else if (Dimension==4)UpdateWithDim<4>(PixelType); - else { + 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); + 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; + } + } }