85 
provided that X*Y, X/Y, X+Y, XY are already supported. 
provided that X*Y, X/Y, X+Y, XY 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: nontrivial field expressions & functions: 
[GLK:5] Want: nontrivial 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 runtime 
Python/ctypes interface to runtime 
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 timevarying data, or 
160 

other multidimensional 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 
============================== 
============================== 