85 |
provided that X*Y, X/Y, X+Y, X-Y are already supported. |
provided that X*Y, X/Y, X+Y, X-Y are already supported. |
86 |
Nearly every Diderot program would be simplified by this. |
Nearly every Diderot program would be simplified by this. |
87 |
|
|
88 |
Want: non-trivial field expressions & functions: |
[GLK:5] Want: non-trivial field expressions & functions: |
89 |
image(2)[2] Vimg = load(...); |
image(2)[2] Vimg = load(...); |
90 |
field#0(2)[] Vlen = |Vimg ⊛ bspln3|; |
field#0(2)[] Vlen = |Vimg ⊛ bspln3|; |
91 |
to get a scalar field of vector length, or |
to get a scalar field of vector length, or |
151 |
|
|
152 |
Python/ctypes interface to run-time |
Python/ctypes interface to run-time |
153 |
|
|
154 |
|
Allow the convolution to be specified either as a single 1D kernel |
155 |
|
(as we have it now): |
156 |
|
field#2(3)[] F = bspln3 ⊛ img; |
157 |
|
or, as a tensor product of kernels, one for each axis, e.g. |
158 |
|
field#0(3)[] F = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; |
159 |
|
This is especially important for things like time-varying data, or |
160 |
|
other multi-dimensional fields where one axis of the domain is very |
161 |
|
different from the rest. What is very unclear is how, in such cases, |
162 |
|
we should notate the gradient, when we only want to differentiate with |
163 |
|
respect to some of the axes. |
164 |
|
|
165 |
============================== |
============================== |
166 |
LONG TERM ==================== |
LONG TERM ==================== |
167 |
============================== |
============================== |