Skip to content

Commit

Permalink
BUG: Wrap SymmetricEigenAnalysisImageFilter with CovariantVector Imag…
Browse files Browse the repository at this point in the history
…e output

The default template parameter output, an Image of
SymmetricSecondRankTensor, is not correct or valid. The output of this
filter is an image of eigenvectors. Wrap with an Image of
CovariantVector along with base classes. Also remove the invalid default
template parameter output.

Closes InsightSoftwareConsortium#4520
  • Loading branch information
thewtex committed May 16, 2024
1 parent 5786ce1 commit 6e96da5
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
8 changes: 8 additions & 0 deletions Modules/Core/Common/wrapping/itkImageToImageFilterB.wrap
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
itk_wrap_include("itkSymmetricSecondRankTensor.h")
itk_wrap_include("itkPhasedArray3DSpecialCoordinatesImage.h")
itk_wrap_class("itk::ImageToImageFilter" POINTER)

Expand Down Expand Up @@ -115,4 +116,11 @@ foreach(t3 ${WRAP_ITK_COMPLEX_REAL})
"itk::PhasedArray3DSpecialCoordinatesImage< ${ITKT_${t3}} >, itk::PhasedArray3DSpecialCoordinatesImage< ${ITKT_${t3}} >"
)
endforeach()

# SymmetricSecondRankTensor
# SymmetricEigenAnalysisImageFilter
foreach(d ${ITK_WRAP_IMAGE_DIMS})
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}I${ITKM_CV${ITKM_D}${d}}${d}" "${ITKT_ISSRT${ITKM_D}${d}${d}}, itk::Image< ${ITKT_CV${ITKM_D}${d}}, ${d} >")
endforeach()

itk_end_wrap_class()
7 changes: 7 additions & 0 deletions Modules/Core/Common/wrapping/itkInPlaceImageFilterB.wrap
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
itk_wrap_include("itkPhasedArray3DSpecialCoordinatesImage.h")
itk_wrap_include("itkSymmetricSecondRankTensor.h")
itk_wrap_class("itk::InPlaceImageFilter" POINTER)
# VectorImage <-> scalar
unique(to_types "UC;${WRAP_ITK_SCALAR}")
Expand Down Expand Up @@ -49,4 +50,10 @@ foreach(t ${WRAP_ITK_SCALAR})
endforeach()
endforeach()

# SymmetricSecondRankTensor
# SymmetricEigenAnalysisImageFilter
foreach(d ${ITK_WRAP_IMAGE_DIMS})
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}I${ITKM_CV${ITKM_D}${d}}${d}" "${ITKT_ISSRT${ITKM_D}${d}${d}}, itk::Image< ${ITKT_CV${ITKM_D}${d}}, ${d} >")
endforeach()

itk_end_wrap_class()
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ extern ITKImageIntensity_EXPORT std::ostream &
*
* \ingroup ITKImageIntensity
*/
template <typename TInputImage, typename TOutputImage = TInputImage>
template <typename TInputImage, typename TOutputImage>
class SymmetricEigenAnalysisImageFilter
: public UnaryFunctorImageFilter<
TInputImage,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ itk_wrap_include("itkSymmetricSecondRankTensor.h")

itk_wrap_simple_class("itk::SymmetricEigenAnalysisEnums")

itk_wrap_class("itk::SymmetricEigenAnalysisImageFilter" POINTER_WITH_2_SUPERCLASSES)
itk_wrap_class("itk::SymmetricEigenAnalysisImageFilter" POINTER_WITH_SUPERCLASS)
foreach(d ${ITK_WRAP_IMAGE_DIMS})
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}" "${ITKT_ISSRT${ITKM_D}${d}${d}}")
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}I${ITKM_CV${ITKM_D}${d}}${d}" "${ITKT_ISSRT${ITKM_D}${d}${d}}, itk::Image< ${ITKT_CV${ITKM_D}${d}}, ${d} >")
endforeach()
itk_end_wrap_class()

0 comments on commit 6e96da5

Please sign in to comment.