 branches/purecfg/TODO 2011/04/14 15:54:24 824
+++ branches/purecfg/TODO 2011/04/20 18:23:24 900
@@ 2,30 +2,28 @@
SHORT TERM ============= (for curvaturebased VR)
========================
For RGB color output of 2D transfer function (indexed by
kappa1,kappa2), or for a 1D transfer function, will need
something akin to convolution on vector images
+vector fields: convolution on vector images
+ (image orientation not quite working)
IL support for higherorder tensor values (matrices, etc).
tensor construction [DONE]
tensor indexing [DONE]
tensor slicing
 verify that hessians work correctly
+ verify that hessians work correctly [DONE]
Outer products [DONE]
Add M dot v, v dot M, and M dot N [DONE]
Identity matrix [DONE up to code generation]
+Identity matrix [DONE]
Zero tensor [DONE up to code generation]
+Zero tensor [DONE]
trace [DONE]
extend norm (exp) to tensor[3,3]
+extend norm (exp) to tensor[3,3] [DONE]
extend implementation of scaling to work on higherorder tensors (it currently
just works on vectors)
+Matrix addition, subtraction, and scaling [DONE]
Use ∇⊗ etc. syntax
syntax [DONE]
@@ 44,20 +42,15 @@
Infix "^" operator for pow() [DONE]
+Code generation support for 1D image data, such as RGBA transfer functions [DONE]
+
==============================
other SHORT TERM ============= (including needed for LIC)
==============================
determinant ("det") for tensor[3,3]
Decide if we want to allow redefinitions of variables
 (as in vrlitecam.diderot)

extend norm (exp) to all tensor types

extend normalize to all tensor types

vector fields: convolution on vector images
+extend norm (exp) to all tensor types [DONE for vectors and matrices]
expand trace in mid to low translation
@@ 68,7 +61,7 @@
rgba = real{4}
==============================
MEDIUM TERM ================== (needed for streamlines & tractography)
+MEDIUM TERM ================== (including needed for streamlines & tractography)
==============================
ability to emit/track/record variables into dynamically resized
@@ 78,6 +71,16 @@
tensor fields: convolution on general tensor images
+Use of Teem's "hest" commandline parser for getting
+any input variables that are not defined in the source file
+
+Save Diderot output to nrrd, instead of "mip.txt"
+ For grid of strands, save to similarlyshaped array
+ For list of strands, save to long 1D (or 2D for nonscalar output) list
+ For ragged things (like tractography output), will need to save both
+ complete list of values, as well as list of start indices and lengths
+ to index into complete list
+
==============================
other MEDIUM TERM ============ (needed for particles)
==============================
@@ 93,7 +96,7 @@
proper handling of stabilize method
Add support for code like
+test/vrkcomp2.diderot: Add support for code like
(F1 if x else F2)@pos
@@ 141,6 +144,18 @@
BUGS =================
======================
+test/abexit.diderot
+ // HEY (BUG): this program can't run; this is the info from gdb (below)
+ // NOTE: if you remove the "inside" test; then it does run w/out problems
+ // (gdb) run
+ // Starting program: /Users/gk/diderot/diderot/purecfg/test/abexit
+ // warning: posix_spawn failed, trying execvp, error: 86
+ // Reading symbols for shared libraries ++. done
+ // initializing globals ...
+ //
+ // Program exited with code 01.
+ // (gdb)
+
test/mipcam.diderot:
// generated C code looks like "(float)p_ui_00.5e0f"
//real rayU = 2.0*camUmax*(real(ui)  0.5)/real(imgResU)  camUmax;