From: Vivien Delmon Date: Thu, 19 Apr 2012 14:32:34 +0000 (+0200) Subject: Merge branch 'master' of tux.creatis.insa-lyon.fr:clitk X-Git-Tag: v1.3.0~50 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=bcd98a7cb45fd4c3b5a41bc8cefa89f5790aca27;hp=01d3c1060300fd0f117709f6c2e5d39d16781c2f;p=clitk.git Merge branch 'master' of tux.creatis.insa-lyon.fr:clitk --- diff --git a/tools/clitkAffineTransformGenericFilter.txx b/tools/clitkAffineTransformGenericFilter.txx index ec9db09..93cd16c 100644 --- a/tools/clitkAffineTransformGenericFilter.txx +++ b/tools/clitkAffineTransformGenericFilter.txx @@ -143,14 +143,23 @@ AffineTransformGenericFilter::UpdateWithDimAndPixelType() return; } itk::Array transformParameters(2 * Dimension); - int pos = 0; - if (Dimension == 2) - transformParameters[pos++] = m_ArgsInfo.rotate_arg[0]; - else - for (unsigned int i = 0; i < 3; i++) - transformParameters[pos++] = m_ArgsInfo.rotate_arg[i]; - for (unsigned int i = 0; i < Dimension && i < 3; i++) - transformParameters[pos++] = m_ArgsInfo.translate_arg[i]; + transformParameters.Fill(0.0); + if (m_ArgsInfo.rotate_given) + { + if (Dimension == 2) + transformParameters[0] = m_ArgsInfo.rotate_arg[0]; + else + for (unsigned int i = 0; i < 3; i++) + transformParameters[i] = m_ArgsInfo.rotate_arg[i]; + } + if (m_ArgsInfo.translate_given) + { + int pos = 3; + if (Dimension == 2) + pos = 1; + for (unsigned int i = 0; i < Dimension && i < 3; i++) + transformParameters[pos++] = m_ArgsInfo.translate_arg[i]; + } if (Dimension == 4) { matrix.SetIdentity(); @@ -326,14 +335,23 @@ void AffineTransformGenericFilter::UpdateWithDimAndVectorType() return; } itk::Array transformParameters(2 * Dimension); - int pos = 0; - if (Dimension == 2) - transformParameters[pos++] = m_ArgsInfo.rotate_arg[0]; - else - for (unsigned int i = 0; i < 3; i++) - transformParameters[pos++] = m_ArgsInfo.rotate_arg[i]; - for (unsigned int i = 0; i < Dimension && i < 3; i++) - transformParameters[pos++] = m_ArgsInfo.translate_arg[i]; + transformParameters.Fill(0.0); + if (m_ArgsInfo.rotate_given) + { + if (Dimension == 2) + transformParameters[0] = m_ArgsInfo.rotate_arg[0]; + else + for (unsigned int i = 0; i < 3; i++) + transformParameters[i] = m_ArgsInfo.rotate_arg[i]; + } + if (m_ArgsInfo.translate_given) + { + int pos = 3; + if (Dimension == 2) + pos = 1; + for (unsigned int i = 0; i < Dimension && i < 3; i++) + transformParameters[pos++] = m_ArgsInfo.translate_arg[i]; + } if (Dimension == 4) { matrix.SetIdentity();