Types 在具体类型上应用接口

Types 在具体类型上应用接口,types,julia,Types,Julia,我正在处理具有颜色组件、空间组件和曲面法线组件的图像。所以我定义了一个由9个组件组成的静态数组 using StaticArrays const RGBDN{T} = SVector{9,T} const RGBDNImage{T} = Matrix{RGBDN{T}} where T<:Number 使用静态数组 常数RGBDN{T}=SVector{9,T} const RGBDNImage{T}=矩阵{RGBDN{T}您需要ImageSegmentation.jl中的特定于TAny

我正在处理具有颜色组件、空间组件和曲面法线组件的图像。所以我定义了一个由9个组件组成的静态数组

using StaticArrays
const RGBDN{T} = SVector{9,T}
const RGBDNImage{T} = Matrix{RGBDN{T}} where T<:Number
使用静态数组
常数RGBDN{T}=SVector{9,T}

const RGBDNImage{T}=矩阵{RGBDN{T}您需要ImageSegmentation.jl中的特定于TAny的功能在哪里?您可以将自由/外部函数专门化为您的具体类型,但这取决于ImSeg中的代码是如何编写的。对此我没有答案,但我确实想知道您的问题一开始是否有点过分。首先编写一个解决方案,尽可能多地使用局部范围的/容易重构的块,查看出现了什么模式或倾向于重用什么模式,相应地进行整理,并且非常有用。如果我误解了你们的要求,我向你们道歉。谢谢你们的回复。我已经实现了我在答案中描述的,并且它正在工作。Delegate.jl非常易于使用,我只需编写很少的代码。我想调整Felzenszwalb算法的实现,如中所述。我希望能够使用ImageSegmentation.jl提供的所有便捷功能。我提出这个问题是因为我想知道是否有更好的方法来解决这个问题。
struct RGBDN{T} <: Colorant{T,9}
   data::SVector{9,T}
end