diff --git a/Src/BioTrackerPlugin.h b/Src/BioTrackerPlugin.h
index cbf2cf2d68fd60456f6f7c9005b1146b0f2f7b47..e194e8d679d86d20c84172c490542cd6d868d499 100644
--- a/Src/BioTrackerPlugin.h
+++ b/Src/BioTrackerPlugin.h
@@ -29,8 +29,6 @@ public:
 
 public:
     void createPlugin();
-    void receiveCurrentFrameFromMainApp(std::shared_ptr<cv::Mat> mat,
-                                        uint                     frameNumber);
     void sendCorePermissions();
 
 private:
@@ -70,7 +68,9 @@ public slots:
                         IModelTrackedTrajectory* trajectory1);
     void receiveCurrentFrameNumberFromMainApp(uint frameNumber);
 
-private slots:
+public slots:
+    void receiveCurrentFrameFromMainApp(std::shared_ptr<cv::Mat> mat,
+                                        uint                     frameNumber);
     void receiveAreaDescriptor(IModelAreaDescriptor* areaDescr);
 
 private:
diff --git a/Src/Config.cpp b/Src/Config.cpp
index aaed4dda68ad82a5a9420257ffb185249b9f3169..e23dc0f7a1acd58e557fe9a1775a6b4ccca47993 100644
--- a/Src/Config.cpp
+++ b/Src/Config.cpp
@@ -62,9 +62,9 @@ void Config::load(QString dir, QString file)
     config->BinarizationThreshold = tree.get<int>(
         globalPrefix + "BinarizationThreshold",
         config->BinarizationThreshold);
-    config->MaximumImageValue = tree.get<int>(
-        globalPrefix + "MaximumImageValue",
-        config->MaximumImageValue);
+    config->MaximumImageValue = tree.get<int>(globalPrefix +
+                                                  "MaximumImageValue",
+                                              config->MaximumImageValue);
 
     config->OpeningErosionSize  = tree.get<int>(globalPrefix +
                                                    "OpeningErosionSize",
@@ -114,8 +114,7 @@ void Config::save(QString dir, QString file)
              config->UseAbsoluteDifference);
     tree.put(globalPrefix + "BinarizationThreshold",
              config->BinarizationThreshold);
-    tree.put(globalPrefix + "MaximumImageValue",
-             config->MaximumImageValue);
+    tree.put(globalPrefix + "MaximumImageValue", config->MaximumImageValue);
     tree.put(globalPrefix + "OpeningErosionSize", config->OpeningErosionSize);
     tree.put(globalPrefix + "OpeningDilationSize",
              config->OpeningDilationSize);
diff --git a/Src/Config.h b/Src/Config.h
index 185581c4d14cf7a959889785c219994d9784fd59..f63f0aaa687a3f3394dd6e3ca11c6d79f44d3eb7 100644
--- a/Src/Config.h
+++ b/Src/Config.h
@@ -9,7 +9,7 @@ class Config : public IConfig
 public:
     bool UseAbsoluteDifference = true;
     int  BinarizationThreshold = 40;
-    int  MaximumImageValue = 255;
+    int  MaximumImageValue     = 255;
 
     int OpeningErosionSize  = 8;
     int OpeningDilationSize = 8;
