169 int x, y, z, t, k, nx, ny, nz, n;
171 int dimX =
_ref->getSizeX();
172 int dimY =
_ref->getSizeY();
173 int dimZ =
_ref->getSizeZ();
174 int dimT =
_ref->getSizeT();
180 for (
int i = 0; i < 3; ++i)
186 for (k = 0; k <
_level; k++)
190 int lowerLvlDimX = dimX;
191 int lowerLvlDimY = dimY;
192 int lowerLvlDimZ = dimZ;
214 for (t = 0; t < dimT; t++)
215 for (z = 0; z < dimZ; z++)
216 for (y = 0; y < dimY; y++)
217 for (x = 0; x < dimX; x++)
220 for (nz = 0; nz < 2; nz++)
221 for (ny = 0; ny < 2; ny++)
222 for (nx = 0; nx < 2; nx++) {
224 if ((!
_axes[0] && nx > 0) ||
225 (!
_axes[1] && ny > 0) ||
226 (!
_axes[2] && nz > 0))
230 src[0] = (
_axes[0] ? std::min(2 * x + nx, lowerLvlDimX - 1) : x);
231 src[1] = (
_axes[1] ? std::min(2 * y + ny, lowerLvlDimY - 1) : y);
232 src[2] = (
_axes[2] ? std::min(2 * z + nz, lowerLvlDimZ - 1) : z);
234 tab(n++) = pDown->at(src[0], src[1], src[2], t);
236 pUp->at(x, y, z, t) =
_func.doit(tab);