From 1c199250c20b6d3751319c16f13a79f43805a7cf Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Mon, 18 Dec 2017 22:34:55 +0100 Subject: [PATCH] new function to get histogram --- src/utils/utils.cpp | 18 ++++++++++++++++++ src/utils/utils.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index e75b6836a..52a4a8025 100644 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -37,6 +37,24 @@ const QString Utils::getDatabaseName(ExternalDatabase database) { } +std::vector<size_t> Utils::getHistogram(std::vector<pappso::pappso_double> data_values, unsigned int number_of_class) { + + + std::vector<size_t> histogram(number_of_class); + + std::sort(data_values.begin(), data_values.end()); + pappso::pappso_double min = *data_values.begin(); + pappso::pappso_double max = *(data_values.end()-1); + pappso::pappso_double offset = (max-min)/ (pappso::pappso_double) number_of_class; + + for (pappso::pappso_double value :data_values) { + histogram[(value /offset )] = value; + } + + return histogram; +} + + pappso::AaModificationP Utils::guessAaModificationPbyMonoisotopicMassDelta(pappso::mz mass) { pappso::PrecisionP precision = pappso::Precision::getDaltonInstance(0.01); diff --git a/src/utils/utils.h b/src/utils/utils.h index 7f5c1ae55..2c17e8f21 100644 --- a/src/utils/utils.h +++ b/src/utils/utils.h @@ -35,6 +35,7 @@ public: static const QString getDatabaseName(ExternalDatabase database); static const QString getXmlDouble(pappso::pappso_double number); static pappso::AaModificationP guessAaModificationPbyMonoisotopicMassDelta(pappso::mz mass); + static std::vector<size_t> getHistogram(std::vector<pappso::pappso_double> data_values, unsigned int number_of_class); }; -- GitLab