Engauge Digitizer  2
FilterImage.cpp
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include "ColorFilter.h"
10 #include "FilterImage.h"
11 #include "GridRemoval.h"
12 #include "Logger.h"
13 #include <QImage>
14 #include <QPixmap>
15 #include "Transformation.h"
16 
18 {
19 }
20 
21 QPixmap FilterImage::filter (bool isGnuplot,
22  const QImage &imageUnfiltered,
23  const Transformation &transformation,
24  const QString &curveSelected,
25  const DocumentModelColorFilter &modelColorFilter,
26  const DocumentModelGridRemoval &modelGridRemoval) const
27 {
28  // Filtered image
30  QImage imageFiltered (imageUnfiltered.width (),
31  imageUnfiltered.height (),
32  QImage::Format_RGB32);
33  QRgb rgbBackground = filter.marginColor (&imageUnfiltered);
34  filter.filterImage (imageUnfiltered,
35  imageFiltered,
36  modelColorFilter.colorFilterMode(curveSelected),
37  modelColorFilter.low(curveSelected),
38  modelColorFilter.high(curveSelected),
39  rgbBackground);
40 
41  GridRemoval gridRemoval (isGnuplot);
42  QPixmap pixmapFiltered = gridRemoval.remove (transformation,
43  modelGridRemoval,
44  imageFiltered);
45 
46  return pixmapFiltered;
47 }
48 
49 
FilterImage::FilterImage
FilterImage()
Single constructor.
Definition: FilterImage.cpp:17
FilterImage.h
FilterImage::filter
QPixmap filter(bool isGnuplot, const QImage &imageUnfiltered, const Transformation &transformation, const QString &curveSelected, const DocumentModelColorFilter &modelColorFilter, const DocumentModelGridRemoval &modelGridRemoval) const
Filter original unfiltered image into filtered pixmap.
Definition: FilterImage.cpp:21
DocumentModelGridRemoval.h
GridRemoval.h
ColorFilter.h
Transformation
Affine transformation between screen and graph coordinates, based on digitized axis points.
Definition: Transformation.h:30
DocumentModelColorFilter
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
Definition: DocumentModelColorFilter.h:20
GridRemoval::remove
QPixmap remove(const Transformation &transformation, const DocumentModelGridRemoval &modelGridRemoval, const QImage &imageBefore)
Process QImage into QPixmap, removing the grid lines.
Definition: GridRemoval.cpp:53
ColorFilter
Class for filtering image to remove unimportant information.
Definition: ColorFilter.h:19
DocumentModelColorFilter::low
double low(const QString &curveName) const
Low value of foreground, hue, intensity, saturation or value according to current filter mode normali...
Definition: DocumentModelColorFilter.cpp:211
Transformation.h
Logger.h
GridRemoval
Strategy class for grid removal.
Definition: GridRemoval.h:23
DocumentModelGridRemoval
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
Definition: DocumentModelGridRemoval.h:16
DocumentModelColorFilter.h
DocumentModelColorFilter::colorFilterMode
ColorFilterMode colorFilterMode(const QString &curveName) const
Get method for filter mode.
Definition: DocumentModelColorFilter.cpp:65
DocumentModelColorFilter::high
double high(const QString &curveName) const
High value of foreground, hue, intensity, saturation or value according to current filter mode.
Definition: DocumentModelColorFilter.cpp:104