--- trunk/TODO 2011/05/12 03:07:35 1195
+++ trunk/TODO 2011/05/12 19:10:20 1204
@@ -27,8 +27,9 @@
Allow ".ddro" file extensions in addition to ".diderot"
-Be able to output values of type tensor[2,2] and tensor[3,3]
-(currently only scalars & vectors)
+Be able to output values of type tensor[2,2] and tensor[3,3];
+(currently only scalars & vectors). Want to add some regression tests
+based on this and currently can't
[GLK:1] Add a clamp function, which takes three arguments; either
three scalars:
@@ -211,8 +212,12 @@
we should notate the gradient, when we only want to differentiate with
respect to some subset of the axes. One ambitious idea would be:
field#0(3)[] Ft = (bspln3 ⊗ bspln3 ⊗ tent) ⊛ img; // 2D time-varying field
- field#0(2)[] F = lambda([x,y], Ft([x,y,42.0])) // restriction to time=42.0
- vec2 grad = ∇F([x,y]); // 2D gradient
+ field#0(2)[] F = lambda([x,y], Ft([x,y,42.0])) // restriction to time=42.0
+ vec2 grad = ∇F([x,y]); // 2D gradient
+
+Tensors of order 3 (e.g. gradients of diffusion tensor fields, or
+hessians of vector fields) and order 4 (e.g. Hessians of diffusion
+tensor fields).
representation of tensor symmetry
(have to identify the group of index permutations that are symmetries)
@@ -221,10 +226,35 @@
outer works on all tensors
+Help for debugging Diderot programs: need to be able to uniquely
+identify strands, and for particular strands that are known to behave
+badly, do something like printf or other logging of their computations
+and updates.
+
+Permit writing dimensionally general code: Have some statement of the
+dimension of the world "W" (or have it be learned from one particular
+field of interest), and then able to write "vec" instead of
+"vec2/vec3", and perhaps "tensor[W,W]" instead of
+"tensor[2,2]/tensor[3,3]"
+
+Traits: all things things that have boilerplate code (especially
+volume rendering) should be expressed in terms of the unique
+computational core. Different kinds of streamline/tractography
+computation will be another example, as well as particle systems.
+
Einstein summation notation
"tensor comprehension" (like list comprehension)
+Fields coming from different sources of data:
+* triangular or tetrahedral meshes over 2D or 3D domains (of the
+ source produced by finite-element codes; these will come with their
+ own specialized kinds of reconstruction kernels, called "basis
+ functions" in this context)
+* Large point clouds, with some radial basis function around each point,
+ which will be tuned by parameters of the point (at least one parameter
+ giving some notion of radius)
+
======================
BUGS =================
======================