diff --git a/Src/Model/BioTrackerTrackingAlgorithm.cpp b/Src/Model/BioTrackerTrackingAlgorithm.cpp
index f615e6e2273de05ea934601d16491e2732578e42..f48cef5b300be9b9d1fafede0b2d19f8d5fa15e5 100644
--- a/Src/Model/BioTrackerTrackingAlgorithm.cpp
+++ b/Src/Model/BioTrackerTrackingAlgorithm.cpp
@@ -104,6 +104,11 @@ void BioTrackerTrackingAlgorithm::sendSelectedImage(
         Q_EMIT emitCvMatA(sendImage, QString("Closed Mask"));
         Q_EMIT emitChangeDisplayImage(QString("Closed Mask"));
         break;
+    case 5:
+        sendImage = images->find(std::string("Masked Greyscale"))->second;
+        Q_EMIT emitCvMatA(sendImage, QString("Masked Greyscale"));
+        Q_EMIT emitChangeDisplayImage(QString("Masked Greyscale"));
+        break;
     }
 }
 
diff --git a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
index 872a6244d5acf564bb0ba9f0888306b14af98fc7..92c2ab0c2712276d6875d05658e3eebbee0a11a2 100644
--- a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
+++ b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp
@@ -105,6 +105,8 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess(
     std::shared_ptr<cv::Mat> openedMask = std::make_shared<cv::Mat>();
     std::shared_ptr<cv::Mat> closedMask = std::make_shared<cv::Mat>();
 
+    std::shared_ptr<cv::Mat> maskedGrey = std::make_shared<cv::Mat>();
+
     cv::cvtColor(*p_image, *greyMat, cv::COLOR_BGR2GRAY);
 
     // 1. step: do the background subtraction
@@ -119,6 +121,9 @@ 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);
 
     std::map<std::string, std::shared_ptr<cv::Mat>> all;
     all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>(
@@ -136,6 +141,9 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess(
     all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>(
         std::string("Closed Mask"),
         closedMask));
+    all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>(
+        std::string("Masked Greyscale"),
+        maskedGrey));
 
     return all;
 }
diff --git a/Src/View/TrackerParameterView.ui b/Src/View/TrackerParameterView.ui
index d3aaeffdab2e9d9af67c7e352bb5fdebea8d2330..26d1e8f59732d01220dde6ace1fc975a749325aa 100644
--- a/Src/View/TrackerParameterView.ui
+++ b/Src/View/TrackerParameterView.ui
@@ -475,6 +475,11 @@
                   <string>Closed Mask</string>
                  </property>
                 </item>
+                <item>
+                 <property name="text">
+                  <string>Masked Greyscale</string>
+                 </property>
+                </item>
                </widget>
               </item>
              </layout>