From 18b5ab2a59b050ff506e5c7f98d4a9591aa63de2 Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm <philipp@uvos.xyz> Date: Wed, 15 Jun 2022 20:56:19 +0200 Subject: [PATCH] Normalize: also remove real offset --- main.cpp | 3 +++ normalize.cpp | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/main.cpp b/main.cpp index 31467fd..a4baa9f 100644 --- a/main.cpp +++ b/main.cpp @@ -132,6 +132,9 @@ static void runParamSweep(const std::string& modelstr, const eis::Range& omega, if(parameters.empty()) return; + for(const eis::Range& range : parameters) + range.print(eis::Log::INFO); + eis::Log(eis::Log::INFO)<<"Saving sweep to "<<PARA_SWEEP_OUTPUT_DIR; std::filesystem::create_directory(PARA_SWEEP_OUTPUT_DIR); diff --git a/normalize.cpp b/normalize.cpp index a7cb4df..f32488c 100644 --- a/normalize.cpp +++ b/normalize.cpp @@ -30,20 +30,24 @@ void eis::eraseSingularites(std::vector<eis::DataPoint>& data) void eis::normalize(std::vector<eis::DataPoint>& data) { - fvalue maxRe = 0; - fvalue maxIm = 0; + fvalue maxRe = std::numeric_limits<fvalue>::min(); + fvalue maxIm = std::numeric_limits<fvalue>::min(); + fvalue minRe = std::numeric_limits<fvalue>::max(); for(const DataPoint& dataPoint : data) { - maxRe = fabs(dataPoint.im.real()) > maxRe ? fabs(dataPoint.im.real()) : maxRe; + maxRe = fabs(dataPoint.im.real()) > maxRe ? fabs(dataPoint.im.real()) : maxRe; maxIm = fabs(dataPoint.im.imag()) > maxIm ? fabs(dataPoint.im.imag()) : maxIm; + + if(minRe > dataPoint.im.real()) + minRe = dataPoint.im.real(); } - maxRe = maxRe == 0 ? 1 : maxRe; + maxRe = maxRe == minRe ? 1 : maxRe-minRe; maxIm = maxIm == 0 ? 1 : maxIm; for(DataPoint& dataPoint : data) { - dataPoint.im.real(dataPoint.im.real() / maxRe); + dataPoint.im.real((dataPoint.im.real()-minRe) / maxRe); dataPoint.im.imag(dataPoint.im.imag() / maxIm); } } -- GitLab