- // refmap: a reference map to define the heights
- // alpha = weight, color = value
- // if more than one color value is used, colors are also matched
-
- // we do linear regression, basically
- // f'(x, y) = f(x, y) * scale + offset
- // sum((f(x, y) * scale + offset - ref_y(x, y))^2 * ref_a(x, y)) minimize
-
- // diff by offset:
- // sum(-2*ref_y(x,y)*ref_a(x,y) + 2*scale*f(x,y)*ref_a(x,y) + 2*offset*ref_a(x,y)) = 0
- // diff by scale:
- // sum(-2*f(x,y)*ref_a(x,y) + 2*scale*f(x,y)^2*ref_a(x,y) + 2*offset*f(x,y)*ref_a(x,y)) = 0
- // ->
- // offset = (sfa*sfya - sffa*sya) / (sfa*sfa-sa*sffa)
- // scale = (sfa*sya - sa*sfya) / (sfa*sfa-sa*sffa)
+#ifdef C99
+ v = creal(imgspace1[(w*y+x)] /= (w*h));
+#else
+ v = (imgspace1[(w*y+x)][0] /= (w*h));
+ imgspace1[(w*y+x)][1] /= (w*h);
+#endif
+ if(v < vmin || (x == 0 && y == 0))
+ vmin = v;
+ if(v > vmax || (x == 0 && y == 0))
+ vmax = v;
+ }