X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=filters%2FclitkResampleImageGenericFilter.txx;h=5e08d4a0f33d15ee657b5daa7042b41df0f2d91c;hb=fdb804fa1b0e67f22f35420396fa015c1c2946d5;hp=b19f5c9f0c953716850fcfe0605d9f91f74ebdef;hpb=25f2ec51914dc5a55443c223bc52ca8c234fe100;p=clitk.git diff --git a/filters/clitkResampleImageGenericFilter.txx b/filters/clitkResampleImageGenericFilter.txx index b19f5c9..5e08d4a 100644 --- a/filters/clitkResampleImageGenericFilter.txx +++ b/filters/clitkResampleImageGenericFilter.txx @@ -27,7 +27,7 @@ template clitk::ResampleImageGenericFilter::ResampleImageGenericFilter(): ImageToImageGenericFilter("Resample") { - // InitializeImageType<2>(); + InitializeImageType<2>(); InitializeImageType<3>(); InitializeImageType<4>(); } @@ -39,8 +39,8 @@ template template void clitk::ResampleImageGenericFilter::InitializeImageType() { - //ADD_DEFAULT_IMAGE_TYPES(Dim); - ADD_IMAGE_TYPE(Dim, short); + ADD_DEFAULT_IMAGE_TYPES(Dim); + //ADD_IMAGE_TYPE(Dim, short); } //-------------------------------------------------------------------- @@ -90,32 +90,39 @@ clitk::ResampleImageGenericFilter::UpdateWithInputImageType() static const unsigned int dim = OutputImageType::ImageDimension; typename OutputImageType::SpacingType spacing; typename OutputImageType::SizeType size; - if (mArgsInfo.spacing_given == 1) { - filter->SetOutputIsoSpacing(mArgsInfo.spacing_arg[0]); - } else { - if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.size_given != 0)) { - std::cerr << "Error: use spacing or size, not both." << std::endl; - exit(0); - } - if (!((mArgsInfo.spacing_given == 0) && (mArgsInfo.size_given == 0))) { - - if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.spacing_given != dim)) { - std::cerr << "Error: spacing should have one or " << dim << " values." << std::endl; + if (mArgsInfo.like_given) { + DD("like"); + + } + else { + if (mArgsInfo.spacing_given == 1) { + filter->SetOutputIsoSpacing(mArgsInfo.spacing_arg[0]); + } else { + if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.size_given != 0)) { + std::cerr << "Error: use spacing or size, not both." << std::endl; exit(0); } - if ((mArgsInfo.size_given != 0) && (mArgsInfo.size_given != dim)) { - std::cerr << "Error: size should have " << dim << " values." << std::endl; - exit(0); + + if (!((mArgsInfo.spacing_given == 0) && (mArgsInfo.size_given == 0))) { + + if ((mArgsInfo.spacing_given != 0) && (mArgsInfo.spacing_given != dim)) { + std::cerr << "Error: spacing should have one or " << dim << " values." << std::endl; + exit(0); + } + if ((mArgsInfo.size_given != 0) && (mArgsInfo.size_given != dim)) { + std::cerr << "Error: size should have " << dim << " values." << std::endl; + exit(0); + } + if (mArgsInfo.spacing_given) + for(unsigned int i=0; iSetOutputSpacing(spacing); + filter->SetOutputSize(size); } - if (mArgsInfo.spacing_given) - for(unsigned int i=0; iSetOutputSpacing(spacing); - filter->SetOutputSize(size); } } @@ -146,9 +153,13 @@ clitk::ResampleImageGenericFilter::UpdateWithInputImageType() if (interp == "blut") { filter->SetInterpolationType(ResampleImageFilterType::B_LUT); } else { - std::cerr << "Error. I do not know interpolation '" << mArgsInfo.interp_arg - << "'. Choose among: nn, linear, bspline, blut" << std::endl; - exit(0); + if (interp == "windowed sinc") { + filter->SetInterpolationType(ResampleImageFilterType::WSINC); + } else { + std::cerr << "Error. I do not know interpolation '" << mArgsInfo.interp_arg + << "'. Choose among: nn, linear, bspline, blut, windowed sinc" << std::endl; + exit(0); + } } } }