summaryrefslogtreecommitdiff
path: root/imagealgos.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'imagealgos.cpp')
-rw-r--r--imagealgos.cpp34
1 files changed, 7 insertions, 27 deletions
diff --git a/imagealgos.cpp b/imagealgos.cpp
index 267e4ae..98d5fb0 100644
--- a/imagealgos.cpp
+++ b/imagealgos.cpp
@@ -7,23 +7,24 @@
#include <cstring>
#include <algorithm>
-#include <chrono>
#include <iostream>
#include <limits>
#include <mutex>
-#include <typeinfo>
#include <utility>
-// #include <arm_neon.h>
-
-#include "fuck_intel.h"
-#include "genetic_algos.h"
#include "macro.h"
uint8_t pgm_image[64 + img_width * img_height * sizeof(uint16_t)];
size_t pgm_image_size = 0;
std::mutex pgm_image_mtx;
+template<typename T>
+T median3(const T &a, const T &b, const T &c)
+{
+ using namespace std;
+ return max(min(a, b), min(max(a, b), c));
+}
+
size_t pgm_save(Image *img, FILE *outfile, bool really_save) {
std::lock_guard<std::mutex> lg(pgm_image_mtx);
@@ -279,27 +280,6 @@ Pixels process_columns(Image &image)
return result;
}
-Pixels& Pixels::operator+=(const Pixels& other)
-{
- std::transform(std::execution::par,
- pixels.begin(), pixels.end(),
- other.pixels.begin(),
- pixels.begin(),
- // [](auto& toAdd) { return dst += src; });
- std::plus<>());
-
- return *this;
-}
-
-Pixels& Pixels::operator/=(const float divider)
-{
- std::for_each(std::execution::par_unseq,
- pixels.begin(), pixels.end(),
- [divider](auto& pixel) { pixel /= divider; });
-
- return *this;
-}
-
QList<QLineF> pixelsToLines(const Pixels &rawProfile)
{
const auto& pixels = rawProfile.pixels;