diff --git a/Src/Model/BioTrackerTrackingAlgorithm.cpp b/Src/Model/BioTrackerTrackingAlgorithm.cpp
index f48cef5b300be9b9d1fafede0b2d19f8d5fa15e5..094b2c20ab1b508c9caa3b23092ec7507ca21615 100644
--- a/Src/Model/BioTrackerTrackingAlgorithm.cpp
+++ b/Src/Model/BioTrackerTrackingAlgorithm.cpp
@@ -113,20 +113,20 @@ void BioTrackerTrackingAlgorithm::sendSelectedImage(
 }
 
 std::vector<BlobPose> BioTrackerTrackingAlgorithm::getContourCentroids(
-    cv::Mat& image,
-    int      minSize)
+    cv::Mat image)
 {
 
     std::vector<std::vector<cv::Point>> contours;
     std::vector<cv::Vec4i>              hierarchy;
     std::vector<BlobPose>               centroids;
 
-    findContours(image,
-                 contours,
-                 hierarchy,
-                 cv::RETR_TREE,
-                 cv::CHAIN_APPROX_SIMPLE,
-                 cv::Point(0, 0));
+    cv::findContours(image,
+                     contours,
+                     hierarchy,
+                     cv::RETR_TREE,
+                     cv::CHAIN_APPROX_SIMPLE,
+                     cv::Point(0, 0));
+
     for (auto x : contours) {
         cv::Point2f c(0, 0);
         float       i = 0;
@@ -208,8 +208,23 @@ void BioTrackerTrackingAlgorithm::doTracking(std::shared_ptr<cv::Mat> p_image,
     // Find blobs via ellipsefitting
     _bd.setMaxBlobSize(_TrackingParameter->getMaxBlobSize());
     _bd.setMinBlobSize(_TrackingParameter->getMinBlobSize());
-    // std::vector<BlobPose> blobs = _bd.getPoses(*mask, *greyMat);
-    std::vector<BlobPose> blobs = getContourCentroids(*mask, 111);
+
+    auto foo = *images.find(std::string("Masked Greyscale"))->second;
+
+    std::vector<std::vector<cv::Point>> contours;
+    std::vector<cv::Vec4i>              hierarchy;
+    cv::findContours(foo,
+                     contours,
+                     hierarchy,
+                     cv::RETR_TREE,
+                     cv::CHAIN_APPROX_SIMPLE,
+                     cv::Point(0, 0));
+
+    for (size_t i = 0; i < contours.size(); i++) {
+        drawContours(foo, contours, (int) i, cv::Scalar(255));
+    }
+
+    std::vector<BlobPose> blobs = getContourCentroids(*mask);
 
     // Never switch the position of the trajectories. The NN2d mapper relies on
     // this! If you mess up the order, add or remove some t, then create a new
diff --git a/Src/Model/BioTrackerTrackingAlgorithm.h b/Src/Model/BioTrackerTrackingAlgorithm.h
index ca456feebbdf2c9185c46061c76891cd4eac5d8b..4fb104220d7215ceb718af6a592b6cc4e9a19286 100644
--- a/Src/Model/BioTrackerTrackingAlgorithm.h
+++ b/Src/Model/BioTrackerTrackingAlgorithm.h
@@ -41,7 +41,7 @@ public Q_SLOTS:
     void receiveParametersChanged();
 
 private:
-    std::vector<BlobPose> getContourCentroids(cv::Mat& image, int minSize);
+    std::vector<BlobPose> getContourCentroids(cv::Mat image);
     void                  refreshPolygon();
     void                  sendSelectedImage(
                          std::map<std::string, std::shared_ptr<cv::Mat>>* images);
diff --git a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/CustomBackgroundSubtractor.cpp b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/CustomBackgroundSubtractor.cpp
index 35398a504c7832453ccb616a640168c9656c2b24..05f2a3ab51be364653e476b071544da1651ebf3a 100644
--- a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/CustomBackgroundSubtractor.cpp
+++ b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/CustomBackgroundSubtractor.cpp
@@ -96,7 +96,11 @@ void CustomBackgroundSubtractor::apply(cv::InputArray  image,
                       255,
                       cv::THRESH_BINARY);
 
-        cv::threshold(image, maxabsmask, m_maximumImageValue, 255, cv::THRESH_BINARY_INV);
+        cv::threshold(image,
+                      maxabsmask,
+                      m_maximumImageValue,
+                      255,
+                      cv::THRESH_BINARY_INV);
 
         cv::bitwise_and(diffmask, maxabsmask, fgmask);
     }
diff --git a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
index 5b1f9ba93a8e1c150d4888a4005aa020c3547b15..2a61ac8266a9e20352cbb906b9a2cdaf113c4f66 100644
--- a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
+++ b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
@@ -123,7 +123,7 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess(
     *closedMask = erode(
         dilate(*openedMask, m_TrackingParameter->getClosingDilationSize()),
         m_TrackingParameter->getClosingErosionSize());
-    
+
     // 4. step: masked greyscale image
     greyMat->copyTo(*maskedGrey, *closedMask);
 
diff --git a/Src/View/TrackerParameterView.cpp b/Src/View/TrackerParameterView.cpp
index 254400a70b83777bd22842f4df65aaee92a51339..3707fdfe99104dcb8b446042b4ddcfda138ab95a 100644
--- a/Src/View/TrackerParameterView.cpp
+++ b/Src/View/TrackerParameterView.cpp
@@ -109,7 +109,7 @@ void TrackerParameterView::initSubtractorSpecificUI(QString algorithm)
 
     _useAbsDiff = nullptr;
     _binThres   = nullptr;
-    _maxImg   = nullptr;
+    _maxImg     = nullptr;
 
     if (algorithm == QString("Custom")) {
         _useAbsDiff = new QCheckBox();
@@ -144,7 +144,7 @@ void TrackerParameterView::initSubtractorSpecificUI(QString algorithm)
                 qOverload<int>(&QSpinBox::valueChanged),
                 this,
                 &TrackerParameterView::parametersChanged);
- 
+
         _maxImg = new QSpinBox();
         _maxImg->setMinimum(1);
         _maxImg->setMaximum(255);