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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 41, Wed Mar 3 17:38:27 2010 UTC revision 219, Tue Aug 3 19:41:18 2010 UTC
# Line 1  Line 1 
1  // vr.diderot  // vr-MIP.diderot
2  //  //
3  // maximum intensity projection in Diderot  // maximum intensity projection in Diderot
4  //  //
5    
6  input string dataFile;          // name of dataset  input string dataFile;          // name of dataset
7  input real stepSz;              // size of steps  input real stepSz = 0.1;        // size of steps
8  input vec<3> light;                                  // e.g. 0.1
9  input int wid = 640;  input vec3 eye;                 // location of eye point
10  input int ht = 480;                                  // e.g. txs: (25,15,10)
11                                    //      vox1,x: (-8,2,2)
12                                    //      vox1,y: (2,-8,2)
13                                    //      vox1,z: (2,2,-8)
14    input vec3 orig;                // location of pixel (0,0)
15                                    // e.g. txs: (8.83877,2.5911,7.65275)
16                                    //      vox1,x: (0,3.4036,3.4036)
17                                    //      vox1,y: (0.596402,0,3.4036)
18                                    //      vox1,z: (3.4036,3.4036,0)
19    input vec3 cVec;                // vector between pixels horizontally
20                                    // e.g. txs: (-0.0151831,0.0278357,0)
21                                    //      vox1,x: (0,-0.014036,0)
22                                    //      vox1,y: (0.014036,0,0)
23                                    //      vox1,z: (-0.014036,0,0)
24    input vec3 rVec;                // vector between pixels vertically
25                                    // e.g. txs: (0.0074887,0.00408474,-0.0305383)
26                                    //      vox1,x: (0,0,-0.014036)
27                                    //      vox1,y: (0,0,-0.014036)
28                                    //      vox1,z: (0,-0.014036,0)
29    
30  image[3] img = load (dataFile);  image(3)[] img = load (dataFile);
31    
32  field#1[3] F = convolve (bspln3, img);  //field#1(3)[] F = convolve (bspln3, img);
33    field#2(3)[] F = convolve (bspln3, img);
34    
35  actor RayCast (int row, int col)  actor RayCast (int row, int col)
36  {  {
37      vec<3>      dir = (real(row), real(col), 0.0);      vec3 pos = orig + real(row)*rVec + real(col)*cVec;
38      vec<3>      pos = (0.0, 0.0, 0.0);      vec3 dir = (pos - eye)/|pos - eye|;
39      real        t = 0.0;      real        t = 0.0;
40      real        maxval = -inf;      output real maxval = -inf;
     int         num = 0;  
41    
42      update      update
43      {      {
44          vec<3> pt = pos + t*dir;          pos = pos + stepSz*dir;
45          real val = F@pt;          if (inside (pos,F)) {
46              real val = F@pos;
47          maxval = max(val, maxval);          maxval = max(val, maxval);
48          if (t > 1)          }
49            if (t > 20.0)
50              stabilize;              stabilize;
51          t = t + stepSz;          t = t + stepSz;
         num = num + 1;  
52      }      }
53    
54      /* render: output maxval */      /* render: output maxval */
55  }  }
56    
57    initially [ RayCast(r, c) | r in 0..199, c in 0..199 ];

Legend:
Removed from v.41  
changed lines
  Added in v.219

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