[ITK] Python wrapper for first order ITKTextureFeatures

yannick.suter at istb.unibe.ch yannick.suter at istb.unibe.ch
Mon Sep 18 18:03:33 EDT 2017


Hi Matt,

Thanks!
I made the changes and am now using the VectorImag type in the MovingHistogramImageFilter part in the .wrap file, but still get the exact same error:

Nothing known about base class 'itk::MovingHistogramImageFilter< itk::Image< short,2 >,itk::VectorImage< float,2 >,itk::FlatStructuringElement< 2 >,itk::Function::FirstOrderTextureHistogram< short,itk::VariableLengthVector< float > > >'. Ignored.
/ITK/ITK/bin/Wrapping/Typedefs/itkFirstOrderTextureFeaturesImageFilter.i:99: Warning 401: Maybe you forgot to instantiate 'itk::MovingHistogramImageFilter< itk::Image< short,2 >,itk::VectorImage< float,2 >,itk::FlatStructuringElement< 2 >,itk::Function::FirstOrderTextureHistogram< short,itk::VariableLengthVector< float > > >' using %template

What I find odd is that the error message states using a "VariableLengthVector<float> (itk::Function::FirstOrderTextureHistogram< short,itk::VariableLengthVector< float > > >' ), but my line is itk::Function::FirstOrderTextureHistogram< ${ITKT_${t}}, ${ITKT_VI${ITKM_F}${d}}>" with a VectorImage and not a VariableLengthVector. I tried changing to a VariableLengthVector in the .wrap file, but to no avail. 
I'm wrapping the base class "itkMovingHistogramImageFilterBase" as well, is this necessary?
The whole .wrap file is at the end of the message if needed...

Sorry for the endless questions and thank you very much for the help!

Best,

Yannick


set(OutputVectorDim 8)
itk_wrap_class("itk::FixedArray")
  itk_wrap_template("${ITKM_F}${OutputVectorDim}" "${ITKT_F},${OutputVectorDim}")
itk_end_wrap_class()

itk_wrap_class("itk::Vector")
  itk_wrap_template("${ITKM_F}${OutputVectorDim}" "${ITKT_F},${OutputVectorDim}")
itk_end_wrap_class()

WRAP_TYPE("itk::Image" "I" "itkImage.h")
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    ADD_TEMPLATE("V${ITKM_F}${OutputVectorDim}${d}" "itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}")
  endforeach()
END_WRAP_TYPE()

itk_wrap_class("itk::Image" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    itk_wrap_template("V${ITKM_F}${OutputVectorDim}${d}" "itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}")
  endforeach()
itk_end_wrap_class()

itk_wrap_class("itk::ImageSource" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    itk_wrap_template("IV${ITKM_F}${OutputVectorDim}${d}" "itk::Image<itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}>")
  endforeach()
itk_end_wrap_class()

itk_wrap_class("itk::ImageToImageFilter" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    foreach(t ${WRAP_ITK_INT})
      itk_wrap_template("${ITKM_I${t}${d}}IV${ITKM_F}${OutputVectorDim}${d}"
                        "${ITKT_I${t}${d}}, itk::Image<itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}>")
    endforeach()
  endforeach()
itk_end_wrap_class()

itk_wrap_include("itkFlatStructuringElement.h")

WRAP_TYPE("itk::FlatStructuringElement" "SE")
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    ADD_TEMPLATE("${d}"  "${d}")
  endforeach()
END_WRAP_TYPE()
set(itk_Wrap_StructuringElement ${WRAPPER_TEMPLATES})

itk_wrap_simple_class("itk::ImageIOBase" )

itk_wrap_class("itk::KernelImageFilter" POINTER)
  foreach(t ${WRAP_ITK_INT})
    foreach(d ${ITK_WRAP_IMAGE_DIMS})
      itk_wrap_template("${ITKM_I${t}${d}}${ITKM_VI${ITKM_F}${d}}${ITKM_SE${d}}" "${ITKT_I${t}${d}}, ${ITKT_I${t}${d}}, ${ITKT_SE${d}}")
    endforeach()
  endforeach()
itk_end_wrap_class()

itk_wrap_class("itk::ImageFileReader" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    itk_wrap_template("IV${ITKM_F}${OutputVectorDim}${d}"
                      "itk::Image<itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}>")
  endforeach()
itk_end_wrap_class()

itk_wrap_class("itk::ImageFileWriter" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    itk_wrap_template("IV${ITKM_F}${OutputVectorDim}${d}"
                      "itk::Image<itk::Vector<${ITKT_F},${OutputVectorDim}>,${d}>")
  endforeach()
itk_end_wrap_class()

itk_wrap_include("itkMovingHistogramImageFilterBase.h")
itk_wrap_class("itk::MovingHistogramImageFilterBase" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    foreach(t ${WRAP_ITK_INT})
      itk_wrap_template("${ITKM_I${t}${d}}${ITKM_VI${ITKM_F}${d}}${ITKM_SE${d}}"
                        "${ITKM_I${t}${d}}${ITKM_VI${ITKM_F}${d}},${ITKT_SE${d}}, itk::Function::FirstOrderTextureHistogram< ${ITKT_${t}}, ${ITKT_VI${ITKM_F}${d}} >")
    endforeach()
  endforeach()
itk_end_wrap_class()

itk_wrap_include("itkFirstOrderTextureHistogram.h")
itk_wrap_class("itk::Function::FirstOrderTextureHistogram")
  foreach(t ${WRAP_ITK_INT})
    itk_wrap_template("${ITKM_${t}}${ITKM_VI${ITKM_F}${d}} " "${ITKT_${t}}, ${ITKT_VI${ITKM_F}${d}}")
  endforeach()
itk_end_wrap_class()

itk_wrap_include("itkMovingHistogramImageFilter.h")
itk_wrap_class("itk::MovingHistogramImageFilter" POINTER)
  foreach(t ${WRAP_ITK_INT})
    foreach(d ${ITK_WRAP_IMAGE_DIMS})
      itk_wrap_template("${ITKM_I${t}${d}}${ITKM_VI${ITKM_F}${d}}${ITKM_SE${d}}" 
                        "${ITKT_I${t}${d}}${ITKM_VI${ITKM_F}${d}}, ${ITKT_SE${d}}, itk::Function::FirstOrderTextureHistogram< ${ITKT_${t}}, ${ITKT_VI${ITKM_F}${d}}>")
    endforeach()
  endforeach()
itk_end_wrap_class()

itk_wrap_class("itk::FirstOrderTextureFeaturesImageFilter" POINTER)
  foreach(d ${ITK_WRAP_IMAGE_DIMS})
    foreach(t ${WRAP_ITK_INT})
      itk_wrap_template("${ITKM_I${t}${d}}${ITKM_VI${ITKM_F}${d}}${ITKM_SE${d}}"
                      "${ITKT_I${t}${d}}, ${ITKT_VI${ITKM_F}${d}}, ${ITKT_SE${d}}, itk::Function::FirstOrderTextureHistogram< ${ITKT_${t}}, ${ITKT_VI${ITKM_F}${d}}>")
  endforeach()
endforeach()
itk_end_wrap_class()




More information about the Community mailing list