diff --git a/Modules/Registration/Common/include/itkBlockMatchingImageFilter.h b/Modules/Registration/Common/include/itkBlockMatchingImageFilter.h index ac78d091383..9485b469fd8 100644 --- a/Modules/Registration/Common/include/itkBlockMatchingImageFilter.h +++ b/Modules/Registration/Common/include/itkBlockMatchingImageFilter.h @@ -24,6 +24,7 @@ #include "itkVector.h" #include "itkDefaultDynamicMeshTraits.h" +#include // For unique_ptr. namespace itk { @@ -216,9 +217,9 @@ class ITK_TEMPLATE_EXPORT BlockMatchingImageFilter : public MeshToMeshFilter m_DisplacementsVectorsArray; + std::unique_ptr m_SimilaritiesValuesArray; }; } // end namespace itk diff --git a/Modules/Registration/Common/include/itkBlockMatchingImageFilter.hxx b/Modules/Registration/Common/include/itkBlockMatchingImageFilter.hxx index 2c24483854d..b84a5470d6f 100644 --- a/Modules/Registration/Common/include/itkBlockMatchingImageFilter.hxx +++ b/Modules/Registration/Common/include/itkBlockMatchingImageFilter.hxx @@ -22,6 +22,7 @@ #include "itkConstNeighborhoodIterator.h" #include #include "itkMultiThreaderBase.h" +#include "itkMakeUniqueForOverwrite.h" namespace itk @@ -168,8 +169,8 @@ BlockMatchingImageFilterm_PointsCount << "."); } - this->m_DisplacementsVectorsArray = new DisplacementsVector[this->m_PointsCount]; - this->m_SimilaritiesValuesArray = new SimilaritiesValue[this->m_PointsCount]; + this->m_DisplacementsVectorsArray = make_unique_for_overwrite(this->m_PointsCount); + this->m_SimilaritiesValuesArray = make_unique_for_overwrite(this->m_PointsCount); } template