From f1b7f2f8d0b508baa39b554e86d5499637681101 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 4 Aug 2016 15:19:33 +0200 Subject: filter/accela: fix nonlinearity formula --- filter-accela/ftnoir_accela_filtercontrols.ui | 2 +- filter-accela/ftnoir_filter_accela.cpp | 2 +- filter-accela/ftnoir_filter_accela.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/filter-accela/ftnoir_accela_filtercontrols.ui b/filter-accela/ftnoir_accela_filtercontrols.ui index 2b568913..3a3f43d8 100644 --- a/filter-accela/ftnoir_accela_filtercontrols.ui +++ b/filter-accela/ftnoir_accela_filtercontrols.ui @@ -349,7 +349,7 @@ 0 - 75 + 100 0 diff --git a/filter-accela/ftnoir_filter_accela.cpp b/filter-accela/ftnoir_filter_accela.cpp index 4f6dafb8..09472f35 100644 --- a/filter-accela/ftnoir_filter_accela.cpp +++ b/filter-accela/ftnoir_filter_accela.cpp @@ -96,7 +96,7 @@ void FTNoIR_Filter::filter(const double* input, double *output) const double thres = i >= 3 ? rot_t : trans_t; const double out_ = vec_ / thres; const double out = i >= 3 && std::fabs(rot_nl - 1) > 5e-3 - ? (out_ * std::min(1., std::pow(out_/s.max_rot_nl, rot_nl)) * s.max_rot_nl) + ? (std::pow(out_/s.max_rot_nl, rot_nl) * s.max_rot_nl) : out_; const double val = m.getValue(float(out)); const double signum = int(vec < 0) * -2 + 1; diff --git a/filter-accela/ftnoir_filter_accela.h b/filter-accela/ftnoir_filter_accela.h index 3f504767..b347c30b 100644 --- a/filter-accela/ftnoir_filter_accela.h +++ b/filter-accela/ftnoir_filter_accela.h @@ -33,7 +33,7 @@ struct settings_accela : opts ewma(b, "ewma", 2), rot_deadzone(b, "rotation-deadzone", 0), trans_deadzone(b, "translation-deadzone", 0), - rot_nonlinearity(b, "rotation-nonlinearity", slider_value(1.1, 1, 1.75)) + rot_nonlinearity(b, "rotation-nonlinearity", slider_value(1, 1, 2)) {} }; -- cgit v1.2.3