X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkAffineTransformGenericFilter.txx;h=b2d7a534aa7e250b2d51a4300ebc144fe88669dd;hb=26bcb2de1cbf158bdb6b76175a7c8db4b5f269dc;hp=dc4d362dd0e50a0c83a4a2d73f4844de5c14cddb;hpb=9259ccb7138d0a678a677c8fccd283563154036e;p=clitk.git diff --git a/tools/clitkAffineTransformGenericFilter.txx b/tools/clitkAffineTransformGenericFilter.txx index dc4d362..b2d7a53 100644 --- a/tools/clitkAffineTransformGenericFilter.txx +++ b/tools/clitkAffineTransformGenericFilter.txx @@ -289,7 +289,23 @@ namespace clitk typename InputReaderType::Pointer likeReader=InputReaderType::New(); likeReader->SetFileName(m_ArgsInfo.spacinglike_arg); likeReader->Update(); - resampler->SetOutputSpacing( likeReader->GetOutput()->GetSpacing() ); + + // set the support like the image + if (m_ArgsInfo.like_given) { + typename OutputImageType::SizeType outputSize; + outputSize[0] = ceil(resampler->GetSize()[0]*resampler->GetOutputSpacing()[0] + /likeReader->GetOutput()->GetSpacing()[0]); + outputSize[1] = ceil(resampler->GetSize()[1]*resampler->GetOutputSpacing()[1] + /likeReader->GetOutput()->GetSpacing()[1]); + outputSize[2] = ceil(resampler->GetSize()[2]*resampler->GetOutputSpacing()[2] + /likeReader->GetOutput()->GetSpacing()[2]); + if (m_ArgsInfo.verbose_flag) { + std::cout << "Compute the number of pixels such as the support is like " << m_ArgsInfo.like_arg << std::endl; + } + resampler->SetSize( outputSize ); + } + + resampler->SetOutputSpacing( likeReader->GetOutput()->GetSpacing() ); } if (m_ArgsInfo.verbose_flag) {