e"), arg("out")=python::object(), arg("step_size")=0.0, arg("roi")=python::object()),         "Likewise for a 0D scalar volume.\n");          // FIXME: is this function still needed?     def("hessianOfGaussian0D",         registerConverters(&pythonHessianOfGaussianND<float, 0>),         (arg("image"), arg("sigma"), arg("out")=python::object(),           arg("sigma_d")=0.0, arg("step_size")=0.0, arg("window_size")=0.0, arg("roi")=python::object()),         "Calculate the Hessian matrix by means of a derivative of "         "Gaussian filters at the given scale for a 0D scalar image.\n"         "\n"         "If 'sigma' is a single value, an isotropic filter at this scale is "         "applied (i.e., each dimension is filtered in the same way). "         "If 'sigma' is a tuple or list of values, the amount of smoothing "         "will be different for each spatial dimension.\n"         "The optional 'sigma_d' (single, tuple, or list) denotes the resolution standard deviation "         "per axis, the optional 'step_size' (single, tuple, or list) the distance between two adjacent "         "pixels for each dimension. "         "The length of the tuples or lists must be equal to the "         "number of spatial dimensions.\n\n"                 "'window_size' and 'roi' have the same meaning as in :func:`gaussianSmoothing`.\n\n"         "For details see hessianOfGaussianMultiArray_ and ConvolutionOptions_ in the vigra C++ documentation.\n");      // FIXME: is this function still needed?     def("hessianOfGaussian0D",         registerConverters(&pythonHessianOfGaussianND<float, 0>),         (arg("volume"), arg("sigma"), arg("out")=python::object(),           arg("sigma_d")=0.0, arg("step_size")=0.0, arg("window_size")=0.0, arg("roi")=python::object()),         "Calculate the Hessian matrix by means of a derivative of "         "Gaussian filters at the given scale for a 0D scalar image.\n"         "\n"         "For details see hessianOfGaussianMultiArray_ in the vigra C++ documentation.\n");      def("hessianOfGaussian",         registerConverters(&pythonHessianOfGaussianND<float,0>),         (arg("image"), arg("sigma"), arg("out")=python::object(),           arg("sigma_d")=0.0, arg("step_size")=0.0, arg("window_size")=0.0, arg("roi")=python::object()),         "Calculate the Hessian matrix by means of a derivative of "         "Gaussian filters at the given scale for a 0D scalar image.\n"         "\n"         "If 'sigma' is a single value, an isotropic filter at this scale is "         "applied (i.e., each dimension is filtered in the same way). "         "If 'sigma' is a tuple or list of values, the amount of smoothing "         "will be different for each spatial dimension.\n"         "The optional 'sigma_d' (single, tuple, or list) denotes the resolution standard deviation "         "per axis, the optional 'step_size' (single, tuple, or list) the distance between two adjacent "         "pixels for each dimension. "         "The length of the tuples or lists must be equal to the "         "number of spatial dimensions.\n\n"                 "'window_size' and 'roi' have the same meaning as in :func:`gaussianSmoothing`.\n\n"         "For details see hessianOfGaussianMultiArray_ in the vigra C++ documentation.\n");      def("hessianOfGaussian",         registerConverters(&pythonHessianOfGaussianND<float,0>),         (arg("volume"), arg("sigma"), arg("out")=python::object(),           arg("sigma_d")=0.0, arg("step_size")=0.0, arg("window_size")=0.0, arg("roi")=python::object()),         "Likewise for a 0D scalar or multiband volume.\n");      def("structureTensor",         registerConverters(&pythonStructureTensor<float,0>),         (arg("