5 |
SHORT TERM ============= (*needed* for streamlines & tractography) |
SHORT TERM ============= (*needed* for streamlines & tractography) |
6 |
======================== |
======================== |
7 |
|
|
|
Remove CL from compiler [DONE] |
|
|
|
|
8 |
[GLK:2] Add sequence types (needed for evals & evecs) |
[GLK:2] Add sequence types (needed for evals & evecs) |
9 |
syntax |
syntax |
10 |
types: ty '{' INT '}' |
types: ty '{' INT '}' |
15 |
tensor[3,3] (requires sequences) |
tensor[3,3] (requires sequences) |
16 |
|
|
17 |
ability to emit/track/record variables into dynamically re-sized |
ability to emit/track/record variables into dynamically re-sized |
18 |
runtime buffer |
runtime output buffer |
19 |
|
|
20 |
tensor fields: convolution on general tensor images (order > 1) |
tensor fields: convolution on general tensor images (order > 1) |
21 |
|
|
23 |
SHORT-ISH TERM ========= (to make using Diderot less annoying to |
SHORT-ISH TERM ========= (to make using Diderot less annoying to |
24 |
======================== program in, and slow to execute) |
======================== program in, and slow to execute) |
25 |
|
|
|
value-numbering optimization [DONE] |
|
|
|
|
26 |
Allow ".ddro" file extensions in addition to ".diderot" |
Allow ".ddro" file extensions in addition to ".diderot" |
27 |
|
|
28 |
Be able to output values of type tensor[2,2] and tensor[3,3]; |
Be able to output values of type tensor[2,2] and tensor[3,3]; |
46 |
complete list of values, as well as list of start indices and lengths |
complete list of values, as well as list of start indices and lengths |
47 |
to index into complete list |
to index into complete list |
48 |
|
|
49 |
[GLK:5] Use of Teem's "hest" command-line parser for getting |
[GLK:5] ability to declare a field so that probe positions are |
|
any "input" variables that are not defined in the source file. [DONE] |
|
|
|
|
|
[GLK:6] ability to declare a field so that probe positions are |
|
50 |
*always* "inside"; with various ways of mapping the known image values |
*always* "inside"; with various ways of mapping the known image values |
51 |
to non-existant index locations. One possible syntax emphasizes that |
to non-existant index locations. One possible syntax emphasizes that |
52 |
there is a index mapping function that logically precedes convolution: |
there is a index mapping function that logically precedes convolution: |
69 |
rgb = real{3} |
rgb = real{3} |
70 |
rgba = real{4} |
rgba = real{4} |
71 |
|
|
72 |
|
Revisit how images are created within the language. |
73 |
|
The "load" operator should probably go away, and its strangs |
74 |
|
that strings are there only as a way to refer to nrrd filenames |
75 |
|
|
76 |
============================== |
============================== |
77 |
MEDIUM TERM ================== (*needed* for particles) |
MEDIUM TERM ================== (*needed* for particles) |
78 |
============================== |
============================== |
109 |
test/illust-vr.diderot is good example of program that uses multiple |
test/illust-vr.diderot is good example of program that uses multiple |
110 |
such 1-D fields basically as lookup-table-based function evaluation |
such 1-D fields basically as lookup-table-based function evaluation |
111 |
|
|
|
expand trace in mid to low translation [DONE] |
|
|
|
|
112 |
extend norm (|exp|) to all tensor types [DONE for vectors and matrices] |
extend norm (|exp|) to all tensor types [DONE for vectors and matrices] |
113 |
|
|
114 |
determinant ("det") for tensor[3,3] |
determinant ("det") for tensor[3,3] |
128 |
LONG TERM ==================== (make Diderot more interesting/attractive from |
LONG TERM ==================== (make Diderot more interesting/attractive from |
129 |
============================== a research standpoint) |
============================== a research standpoint) |
130 |
|
|
131 |
|
[GLK:6] Want code-generation working for tensors of order three. |
132 |
|
Order three matters for edge detection in scalar fields (to get |
133 |
|
second derivatives of gradient magnitude), second derivatives |
134 |
|
of vector fields (for some feature extraction), and first |
135 |
|
derivatives of diffusion tensor fields. |
136 |
|
|
137 |
IL support for higher-order tensor values (matrices, etc). |
IL support for higher-order tensor values (matrices, etc). |
138 |
tensor construction [DONE] |
tensor construction [DONE] |
139 |
tensor indexing [DONE] |
tensor indexing [DONE] |
140 |
tensor slicing |
tensor slicing |
|
verify that hessians work correctly [DONE] |
|
141 |
|
|
142 |
Better handling of variables that determines the scope of a variable |
Better handling of variables that determines the scope of a variable |
143 |
based on its actual use, instead of where the user defined it. So, |
based on its actual use, instead of where the user defined it. So, |