23 
SHORTISH TERM ========= (to make using Diderot less annoying to 
SHORTISH TERM ========= (to make using Diderot less annoying to 
24 
======================== program in, and slow to execute) 
======================== program in, and slow to execute) 
25 


26 
valuenumbering optimization [DONE, but needs more testing] 
valuenumbering optimization [DONE] 
27 


28 
Allow ".ddro" file extensions in addition to ".diderot" 
Allow ".ddro" file extensions in addition to ".diderot" 
29 


60 
to index into complete list 
to index into complete list 
61 


62 
[GLK:6] Use of Teem's "hest" commandline parser for getting 
[GLK:6] Use of Teem's "hest" commandline parser for getting 
63 
any input variables that are not defined in the source file 
any "input" variables that are not defined in the source file. 
64 


65 
[GLK:7] ability to declare a field so that probe positions are 
[GLK:7] ability to declare a field so that probe positions are 
66 
*always* "inside"; with various ways of mapping the known image values 
*always* "inside"; with various ways of mapping the known image values 
205 
field#2(3)[] F = bspln3 ⊛ img; 
field#2(3)[] F = bspln3 ⊛ img; 
206 
or, as a tensor product of kernels, one for each axis, e.g. 
or, as a tensor product of kernels, one for each axis, e.g. 
207 
field#0(3)[] F = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; 
field#0(3)[] F = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; 
208 
This is especially important for things like timevarying data, or 
This is especially important for things like timevarying fields 
209 
other multidimensional fields where one axis of the domain is very 
and the use of scalespace in field visualization: one axis of the 
210 
different from the rest, and hence must be treated separately when 
must be convolved with a different kernel during probing. 
211 
it comes to convolution. What is very unclear is how, in such cases, 
What is very unclear is how, in such cases, we should notate the 
212 
we should notate the gradient, when we only want to differentiate with 
gradient, when we only want to differentiate with respect to some 
213 
respect to some subset of the axes. One ambitious idea would be: 
subset of the axes. One ambitious idea would be: 
214 
field#0(3)[] Ft = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; // 2D timevarying field 
field#0(3)[] Ft = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; // 2D timevarying field 
215 
field#0(2)[] F = lambda([x,y], Ft([x,y,42.0])) // restriction to time=42.0 
field#0(2)[] F = lambda([x,y], Ft([x,y,42.0])) // restriction to time=42.0 
216 
vec2 grad = ∇F([x,y]); // 2D gradient 
vec2 grad = ∇F([x,y]); // 2D gradient 