40 double val0, val1, val2;
42 for (depth = 0; depth < array->
sz; depth++) {
43 for (row = 0; row < array->
sy; row++) {
56 (-3 * val0 + 4 * val1 - val2) / (2 * step[0]);
70 (3 * val2 - 4 * val1 + val0) / (2 * step[0]);
73 for (col = 1; col < array->
sx - 1; col++) {
86 (val2 - val0) / (2 * step[0]);
90 for (depth = 0; depth < array->
sz; depth++) {
91 for (col = 0; col < array->
sx; col++) {
104 -(-3 * val0 + 4 * val1 - val2) / (2 * step[1]);
118 -(3 * val2 - 4 * val1 + val0) / (2 * step[1]);
121 for (row = 1; row < array->
sy - 1; row++) {
134 -(val2 - val0) / (2 * step[1]);
138 for (row = 0; row < array->
sy; row++) {
139 for (col = 0; col < array->
sx; col++) {
151 (-3 * val0 + 4 * val1 - val2) / (2 * step[2]);
165 (3 * val2 - 4 * val1 + val0) / (2 * step[2]);
167 for (depth = 1; depth < array->
sz - 1; depth++) {
180 (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)