]>
Commit | Line | Data |
---|---|---|
70a5ae2e JB |
1 | From 81958d302494e137f98a8b1d7869841532f90388 Mon Sep 17 00:00:00 2001 |
2 | From: JaimeIvanCervantes <jimmycc80@hotmail.com> | |
3 | Date: Fri, 16 Jun 2017 13:21:45 -0700 | |
4 | Subject: [PATCH] multi_convolution: Fix for incorrect template parameter type | |
5 | when using unsigned int N for TinyVector SIZE. (Fixes #414) | |
6 | ||
7 | --- | |
8 | include/vigra/multi_convolution.hxx | 28 ++++++++++++++-------------- | |
9 | 1 file changed, 14 insertions(+), 14 deletions(-) | |
10 | ||
11 | diff --git a/include/vigra/multi_convolution.hxx b/include/vigra/multi_convolution.hxx | |
12 | index 1b5efa740..ec89bcf58 100644 | |
13 | --- a/include/vigra/multi_convolution.hxx | |
14 | +++ b/include/vigra/multi_convolution.hxx | |
15 | @@ -1426,7 +1426,7 @@ gaussianSmoothMultiArray(MultiArrayView<N, T1, S1> const & source, | |
16 | class T2, class S2> | |
17 | void | |
18 | gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
19 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
20 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
21 | double sigma, | |
22 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()); | |
23 | ||
24 | @@ -1435,7 +1435,7 @@ gaussianSmoothMultiArray(MultiArrayView<N, T1, S1> const & source, | |
25 | class T2, class S2> | |
26 | void | |
27 | gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
28 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
29 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
30 | ConvolutionOptions<N> opt); | |
31 | ||
32 | // likewise, but execute algorithm in parallel | |
33 | @@ -1443,7 +1443,7 @@ gaussianSmoothMultiArray(MultiArrayView<N, T1, S1> const & source, | |
34 | class T2, class S2> | |
35 | void | |
36 | gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
37 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
38 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
39 | BlockwiseConvolutionOptions<N> opt); | |
40 | } | |
41 | \endcode | |
42 | @@ -1590,7 +1590,7 @@ template <unsigned int N, class T1, class S1, | |
43 | class T2, class S2> | |
44 | inline void | |
45 | gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
46 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
47 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
48 | ConvolutionOptions<N> opt ) | |
49 | { | |
50 | if(opt.to_point != typename MultiArrayShape<N>::type()) | |
51 | @@ -1614,7 +1614,7 @@ template <unsigned int N, class T1, class S1, | |
52 | class T2, class S2> | |
53 | inline void | |
54 | gaussianGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
55 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
56 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
57 | double sigma, | |
58 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()) | |
59 | { | |
60 | @@ -1653,7 +1653,7 @@ gaussianGradientMagnitudeImpl(MultiArrayView<N+1, T1, S1> const & src, | |
61 | dest.init(0.0); | |
62 | ||
63 | typedef typename NumericTraits<T1>::RealPromote TmpType; | |
64 | - MultiArray<N, TinyVector<TmpType, N> > grad(dest.shape()); | |
65 | + MultiArray<N, TinyVector<TmpType, int(N)> > grad(dest.shape()); | |
66 | ||
67 | using namespace multi_math; | |
68 | ||
69 | @@ -1771,7 +1771,7 @@ gaussianGradientMagnitude(MultiArrayView<N+1, Multiband<T1>, S1> const & src, | |
70 | class T2, class S2> | |
71 | void | |
72 | symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
73 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
74 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
75 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()); | |
76 | ||
77 | // execute algorithm in parallel | |
78 | @@ -1779,7 +1779,7 @@ gaussianGradientMagnitude(MultiArrayView<N+1, Multiband<T1>, S1> const & src, | |
79 | class T2, class S2> | |
80 | void | |
81 | symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
82 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
83 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
84 | BlockwiseConvolutionOptions<N> opt); | |
85 | } | |
86 | \endcode | |
87 | @@ -1895,7 +1895,7 @@ template <unsigned int N, class T1, class S1, | |
88 | class T2, class S2> | |
89 | inline void | |
90 | symmetricGradientMultiArray(MultiArrayView<N, T1, S1> const & source, | |
91 | - MultiArrayView<N, TinyVector<T2, N>, S2> dest, | |
92 | + MultiArrayView<N, TinyVector<T2, int(N)>, S2> dest, | |
93 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()) | |
94 | { | |
95 | if(opt.to_point != typename MultiArrayShape<N>::type()) | |
96 | @@ -2214,14 +2214,14 @@ laplacianOfGaussianMultiArray(MultiArrayView<N, T1, S1> const & source, | |
97 | template <unsigned int N, class T1, class S1, | |
98 | class T2, class S2> | |
99 | void | |
100 | - gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField, | |
101 | + gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField, | |
102 | MultiArrayView<N, T2, S2> divergence, | |
103 | ConvolutionOptions<N> const & opt); | |
104 | ||
105 | template <unsigned int N, class T1, class S1, | |
106 | class T2, class S2> | |
107 | void | |
108 | - gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField, | |
109 | + gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField, | |
110 | MultiArrayView<N, T2, S2> divergence, | |
111 | double sigma, | |
112 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()); | |
113 | @@ -2231,7 +2231,7 @@ laplacianOfGaussianMultiArray(MultiArrayView<N, T1, S1> const & source, | |
114 | template <unsigned int N, class T1, class S1, | |
115 | class T2, class S2> | |
116 | void | |
117 | - gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField, | |
118 | + gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField, | |
119 | MultiArrayView<N, T2, S2> divergence, | |
120 | BlockwiseConvolutionOptions<N> const & opt); | |
121 | } | |
122 | @@ -2324,7 +2324,7 @@ gaussianDivergenceMultiArray(Iterator vectorField, Iterator vectorFieldEnd, | |
123 | template <unsigned int N, class T1, class S1, | |
124 | class T2, class S2> | |
125 | inline void | |
126 | -gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField, | |
127 | +gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField, | |
128 | MultiArrayView<N, T2, S2> divergence, | |
129 | ConvolutionOptions<N> const & opt) | |
130 | { | |
131 | @@ -2338,7 +2338,7 @@ gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & ve | |
132 | template <unsigned int N, class T1, class S1, | |
133 | class T2, class S2> | |
134 | inline void | |
135 | -gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, N>, S1> const & vectorField, | |
136 | +gaussianDivergenceMultiArray(MultiArrayView<N, TinyVector<T1, int(N)>, S1> const & vectorField, | |
137 | MultiArrayView<N, T2, S2> divergence, | |
138 | double sigma, | |
139 | ConvolutionOptions<N> opt = ConvolutionOptions<N>()) |