From acb499da9a82cecdb4c0a3b99d0b3316bfc59b3b Mon Sep 17 00:00:00 2001
From: Hans Johnson <hans-johnson@uiowa.edu>
Date: Thu, 13 Jun 2024 13:14:40 -0500
Subject: [PATCH] ENH: Deprecate unused constructor call

This constructor signature is not used, and is
not necessary to implement the behavior.
---
 .../Core/Transform/include/itkMatrixOffsetTransformBase.h    | 5 ++++-
 .../Core/Transform/include/itkMatrixOffsetTransformBase.hxx  | 3 ++-
 .../Transform/test/itkMatrixOffsetTransformBaseGTest.cxx     | 2 ++
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.h b/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.h
index 700615e0b3cb..61d996d93abc 100644
--- a/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.h
+++ b/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.h
@@ -507,7 +507,10 @@ class ITK_TEMPLATE_EXPORT MatrixOffsetTransformBase
    * to values specified by the caller.  If the arguments are
    * omitted, then the MatrixOffsetTransformBase is initialized to an identity
    * transformation in the appropriate number of dimensions. */
-  MatrixOffsetTransformBase(const MatrixType & matrix, const OutputVectorType & offset);
+#if !defined(ITK_LEGACY_REMOVE)
+  [[deprecated("Removed unsued constructor")]] MatrixOffsetTransformBase(const MatrixType &       matrix,
+                                                                         const OutputVectorType & offset);
+#endif
   explicit MatrixOffsetTransformBase(unsigned int paramDims = ParametersDimension);
 
   /** Destroy an MatrixOffsetTransformBase object */
diff --git a/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx b/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx
index e4cc6c31f4d4..1cb6b4266ea1 100644
--- a/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx
+++ b/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx
@@ -37,7 +37,7 @@ MatrixOffsetTransformBase<TParametersValueType, VInputDimension, VOutputDimensio
   this->m_FixedParameters.Fill(0.0);
 }
 
-
+#if !defined(ITK_LEGACY_REMOVE)
 template <typename TParametersValueType, unsigned int VInputDimension, unsigned int VOutputDimension>
 MatrixOffsetTransformBase<TParametersValueType, VInputDimension, VOutputDimension>::MatrixOffsetTransformBase(
   const MatrixType &       matrix,
@@ -51,6 +51,7 @@ MatrixOffsetTransformBase<TParametersValueType, VInputDimension, VOutputDimensio
   this->m_FixedParameters.SetSize(VInputDimension);
   this->m_FixedParameters.Fill(0.0);
 }
+#endif
 
 template <typename TParametersValueType, unsigned int VInputDimension, unsigned int VOutputDimension>
 void
diff --git a/Modules/Core/Transform/test/itkMatrixOffsetTransformBaseGTest.cxx b/Modules/Core/Transform/test/itkMatrixOffsetTransformBaseGTest.cxx
index 3235368a1da0..c9325b4db59c 100644
--- a/Modules/Core/Transform/test/itkMatrixOffsetTransformBaseGTest.cxx
+++ b/Modules/Core/Transform/test/itkMatrixOffsetTransformBaseGTest.cxx
@@ -78,6 +78,7 @@ TEST(MatrixOffsetTransformBase, SetFixedParametersThrowsWhenSizeIsLessThanNDimen
   Assert_SetFixedParameters_throws_when_size_is_less_than_NDimensions<4>();
 }
 
+#if !defined(ITK_LEGACY_REMOVE)
 // Check that fixed parameters are set to default values during construction.
 TEST(MatrixOffsetTransformBase, CreateWithMatrixAndOffset)
 {
@@ -105,3 +106,4 @@ TEST(MatrixOffsetTransformBase, CreateWithMatrixAndOffset)
 
   EXPECT_EQ(transform->GetFixedParameters(), expectedFixedParameters);
 }
+#endif