From 2d3fdc3cc1c2d682784bed895948411f7e00a73a Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm Date: Mon, 12 Jun 2023 16:29:07 +0200 Subject: [PATCH] improve error handling and filtering --- src/common.cpp | 2 +- src/relaxis.cpp | 116 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 80 insertions(+), 38 deletions(-) diff --git a/src/common.cpp b/src/common.cpp index 40465cb..045efdc 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -22,7 +22,7 @@ bool saveData(const std::string& exportName, const ModelData& data, const std::f ++classIndex; } while(std::filesystem::exists(outDir/filename)); - if(!saveToDisk(data.data, outDir/filename, data.modelStr + ", " + data.id + ", \"" + std::string(originFile.filename()) + "\"")) + if(!saveToDisk(eis::EisSpectra(data.data, data.modelStr, data.id + ", \"" + std::string(originFile.filename()) + "\""), outDir/filename)) { std::cerr<<"Unable to save to "< #include #include +#include #include #include #include @@ -40,50 +42,90 @@ int main(int argc, char** argv) { if(ignoreArgs.find(arg) != ignoreArgs.end()) continue; - rlx::File file(argv[arg]); - std::cout<<"Loaded "< omega(spectra.data.size()); + for(size_t i = 0; i < spectra.data.size(); ++i) + omega[i] = spectra.data[i].omega; + + eis::Model model(spectra.model); + + std::vector genData = model.executeSweep(omega); + + fvalue dist = eisNyquistDistance(spectra.data, genData); + + if(std::isnan(dist)) + { + std::cout<<"skipping spectra "< 2.0) + { + std::cout<<"skipping spectra "<