From 7dfe669d9818c8209d2e3f44889077529454d3de Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Wed, 5 Sep 2018 12:09:20 -0400 Subject: [PATCH] COMP: Support instantiation of a 1D TranslationTransform This is as follow-up to 8e821376ee7e19d81c29741acdc32bcda911eafc Change-Id: Iec9a0d72a2f6319f671a50fb373f3fef11206a49 --- .../test/itkTranslationTransformTest.cxx | 4 +++ .../VNLInstantiation/src/CMakeLists.txt | 10 ++++++- .../src/vnl_diag_matrix_fixed+double.1-.cxx | 25 +++++++++++++++++ .../src/vnl_diag_matrix_fixed+float.1-.cxx | 25 +++++++++++++++++ .../vnl_fortran_copy_fixed+double.1.1-.cxx | 25 +++++++++++++++++ .../src/vnl_fortran_copy_fixed+float.1.1-.cxx | 25 +++++++++++++++++ .../src/vnl_fortran_copy_fixed+float.3.2-.cxx | 25 +++++++++++++++++ .../src/vnl_matrix_fixed+double.1.1-.cxx | 28 +++++++++++++++++++ .../src/vnl_matrix_fixed+float.1.1-.cxx | 28 +++++++++++++++++++ .../src/vnl_svd_fixed+double.1.1-.cxx | 25 +++++++++++++++++ .../src/vnl_svd_fixed+float.1.1-.cxx | 25 +++++++++++++++++ 11 files changed, 244 insertions(+), 1 deletion(-) create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+double.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+float.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+double.1.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.1.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.3.2-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+double.1.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+float.1.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+double.1.1-.cxx create mode 100644 Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+float.1.1-.cxx diff --git a/Modules/Core/Transform/test/itkTranslationTransformTest.cxx b/Modules/Core/Transform/test/itkTranslationTransformTest.cxx index 884c480b81e..e47922b8e0d 100644 --- a/Modules/Core/Transform/test/itkTranslationTransformTest.cxx +++ b/Modules/Core/Transform/test/itkTranslationTransformTest.cxx @@ -166,5 +166,9 @@ int itkTranslationTransformTest(int ,char *[] ) std::cout << "Back transform a vector :" << std::endl << v4[0] << " , " << v4[1] << std::endl; + using TranslationTransform1DType = itk::TranslationTransform< double, 1 >; + auto translationTransform1D = TranslationTransform1DType::New(); + std::cout << "Translation Transform 1D: " << translationTransform1D << std::endl; + return any; } diff --git a/Modules/ThirdParty/VNLInstantiation/src/CMakeLists.txt b/Modules/ThirdParty/VNLInstantiation/src/CMakeLists.txt index 8160a0d185d..b4df432eb7a 100644 --- a/Modules/ThirdParty/VNLInstantiation/src/CMakeLists.txt +++ b/Modules/ThirdParty/VNLInstantiation/src/CMakeLists.txt @@ -12,6 +12,8 @@ set(ITKVNLInstantiation_SRCS vnl_matrix_fixed+double.2.3-.cxx vnl_matrix_fixed+double.10.10-.cxx vnl_matrix_fixed+float.10.10-.cxx + vnl_matrix_fixed+float.1.1-.cxx + vnl_matrix_fixed+double.1.1-.cxx vnl_c_vector+char-.cxx vnl_c_vector+short-.cxx vnl_matrix+short-.cxx @@ -27,27 +29,33 @@ set(ITKVNLInstantiation_SRCS vnl_c_vector+longlong-.cxx vnl_vector+short-.cxx vnl_matrix+ushort-.cxx + vnl_svd_fixed+double.1.1-.cxx vnl_svd_fixed+double.2.2-.cxx vnl_svd_fixed+double.2.3-.cxx vnl_svd_fixed+double.3.2-.cxx vnl_svd_fixed+double.4.4-.cxx vnl_svd_fixed+double.10.10-.cxx + vnl_svd_fixed+float.1.1-.cxx vnl_svd_fixed+float.2.2-.cxx vnl_svd_fixed+float.2.3-.cxx vnl_svd_fixed+float.4.4-.cxx vnl_svd_fixed+float.10.10-.cxx + vnl_fortran_copy_fixed+double.1.1-.cxx vnl_fortran_copy_fixed+double.2.2-.cxx vnl_fortran_copy_fixed+double.2.3-.cxx vnl_fortran_copy_fixed+double.3.2-.cxx vnl_fortran_copy_fixed+double.4.4-.cxx vnl_fortran_copy_fixed+double.10.10-.cxx - vnl_fortran_copy_fixed+float.4.4-.cxx + vnl_fortran_copy_fixed+float.1.1-.cxx vnl_fortran_copy_fixed+float.2.2-.cxx vnl_fortran_copy_fixed+float.2.3-.cxx + vnl_fortran_copy_fixed+float.3.2-.cxx vnl_fortran_copy_fixed+float.4.4-.cxx vnl_fortran_copy_fixed+float.10.10-.cxx + vnl_diag_matrix_fixed+double.1-.cxx vnl_diag_matrix_fixed+double.2-.cxx vnl_diag_matrix_fixed+double.10-.cxx + vnl_diag_matrix_fixed+float.1-.cxx vnl_diag_matrix_fixed+float.2-.cxx vnl_diag_matrix_fixed+float.10-.cxx ) diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+double.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+double.1-.cxx new file mode 100644 index 00000000000..a26c1ad2d26 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+double.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_diag_matrix_fixed.txx" +#else +#include "vnl/vnl_diag_matrix_fixed.hxx" +#endif +#include "vnl_export_override.h" +VNL_DIAG_MATRIX_FIXED_INSTANTIATE(double, 1); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+float.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+float.1-.cxx new file mode 100644 index 00000000000..c8eb702407d --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_diag_matrix_fixed+float.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_diag_matrix_fixed.txx" +#else +#include "vnl/vnl_diag_matrix_fixed.hxx" +#endif +#include "vnl_export_override.h" +VNL_DIAG_MATRIX_FIXED_INSTANTIATE(float, 1); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+double.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+double.1.1-.cxx new file mode 100644 index 00000000000..2bdc3bb96bd --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+double.1.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_fortran_copy_fixed.txx" +#else +#include "vnl/vnl_fortran_copy_fixed.hxx" +#endif +#include "vnl_export_override.h" +VNL_FORTRAN_COPY_FIXED_INSTANTIATE(double, 1, 1); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.1.1-.cxx new file mode 100644 index 00000000000..cfc87650149 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.1.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_fortran_copy_fixed.txx" +#else +#include "vnl/vnl_fortran_copy_fixed.hxx" +#endif +#include "vnl_export_override.h" +VNL_FORTRAN_COPY_FIXED_INSTANTIATE(float, 1, 1); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.3.2-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.3.2-.cxx new file mode 100644 index 00000000000..b71bbd37240 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_fortran_copy_fixed+float.3.2-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_fortran_copy_fixed.txx" +#else +#include "vnl/vnl_fortran_copy_fixed.hxx" +#endif +#include "vnl_export_override.h" +VNL_FORTRAN_COPY_FIXED_INSTANTIATE(float, 3, 2); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+double.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+double.1.1-.cxx new file mode 100644 index 00000000000..208312e6fc2 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+double.1.1-.cxx @@ -0,0 +1,28 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_matrix_fixed.txx" +#include "vnl/vnl_matlab_print.txx" +#else +#include "vnl/vnl_matrix_fixed.hxx" +#include "vnl/vnl_matlab_print.hxx" +#endif +#include "vnl_export_override.h" +VNL_MATRIX_FIXED_INSTANTIATE(double, 1, 1); +template VNL_EXPORT std::ostream &vnl_matlab_print(std::ostream &, vnl_matrix_fixed const&, char const*, vnl_matlab_print_format); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+float.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+float.1.1-.cxx new file mode 100644 index 00000000000..b93a71933fb --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_matrix_fixed+float.1.1-.cxx @@ -0,0 +1,28 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/vnl_matrix_fixed.txx" +#include "vnl/vnl_matlab_print.txx" +#else +#include "vnl/vnl_matrix_fixed.hxx" +#include "vnl/vnl_matlab_print.hxx" +#endif +#include "vnl_export_override.h" +VNL_MATRIX_FIXED_INSTANTIATE(float, 1, 1); +template VNL_EXPORT std::ostream &vnl_matlab_print(std::ostream &, vnl_matrix_fixed const&, char const*, vnl_matlab_print_format); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+double.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+double.1.1-.cxx new file mode 100644 index 00000000000..62aacdb9691 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+double.1.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/algo/vnl_svd_fixed.txx" +#else +#include "vnl/algo/vnl_svd_fixed.hxx" +#endif +#include "vnl_algo_export_override.h" +VNL_SVD_FIXED_INSTANTIATE(double, 1, 1); diff --git a/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+float.1.1-.cxx b/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+float.1.1-.cxx new file mode 100644 index 00000000000..4b3a6589e73 --- /dev/null +++ b/Modules/ThirdParty/VNLInstantiation/src/vnl_svd_fixed+float.1.1-.cxx @@ -0,0 +1,25 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#include +#if VXL_VERSION_DATE_FULL < 20160229 +#include "vnl/algo/vnl_svd_fixed.txx" +#else +#include "vnl/algo/vnl_svd_fixed.hxx" +#endif +#include "vnl_algo_export_override.h" +VNL_SVD_FIXED_INSTANTIATE(float, 1, 1);