@@ -3,6 +3,10 | |||
|
3 | 3 | |
|
4 | 4 | #include <Visualization/qcustomplot.h> |
|
5 | 5 | |
|
6 | #include <QLoggingCategory> | |
|
7 | ||
|
8 | Q_DECLARE_LOGGING_CATEGORY(LOG_SqpColorScale) | |
|
9 | ||
|
6 | 10 | /** |
|
7 | 11 | * @brief The SqpColorScale struct represents the color scale for some graphs (such as |
|
8 | 12 | * spectrograms). |
@@ -11,6 +15,8 | |||
|
11 | 15 | * other useful properties for viewing in SciQlop |
|
12 | 16 | */ |
|
13 | 17 | struct SqpColorScale { |
|
18 | static std::pair<double, double> computeThresholds(const SqpColorScale &scale); | |
|
19 | ||
|
14 | 20 | explicit SqpColorScale(QCustomPlot &plot); |
|
15 | 21 | |
|
16 | 22 | /// QCustomPlot object representing the color scale. |
@@ -1,5 +1,11 | |||
|
1 | 1 | #include "Visualization/SqpColorScale.h" |
|
2 | 2 | |
|
3 | #include <Data/DataSeriesUtils.h> | |
|
4 | ||
|
5 | #include <Visualization/QCPColorMapIterator.h> | |
|
6 | ||
|
7 | Q_LOGGING_CATEGORY(LOG_SqpColorScale, "SqpColorScale") | |
|
8 | ||
|
3 | 9 | namespace { |
|
4 | 10 | |
|
5 | 11 | const auto DEFAULT_GRADIENT_PRESET = QCPColorGradient::gpJet; |
@@ -7,6 +13,24 const auto DEFAULT_RANGE = QCPRange{1.0e3, 1.7e7}; | |||
|
7 | 13 | |
|
8 | 14 | } // namespace |
|
9 | 15 | |
|
16 | std::pair<double, double> SqpColorScale::computeThresholds(const SqpColorScale &scale) | |
|
17 | { | |
|
18 | auto qcpScale = scale.m_Scale; | |
|
19 | ||
|
20 | auto colorMaps = qcpScale->colorMaps(); | |
|
21 | if (colorMaps.size() != 1) { | |
|
22 | return {std::numeric_limits<double>::quiet_NaN(), std::numeric_limits<double>::quiet_NaN()}; | |
|
23 | } | |
|
24 | ||
|
25 | // Computes thresholds | |
|
26 | auto isLogarithmicScale = qcpScale->dataScaleType() == QCPAxis::stLogarithmic; | |
|
27 | auto colorMapData = colorMaps.first()->data(); | |
|
28 | QCPColorMapIterator begin{colorMapData, true}; | |
|
29 | QCPColorMapIterator end{colorMapData, false}; | |
|
30 | ||
|
31 | return DataSeriesUtils::thresholds(begin, end, isLogarithmicScale); | |
|
32 | } | |
|
33 | ||
|
10 | 34 | SqpColorScale::SqpColorScale(QCustomPlot &plot) |
|
11 | 35 | : m_Scale{new QCPColorScale{&plot}}, |
|
12 | 36 | m_AutomaticThreshold{false}, |
General Comments 0
You need to be logged in to leave comments.
Login now