diff --git a/src/output/masschroqml.cpp b/src/output/masschroqml.cpp
index 92fbc262a753c4262842547c8a5294312ed7ea4b..a5a4e3f50880da8e87ef02e925a9c59bb99515aa 100644
--- a/src/output/masschroqml.cpp
+++ b/src/output/masschroqml.cpp
@@ -33,6 +33,7 @@
 #include <pappsomspp/grouping/grpprotein.h>
 #include <pappsomspp/amino_acid/Aa.h>
 #include <QStringList>
+#include <QSettings>
 
 
 struct McqObserved {
@@ -79,6 +80,12 @@ MassChroQml::MassChroQml(const QString & out_filename)
     _output_stream->setAutoFormatting(true);
     _output_stream->writeStartDocument("1.0");
 
+    QSettings settings;
+    _detect_zivy.setSmoothingHalfEdgeWindows(settings.value("xic/zivy_smoothing", "1").toInt());
+    _detect_zivy.setMinMaxHalfEdgeWindows(settings.value("xic/zivy_minmax_half_window", "3").toInt());
+    _detect_zivy.setMaxMinHalfEdgeWindows(settings.value("xic/zivy_maxmin_half_window", "2").toInt());
+    _detect_zivy.setDetectionThresholdOnMinmax(settings.value("xic/zivy_minmax_threshold", "5000").toDouble());
+    _detect_zivy.setDetectionThresholdOnMaxmin(settings.value("xic/zivy_maxmin_threshold", "3000").toDouble());
 
 }
 
@@ -264,23 +271,23 @@ void MassChroQml::writeQuantificationMethods() {
     _output_stream->writeStartElement("detection_zivy");
     //<mean_filter_half_edge>1</mean_filter_half_edge>
     _output_stream->writeStartElement("mean_filter_half_edge");
-    _output_stream->writeCharacters("1");
+    _output_stream->writeCharacters(QString("%1").arg(_detect_zivy.getSmoothingHalfEdgeWindows()));
     _output_stream->writeEndElement();
     //<minmax_half_edge>3</minmax_half_edge>
     _output_stream->writeStartElement("minmax_half_edge");
-    _output_stream->writeCharacters("3");
+    _output_stream->writeCharacters(QString("%1").arg(_detect_zivy.getMinMaxHalfEdgeWindows()));
     _output_stream->writeEndElement();
     //<maxmin_half_edge>2</maxmin_half_edge>
     _output_stream->writeStartElement("maxmin_half_edge");
-    _output_stream->writeCharacters("2");
+    _output_stream->writeCharacters(QString("%1").arg(_detect_zivy.getMaxMinHalfEdgeWindows()));
     _output_stream->writeEndElement();
     //<detection_threshold_on_max>5000</detection_threshold_on_max>
     _output_stream->writeStartElement("detection_threshold_on_max");
-    _output_stream->writeCharacters("5000");
+    _output_stream->writeCharacters(QString("%1").arg(_detect_zivy.getDetectionThresholdOnMinmax()));
     _output_stream->writeEndElement();
     //<detection_threshold_on_min>3000</detection_threshold_on_min>
     _output_stream->writeStartElement("detection_threshold_on_min");
-    _output_stream->writeCharacters("3000");
+    _output_stream->writeCharacters(QString("%1").arg(_detect_zivy.getDetectionThresholdOnMaxmin()));
     _output_stream->writeEndElement();
     //</detection_zivy>
     _output_stream->writeEndElement();
diff --git a/src/output/masschroqml.h b/src/output/masschroqml.h
index 8eeeb559ff93118ce9dc7587f0c4363d4f662320..04031f2e9d1e128e6cbcd4c8bbae52cd2026334e 100644
--- a/src/output/masschroqml.h
+++ b/src/output/masschroqml.h
@@ -33,6 +33,7 @@
 #include <QXmlStreamWriter>
 #include <QFile>
 #include <QString>
+#include <pappsomspp/xic/detection/xicdetectionzivy.h>
 #include "../core/project.h"
 #include "../grouping/groupinggroup.h"
 
@@ -61,6 +62,7 @@ private :
     QXmlStreamWriter * _output_stream;
     ProjectSp _sp_project;
     IdentificationGroup * _p_identification_group;
+    pappso::XicDetectionZivy _detect_zivy;
 };
 
 #endif // MASSCHROQML_H