- } // end for iy
- } else if (interpType == Backprojector::INTERP_LINEAR) {
- for (int iy = 0; iy < ny; iy++, curDetPos += det_dy) {
- const long iDetPos = curDetPos >> scaleShift;
- const long detRemainder = curDetPos & scaleBitmask;
- if (iDetPos >= 0 && iDetPos <= iLastDet)
- *pImCol++ += filteredProj[iDetPos] + (detRemainder * deltaFilteredProj[iDetPos]);
-
- } // end for iy
- } else if (interpType == Backprojector::INTERP_CUBIC) {
- for (int iy = 0; iy < ny; iy++, curDetPos += det_dy) {
- *pImCol++ += pCubicInterp->interpolate (static_cast<double>(curDetPos) / scale);
- }
- } // end Cubic
+ } else
+ pImCol++;
+ } else if (interpType == Backprojector::INTERP_LINEAR) {
+ const long iDetPos = detPos >> scaleShift;
+ if (iDetPos >= 0 && iDetPos <= iLastDet) {
+ const long detRemainder = detPos & scaleBitmask;
+ *pImCol++ += filteredProj[iDetPos] + (detRemainder * deltaFilteredProj[iDetPos]);
+ } else
+ pImCol++;
+ } else if (interpType == Backprojector::INTERP_CUBIC) {
+ *pImCol++ += pCubicInterp->interpolate (static_cast<double>(detPos) / scale);
+ } // end Cubic
+ } // end for iy