26 #ifndef LIBRARIES_RECONSTRUCTION_AROTATION_ESTIMATOR_H_ 27 #define LIBRARIES_RECONSTRUCTION_AROTATION_ESTIMATOR_H_ 61 return (d.
x() - 3) / 2;
89 && (1 != refDims.
n())) {
93 && (1 == refDims.
n())) {
96 if (batch > otherDims.
n()) {
102 if (0 == maxRotDeg) {
108 if (0 == firstRing) {
111 if (lastRing <= firstRing) {
114 if (lastRing >= refDims.
x()) {
117 if (firstRing >= refDims.
x()) {
128 m_isRefLoaded(false) {};
132 void loadReference(
const T *ref);
134 void compute(T *others);
137 return m_rotations2D;
144 return *m_settings.hw.at(0);
152 virtual void check() = 0;
154 virtual void init2D() = 0;
155 virtual void load2DReferenceOneToN(
const T *ref) = 0;
156 virtual void computeRotation2DOneToN(T *others) = 0;
161 return m_rotations2D;
169 return m_isRefLoaded;
176 std::vector<float> m_rotations2D;
void min(Image< double > &op1, const Image< double > &op2)
const RotationEstimationSetting & getSettings() const
#define REPORT_ERROR(nerr, ErrormMsg)
constexpr bool isInitialized() const
const std::vector< float > & getRotations2D() const
static unsigned getDefaultFirstRing(const Dimensions &d)
CUDA_HD constexpr size_t x() const
constexpr bool equalExceptNPadded(const Dimensions &b) const
static unsigned getDefaultLastRing(const Dimensions &d)
void max(Image< double > &op1, const Image< double > &op2)
CUDA_HD constexpr size_t n() const
static float getMaxRotation()
constexpr bool isRefLoaded() const
constexpr bool isValid() const
bool allowTuningOfNumberOfSamples
std::vector< float > & getRotations2D()
virtual ~ARotationEstimator()
Incorrect value received.
unsigned getNoOfRings() const
Some logical error in the pipeline.