Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/pure-cfg/test/vr-MIP-test.diderot
ViewVC logotype

Annotation of /branches/pure-cfg/test/vr-MIP-test.diderot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 585 - (view) (download)

1 : jhr 585 // vr-MIP-test.diderot
2 :     //
3 :     // test version of maximum intensity projection in Diderot
4 :     //
5 :    
6 :     string dataFile = "../data/vox1.nrrd";
7 :     real stepSz = 0.1;
8 :     vec3 eye = [-8.0, 2.0, 2.0];
9 :     vec3 orig = [0.0, 3.4036, 3.4036];
10 :     vec3 cVec = [0.0, -0.014036, 0.0];
11 :     vec3 rVec = [0.0, 0.0, -0.014036];
12 :     image(3)[] img = load (dataFile);
13 :     field#2(3)[] F = img ⊛ bspln3;
14 :    
15 :     strand RayCast (int row, int col)
16 :     {
17 :     int r = row; // for debugging
18 :     int c = col; // for debugging
19 :     vec3 pos = orig + real(row)*rVec + real(col)*cVec;
20 :     vec3 dir = (pos - eye)/|pos - eye|;
21 :     real t = 0.0;
22 :     output real maxval = -∞;
23 :    
24 :     update
25 :     {
26 :     pos = pos + stepSz*dir;
27 :     if (inside (pos,F)) {
28 :     real val = F@pos;
29 :     maxval = max(val, maxval);
30 :     }
31 :     if (t > 20.0)
32 :     stabilize;
33 :     t = t + stepSz;
34 :     }
35 :    
36 :     /* render: output maxval */
37 :     }
38 :    
39 :     initially [ RayCast(r, c) | r in 0..199, c in 0..199 ];

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0