File tree Expand file tree Collapse file tree 1 file changed +16
-14
lines changed Expand file tree Collapse file tree 1 file changed +16
-14
lines changed Original file line number Diff line number Diff line change 1
- import Base. getproperty
2
-
3
1
"""
4
2
GaborKernel(; ell::Real=1.0, p::Real=1.0)
5
3
@@ -10,12 +8,10 @@ Gabor kernel with length scale ell and period p. Given by
10
8
11
9
"""
12
10
struct GaborKernel{T<: Real , K<: Kernel } <: BaseKernel
13
- κ :: K
11
+ kernel :: K
14
12
function GaborKernel (;ell= nothing , p= nothing )
15
13
k = _gabor (ell= ell, p= p)
16
- if ell == nothing ell= 1.0 end
17
- if p == nothing p= 1.0 end
18
- new {Union{typeof(ell),typeof(p)}, typeof(k)} (k)
14
+ new {typeof(k)} (k)
19
15
end
20
16
end
21
17
36
32
function Base. getproperty (k:: GaborKernel , v:: Symbol )
37
33
if v == :κ
38
34
return getfield (k, v)
39
- elseif v == :ell && typeof (k. κ. kernels[1 ]) <: SqExponentialKernel
40
- return 1.0
41
- elseif v == :ell && typeof (k. κ. kernels[1 ]) <: TransformedKernel
42
- return 1 ./ k. κ. kernels[1 ]. transform. s[1 ]
43
- elseif v == :p && typeof (k. κ. kernels[2 ]) <: CosineKernel
44
- return 1.0
45
- elseif v == :p && typeof (k. κ. kernels[2 ]) <: TransformedKernel
46
- return 1 ./ k. κ. kernels[2 ]. transform. s[1 ]
35
+ elseif v == :ell
36
+ kernel1 = k. κ. kernels[1 ]
37
+ if kernel1 isa TransformedKernel
38
+ return 1 ./ kernel1. transform. s[1 ]
39
+ else
40
+ return 1.0
41
+ end
42
+ elseif v == :p
43
+ kernel2 = k. κ. kernels[2 ]
44
+ if kernel2 isa TransformedKernel
45
+ return 1 ./ kernel2. transform. s[1 ]
46
+ else
47
+ return 1.0
48
+ end
47
49
else
48
50
error (" Invalid Property" )
49
51
end
You can’t perform that action at this time.
0 commit comments