40 double val0, val1, val2;
42 for (depth = 0; depth < array->
sz; depth++) {
43 for (row = 0; row < array->
sy; row++) {
55 (-3 * val0 + 4 * val1 - val2) / (2 * step[0]);
69 (3 * val2 - 4 * val1 + val0) / (2 * step[0]);
72 for (col = 1; col < array->
sx - 1; col++) {
84 (val2 - val0) / (2 * step[0]);
88 for (depth = 0; depth < array->
sz; depth++) {
89 for (col = 0; col < array->
sx; col++) {
101 -(-3 * val0 + 4 * val1 - val2) / (2 * step[1]);
115 -(3 * val2 - 4 * val1 + val0) / (2 * step[1]);
118 for (row = 1; row < array->
sy - 1; row++) {
130 -(val2 - val0) / (2 * step[1]);
134 for (row = 0; row < array->
sy; row++) {
135 for (col = 0; col < array->
sx; col++) {
147 (-3 * val0 + 4 * val1 - val2) / (2 * step[2]);
161 (3 * val2 - 4 * val1 + val0) / (2 * step[2]);
163 for (depth = 1; depth < array->
sz - 1; depth++) {
175 (val2 - val0) / (2 * step[2]);
void Rast_set_null_value(void *, int, RASTER_MAP_TYPE)
To set one or more raster values to null.
#define Rast_is_d_null_value(dcellVal)
void Rast3d_gradient_double(RASTER3D_Array_double *array, double *step, RASTER3D_Array_double *grad_x, RASTER3D_Array_double *grad_y, RASTER3D_Array_double *grad_z)
Gradient computation.
#define RASTER3D_ARRAY_ACCESS(arr, x, y, z)