projects
/
ctsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add tiny test
[ctsim.git]
/
libctsim
/
filter.cpp
diff --git
a/libctsim/filter.cpp
b/libctsim/filter.cpp
index 397f8a204120926ed04516653b5e1b2ca1d0f654..6382b5609497d5bc5b37e9e08c4ab3a049e54561 100644
(file)
--- a/
libctsim/filter.cpp
+++ b/
libctsim/filter.cpp
@@
-198,10
+198,14
@@
SignalFilter::~SignalFilter (void)
void
SignalFilter::createFrequencyFilter (double* adFilter) const
{
void
SignalFilter::createFrequencyFilter (double* adFilter) const
{
- double x;
- int i;
- for (x = m_dFilterMin, i = 0; i < m_nFilterPoints; x += m_dFilterInc, i++)
+ double xstart = m_dFilterMin;
+#if HAVE_OPENMP
+ #pragma omp parallel for
+#endif
+ for (int i = 0; i < m_nFilterPoints; i++) {
+ double x = xstart + (i * m_dFilterInc);
adFilter[i] = frequencyResponse (x);
adFilter[i] = frequencyResponse (x);
+ }
}
}
@@
-218,8
+222,12
@@
SignalFilter::createSpatialFilter (double* adFilter) const
for (int i = 1; i <= sidelen; i++ )
m_adFilter [center + i] = m_adFilter [center - i] = c / (4 * (i * i) - 1);
} else {
for (int i = 1; i <= sidelen; i++ )
m_adFilter [center + i] = m_adFilter [center - i] = c / (4 * (i * i) - 1);
} else {
- double x = m_dFilterMin;
- for (int i = 0; i < m_nFilterPoints; i++, x += m_dFilterInc) {
+ double xstart = m_dFilterMin;
+#if HAVE_OPENMP
+ #pragma omp parallel for
+#endif
+ for (int i = 0; i < m_nFilterPoints; i++) {
+ double x = xstart + (i * m_dFilterInc);
if (haveAnalyticSpatial(m_idFilter))
m_adFilter[i] = spatialResponseAnalytic (x);
else
if (haveAnalyticSpatial(m_idFilter))
m_adFilter[i] = spatialResponseAnalytic (x);
else