diff --git a/Modules/Core/Common/include/itkProcessObject.h b/Modules/Core/Common/include/itkProcessObject.h index aa5a909a501..930d8dea167 100644 --- a/Modules/Core/Common/include/itkProcessObject.h +++ b/Modules/Core/Common/include/itkProcessObject.h @@ -164,8 +164,12 @@ class ITKCommon_EXPORT ProcessObject : public Object /** STL array of data object names */ using NameArray = std::vector; - /** Type of general multi-threader interface */ - using MultiThreaderType = MultiThreaderBase; +#ifndef ITK_FUTURE_LEGACY_REMOVE + /** Type of general multi-threader interface + * \deprecated Please use `itk::MultiThreaderBase` directly. + */ + using MultiThreaderType [[deprecated("Please use `itk::MultiThreaderBase` directly.")]] = MultiThreaderBase; +#endif /** \brief Return an array with the names of the inputs defined. * @@ -501,7 +505,7 @@ class ITKCommon_EXPORT ProcessObject : public Object /** @ITKEndGrouping */ /** Return the multithreader used by this class. */ - MultiThreaderType * + MultiThreaderBase * GetMultiThreader() const { return m_MultiThreader; @@ -509,7 +513,7 @@ class ITKCommon_EXPORT ProcessObject : public Object /** Set the multithreader used by this class. */ void - SetMultiThreader(MultiThreaderType * threader); + SetMultiThreader(MultiThreaderBase * threader); /** An opportunity to deallocate a ProcessObject's bulk data * storage. Some filters may wish to reuse existing bulk data @@ -1002,7 +1006,7 @@ class ITKCommon_EXPORT ProcessObject : public Object /** Support processing data in multiple threads. Used by subclasses * (e.g., ImageSource). */ - itk::SmartPointer m_MultiThreader; + itk::SmartPointer m_MultiThreader; ThreadIdType m_NumberOfWorkUnits{}; bool m_ThreaderUpdateProgress{ true }; diff --git a/Modules/Core/Common/src/itkProcessObject.cxx b/Modules/Core/Common/src/itkProcessObject.cxx index d6273a0377d..e0bb50564cd 100644 --- a/Modules/Core/Common/src/itkProcessObject.cxx +++ b/Modules/Core/Common/src/itkProcessObject.cxx @@ -63,7 +63,7 @@ ProcessObject::ProcessObject() m_IndexedInputs.push_back(m_Inputs.insert(p).first); m_IndexedOutputs.push_back(m_Outputs.insert(std::move(p)).first); - this->Self::SetMultiThreader(MultiThreaderType::New()); + this->Self::SetMultiThreader(MultiThreaderBase::New()); } @@ -1552,7 +1552,7 @@ ProcessObject::GenerateOutputRequestedRegion(DataObject * output) void -ProcessObject::SetMultiThreader(MultiThreaderType * threader) +ProcessObject::SetMultiThreader(MultiThreaderBase * threader) { if (this->m_MultiThreader != threader) { diff --git a/Modules/Registration/Common/include/itkImageToImageMetric.h b/Modules/Registration/Common/include/itkImageToImageMetric.h index 4762642ae0b..e7cb4205395 100644 --- a/Modules/Registration/Common/include/itkImageToImageMetric.h +++ b/Modules/Registration/Common/include/itkImageToImageMetric.h @@ -349,10 +349,14 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction itkGetConstReferenceMacro(UseCachingOfBSplineWeights, bool); itkBooleanMacro(UseCachingOfBSplineWeights); /** @ITKEndGrouping */ - using MultiThreaderType = MultiThreaderBase; + +#ifndef ITK_FUTURE_LEGACY_REMOVE + using MultiThreaderType [[deprecated("Please use `itk::MultiThreaderBase` directly.")]] = MultiThreaderBase; +#endif + /** Get the Threader. */ /** @ITKStartGrouping */ - itkGetModifiableObjectMacro(Threader, MultiThreaderType); + itkGetModifiableObjectMacro(Threader, MultiThreaderBase); const TransformPointer * GetThreaderTransform() { @@ -600,7 +604,7 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction /** * \class MultiThreaderWorkUnitInfoImageToImageMetricWrapper * This helper local class is used to extract information from the - * MultiThreaderType::WorkUnitInfo info type + * MultiThreaderBase::WorkUnitInfo info type * Do not allow inheritance for objects that are intended for static_cast * \ingroup ITKRegistrationCommon */ @@ -608,7 +612,7 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction { public: MultiThreaderWorkUnitInfoImageToImageMetricWrapper(const void * workunitInfoAsVoid) - : m_WorkUnitInfo(static_cast(workunitInfoAsVoid)) + : m_WorkUnitInfo(static_cast(workunitInfoAsVoid)) {} [[nodiscard]] ThreadIdType GetThreadId() const @@ -622,10 +626,10 @@ class ITK_TEMPLATE_EXPORT ImageToImageMetric : public SingleValuedCostFunction } private: - const typename MultiThreaderType::WorkUnitInfo * m_WorkUnitInfo; + const MultiThreaderBase::WorkUnitInfo * m_WorkUnitInfo; }; - MultiThreaderType::Pointer m_Threader{}; + MultiThreaderBase::Pointer m_Threader{}; std::unique_ptr m_ConstSelfWrapper; mutable std::unique_ptr m_ThreaderNumberOfMovingImageSamples; bool m_WithinThreadPreProcess{ false }; diff --git a/Modules/Registration/Common/include/itkImageToImageMetric.hxx b/Modules/Registration/Common/include/itkImageToImageMetric.hxx index 342dc807519..84546dec784 100644 --- a/Modules/Registration/Common/include/itkImageToImageMetric.hxx +++ b/Modules/Registration/Common/include/itkImageToImageMetric.hxx @@ -54,7 +54,7 @@ ImageToImageMetric::ImageToImageMetric() , m_BSplineTransformIndices() , m_BSplineInterpolator(nullptr) , m_DerivativeCalculator(nullptr) - , m_Threader(MultiThreaderType::New()) + , m_Threader(MultiThreaderBase::New()) , m_ConstSelfWrapper(std::make_unique(this)) { this->m_NumberOfWorkUnits = this->m_Threader->GetNumberOfWorkUnits();