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 631 - (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 : jhr 631 vec3 cVec = [0.0, -0.014036, 0.0]; // image width = 2.8072
11 : jhr 585 vec3 rVec = [0.0, 0.0, -0.014036];
12 :     image(3)[] img = load (dataFile);
13 :     field#2(3)[] F = img ⊛ bspln3;
14 : jhr 631 //field#0(3)[] F = img ⊛ tent;
15 : jhr 585
16 :     strand RayCast (int row, int col)
17 :     {
18 :     int r = row; // for debugging
19 :     int c = col; // for debugging
20 :     vec3 pos = orig + real(row)*rVec + real(col)*cVec;
21 :     vec3 dir = (pos - eye)/|pos - eye|;
22 :     real t = 0.0;
23 :     output real maxval = -∞;
24 :    
25 :     update
26 :     {
27 :     pos = pos + stepSz*dir;
28 :     if (inside (pos,F)) {
29 :     real val = F@pos;
30 :     maxval = max(val, maxval);
31 :     }
32 :     if (t > 20.0)
33 :     stabilize;
34 :     t = t + stepSz;
35 :     }
36 :    
37 :     /* render: output maxval */
38 :     }
39 :    
40 :     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