Add OpenMP parallelism
[ctsim.git] / libctsim / backprojectors.cpp
index e4a240824393f9186c5a7c259cf48ef996d503f3..695582aa86d493c6c8ba85615f9c4989bf3acc7f 100644 (file)
@@ -551,6 +551,9 @@ BackprojectDiff::BackprojectView (const double* const filteredProj, const double
   if (interpType == Backprojector::INTERP_LINEAR) {
     // precalculate scaled difference for linear interpolation
     deltaFilteredProj = new double [nDet];
+#if HAVE_OPENMP
+  #pragma omp parallel for
+#endif
     for (int i = 0; i < nDet - 1; i++)
       deltaFilteredProj[i] = filteredProj[i+1] - filteredProj[i];
     deltaFilteredProj[nDet - 1] = 0;  // last detector
@@ -627,6 +630,9 @@ BackprojectIntDiff::BackprojectView (const double* const filteredProj, const dou
   if (interpType == Backprojector::INTERP_LINEAR) {
     // precalculate scaled difference for linear interpolation
     deltaFilteredProj = new double [nDet];
+#if HAVE_OPENMP
+    #pragma omp parallel for
+#endif
     for (int i = 0; i < nDet - 1; i++)
       deltaFilteredProj[i] = (filteredProj[i+1] - filteredProj[i]) * dInvScale;
     deltaFilteredProj[nDet - 1] = 0;  // last detector