26 #ifndef LIBRARIES_RECONSTRUCTION_PSD_ESTIMATOR_H_ 27 #define LIBRARIES_RECONSTRUCTION_PSD_ESTIMATOR_H_ 43 const std::pair<size_t, size_t> &borders,
56 for (
size_t y = 0;
y < settings.
sDim().
y(); ++
y) {
57 for (
size_t x = 0;
x < settings.
sDim().
x(); ++
x) {
58 bool mirror =
x >= settings.
fDim().
x();
60 ? (settings.
sDim().
x() -
x)
63 ? ((
y == 0) ? 0 : (settings.
sDim().
y() -
y))
65 size_t indexD = y * settings.
sDim().
x() +
x;
66 size_t indexS = yS * settings.
fDim().
x() + xS;
67 out[indexD] = func(mirror, in[indexS]);
static void half2whole(const T *in, T __restrict__ *out, const FFTSettings< T > &settings, F func)
constexpr Dimensions fDim() const
CUDA_HD constexpr size_t x() const
quaternion_type< T > normalize(quaternion_type< T > q)
CUDA_HD constexpr size_t y() const
constexpr Dimensions sDim() const
static void estimatePSD(const MultidimArray< T > µgraph, float overlap, const Dimensions &tileDim, MultidimArray< T > &psd, unsigned fftThreads, bool normalize)
static std::vector< Rectangle< Point2D< size_t > > > getPatchesLocation(const std::pair< size_t, size_t > &borders, const Dimensions µgraph, const Dimensions &patch, float overlap)