Skip to content

Commit

Permalink
ENH: Add float wrappings for itkSymmetricSecondRankTensor
Browse files Browse the repository at this point in the history
  • Loading branch information
tbirdso authored and thewtex committed Aug 11, 2021
1 parent 4c320b1 commit 5378dae
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 7 deletions.
5 changes: 4 additions & 1 deletion Modules/Core/Common/wrapping/itkImageSource.wrap
Expand Up @@ -4,11 +4,14 @@ itk_wrap_class("itk::ImageSource" POINTER)
itk_wrap_image_filter("${image_types}" 1)

UNIQUE(to_types "${WRAP_ITK_SCALAR};UC")
UNIQUE(ssrt_types "${WRAP_ITK_REAL};D")
foreach(d ${ITK_WRAP_IMAGE_DIMS})
foreach(type ${to_types})
itk_wrap_template("${ITKM_VI${type}${d}}" "${ITKT_VI${type}${d}}")
endforeach()
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}" "${ITKT_ISSRT${ITKM_D}${d}${d}}")
foreach(t ${ssrt_types})
itk_wrap_template("${ITKM_ISSRT${ITKM_${t}}${d}${d}}" "${ITKT_ISSRT${ITKM_${t}}${d}${d}}")
endforeach()
endforeach()

list(FIND WRAP_ITK_COV_VECTOR_REAL "CVD" index)
Expand Down
18 changes: 12 additions & 6 deletions Modules/Core/Common/wrapping/itkImageToImageFilterB.wrap
Expand Up @@ -31,14 +31,20 @@ itk_wrap_class("itk::ImageToImageFilter" POINTER)
itk_wrap_image_filter_combinations("${WRAP_ITK_SCALAR}" "${WRAP_ITK_COMPLEX_REAL}")
itk_wrap_image_filter_combinations("${WRAP_ITK_COMPLEX_REAL}" "${WRAP_ITK_SCALAR}")

UNIQUE(real_types "${WRAP_ITK_REAL};D")
foreach(d ${ITK_WRAP_IMAGE_DIMS})
foreach(t ${WRAP_ITK_SCALAR})
# scalar <-> SymmetricSecondRankTensor
itk_wrap_template("${ITKM_I${t}${d}}${ITKM_ISSRT${ITKM_D}${d}${d}}" "${ITKT_I${t}${d}}, ${ITKT_ISSRT${ITKM_D}${d}${d}}")
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}${ITKM_I${t}${d}}" "${ITKT_ISSRT${ITKM_D}${d}${d}}, ${ITKT_I${t}${d}}")
foreach(t2 ${real_types})
foreach(t ${WRAP_ITK_SCALAR})
# scalar <-> SymmetricSecondRankTensor
itk_wrap_template("${ITKM_I${t}${d}}${ITKM_ISSRT${ITKM_${t2}}${d}${d}}" "${ITKT_I${t}${d}}, ${ITKT_ISSRT${ITKM_${t2}}${d}${d}}")
itk_wrap_template("${ITKM_ISSRT${ITKM_${t2}}${d}${d}}${ITKM_I${t}${d}}" "${ITKT_ISSRT${ITKM_${t2}}${d}${d}}, ${ITKT_I${t}${d}}")
endforeach()
# SymmetricSecondRankTensor -> SymmetricSecondRankTensor
foreach(t3 ${real_types})
itk_wrap_template("${ITKM_ISSRT${ITKM_${t2}}${d}${d}}${ITKM_ISSRT${ITKM_${t3}}${d}${d}}"
"${ITKT_ISSRT${ITKM_${t2}}${d}${d}}, ${ITKT_ISSRT${ITKM_${t3}}${d}${d}}")
endforeach()
endforeach()
# SymmetricSecondRankTensor -> SymmetricSecondRankTensor
itk_wrap_template("${ITKM_ISSRT${ITKM_D}${d}${d}}${ITKM_ISSRT${ITKM_D}${d}${d}}" "${ITKT_ISSRT${ITKM_D}${d}${d}}, ${ITKT_ISSRT${ITKM_D}${d}${d}}")
endforeach()

# Wrap dim=3 -> dim=2, dim=3 -> dim=2, etc.
Expand Down
Expand Up @@ -9,4 +9,12 @@ itk_wrap_class("itk::GenerateImageSource" POINTER)
endforeach()
endforeach()

# SymmetricSecondRankTensor Images
UNIQUE(ssrt_types "${WRAP_ITK_REAL};D")
foreach(d ${ITK_WRAP_IMAGE_DIMS})
foreach(t ${ssrt_types})
itk_wrap_template("${ITKM_ISSRT${ITKM_${t}}${d}${d}}" "${ITKT_ISSRT${ITKM_${t}}${d}${d}}")
endforeach()
endforeach()

itk_end_wrap_class()
3 changes: 3 additions & 0 deletions Wrapping/WrapITKTypes.cmake
Expand Up @@ -245,6 +245,9 @@ WRAP_TYPE("itk::Image" "I" "itkImage.h")

# SymmetricSecondRankTensor types required by level set filters
ADD_TEMPLATE("${ITKM_SSRT${ITKM_D}${d}}${d}" "${ITKT_SSRT${ITKM_D}${d}}, ${d}")
if(ITK_WRAP_float)
ADD_TEMPLATE("${ITKM_SSRT${ITKM_F}${d}}${d}" "${ITKT_SSRT${ITKM_F}${d}}, ${d}")
endif()

endforeach()

Expand Down

0 comments on commit 5378dae

Please sign in to comment.