filterSpikeWidget.h 1.86 KB
Newer Older
1
2
/*
 *
Langella Olivier's avatar
Langella Olivier committed
3
4
 *  File filterSpikeWidget.h in
 *  MassChroQ: Mass Chromatogram Quantification software.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 *  Copyright (C) 2010 Olivier Langella, Edlira Nano, Benoit Valot, Michel Zivy.
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or any
 *  later version.
 *
 *  This program is distributed in the hope that it will be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, see <http://www.gnu.org/licenses/>
 */

/**
Langella Olivier's avatar
Langella Olivier committed
22
23
24
25
 * \file filterSpikeWidget.h
 * \date February 15, 2012
 * \author Edlira Nano
 */
26

Langella Olivier's avatar
Langella Olivier committed
27
#pragma once
28
29

#include "../../mcq_types.h"
Benoit Valot's avatar
Benoit Valot committed
30
#include "../masschroQWidget.h"
Langella Olivier's avatar
Langella Olivier committed
31
#include "../treatment/treatment_box_xic_filter.h"
32
#include <QWidget>
Langella Olivier's avatar
Langella Olivier committed
33
#include <pappsomspp/processing/filters/filtermorpho.h>
Benoit Valot's avatar
Benoit Valot committed
34

Langella Olivier's avatar
Langella Olivier committed
35
#include <QButtonGroup>
Langella Olivier's avatar
Langella Olivier committed
36
#include <QDialogButtonBox>
Langella Olivier's avatar
Langella Olivier committed
37
#include <QGroupBox>
Langella Olivier's avatar
Langella Olivier committed
38
#include <QVBoxLayout>
39
40
41
42

/**
 * \class FilterSpikeWidget
 * \brief Spike noise removal XIC filter Widget
Langella Olivier's avatar
Langella Olivier committed
43
44
 *
 *
45
46
 **/

Langella Olivier's avatar
Langella Olivier committed
47
48
class FilterSpikeWidget : public MasschroQWidget
{
49

Langella Olivier's avatar
Langella Olivier committed
50
51
  Q_OBJECT

Langella Olivier's avatar
Langella Olivier committed
52
  public:
Langella Olivier's avatar
Langella Olivier committed
53
54
55
56
57
58
  FilterSpikeWidget(TreatmentBoxXicFilter *treatmentBox, QWidget *parent = 0);

  virtual ~FilterSpikeWidget();

  void writeElement(MasschroqDomDocument *domDocument) const;

Langella Olivier's avatar
Langella Olivier committed
59
  private slots:
Langella Olivier's avatar
Langella Olivier committed
60
61
62
63

  void filterXic();
  void setHalfWindow(int i);

Langella Olivier's avatar
Langella Olivier committed
64
  protected:
Langella Olivier's avatar
Langella Olivier committed
65
66
67
68
  int _half_window;

  virtual void setWidgetParameters();

Langella Olivier's avatar
Langella Olivier committed
69
  private:
Langella Olivier's avatar
Langella Olivier committed
70
  TreatmentBoxXicFilter *_p_treatmentBox;
Langella Olivier's avatar
Langella Olivier committed
71
  std::shared_ptr<pappso::FilterMorphoAntiSpike> _filter_spike;
Langella Olivier's avatar
Langella Olivier committed
72
73
74
  QDialogButtonBox *_button_box;
  QGroupBox *_half_window_group;

Langella Olivier's avatar
Langella Olivier committed
75
  int getHalfWindow() const;
Langella Olivier's avatar
Langella Olivier committed
76
};