SCM Repository
[diderot] Annotation of /branches/pure-cfg/test/rsmp2d.diderot
Annotation of /branches/pure-cfg/test/rsmp2d.diderot
Parent Directory
|
Revision Log
Revision 768 -
(view)
(download)
1 : |
glk |
698 |
// rsmp2d
|
2 : |
|
|
//
|
3 : |
glk |
723 |
// demos 2D convolution
|
4 : |
glk |
698 |
|
5 : |
|
|
string dataFile = "../data/pix1-11.nrrd";
|
6 : |
|
|
int dataSize = 11;
|
7 : |
|
|
int imgSize = 200;
|
8 : |
|
|
image(2)[] img = load (dataFile);
|
9 : |
|
|
field#2(2)[] F = img ⊛ bspln3;
|
10 : |
|
|
|
11 : |
|
|
strand sample (int ui, int vi)
|
12 : |
|
|
{
|
13 : |
glk |
768 |
vec2 pos = [lerp(-0.5, real(dataSize)-0.5, -0.5, real(ui), real(imgSize)-0.5),
|
14 : |
|
|
lerp(-0.5, real(dataSize)-0.5, -0.5, real(vi), real(imgSize)-0.5)];
|
15 : |
glk |
723 |
output vec3 vxy = [0.0,0.0,0.0];
|
16 : |
glk |
698 |
|
17 : |
|
|
update
|
18 : |
|
|
{
|
19 : |
glk |
723 |
if (inside(pos,F)) {
|
20 : |
|
|
vec2 grad = ∇F@pos;
|
21 : |
glk |
768 |
vxy = [0.1 if F@pos > 0.01 else 0.0, grad[0], grad[1]];
|
22 : |
glk |
723 |
}
|
23 : |
glk |
698 |
stabilize;
|
24 : |
|
|
}
|
25 : |
|
|
}
|
26 : |
|
|
|
27 : |
|
|
initially [ sample(ui, vi) | vi in 0..(imgSize-1), ui in 0..(imgSize-1) ];
|