Show stats for each channel
This commit is contained in:
+22
-7
@@ -406,13 +406,28 @@ void LoadRunable::run()
|
|||||||
rawImage->calcStats();
|
rawImage->calcStats();
|
||||||
const RawImage::Stats &stats = rawImage->imageStats();
|
const RawImage::Stats &stats = rawImage->imageStats();
|
||||||
qDebug() << "image stats" << timer.restart();
|
qDebug() << "image stats" << timer.restart();
|
||||||
info.info.append({QObject::tr("Mean"), QString::number(stats.m_mean[0])});
|
if(rawImage->channels() == 1)
|
||||||
info.info.append({QObject::tr("Standart deviation"), QString::number(stats.m_stdDev[0])});
|
{
|
||||||
info.info.append({QObject::tr("Median"), QString::number(stats.m_median[0])});
|
info.info.append({QObject::tr("Mean"), QString::number(stats.m_mean[0])});
|
||||||
info.info.append({QObject::tr("Minimum"), QString::number(stats.m_min[0])});
|
info.info.append({QObject::tr("Standart deviation"), QString::number(stats.m_stdDev[0])});
|
||||||
info.info.append({QObject::tr("Maximum"), QString::number(stats.m_max[0])});
|
info.info.append({QObject::tr("Median"), QString::number(stats.m_median[0])});
|
||||||
info.info.append({QObject::tr("MAD"), QString::number(stats.m_mad[0])});
|
info.info.append({QObject::tr("Minimum"), QString::number(stats.m_min[0])});
|
||||||
info.info.append({QObject::tr("Saturated"), QString::number(100.0 * stats.m_saturated[0] / rawImage->size()) + "%"});
|
info.info.append({QObject::tr("Maximum"), QString::number(stats.m_max[0])});
|
||||||
|
info.info.append({QObject::tr("MAD"), QString::number(stats.m_mad[0])});
|
||||||
|
info.info.append({QObject::tr("Saturated"), QString::number(100.0 * stats.m_saturated[0] / rawImage->size()) + "%"});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
info.info.append({QObject::tr("Mean"), QString("%1 %2 %3").arg(stats.m_mean[0]).arg(stats.m_mean[1]).arg(stats.m_mean[2])});
|
||||||
|
info.info.append({QObject::tr("Standart deviation"), QString("%1 %2 %3").arg(stats.m_stdDev[0]).arg(stats.m_stdDev[1]).arg(stats.m_stdDev[2])});
|
||||||
|
info.info.append({QObject::tr("Median"), QString("%1 %2 %3").arg(stats.m_median[0]).arg(stats.m_median[1]).arg(stats.m_median[2])});
|
||||||
|
info.info.append({QObject::tr("Minimum"), QString("%1 %2 %3").arg(stats.m_min[0]).arg(stats.m_min[1]).arg(stats.m_min[2])});
|
||||||
|
info.info.append({QObject::tr("Maximum"), QString("%1 %2 %3").arg(stats.m_max[0]).arg(stats.m_max[1]).arg(stats.m_max[2])});
|
||||||
|
info.info.append({QObject::tr("MAD"), QString("%1 %2 %3").arg(stats.m_mad[0]).arg(stats.m_mad[1]).arg(stats.m_mad[2])});
|
||||||
|
info.info.append({QObject::tr("Saturated"), QString("%1 %2 %3%").arg(100.0 * stats.m_saturated[0] / rawImage->size())
|
||||||
|
.arg(100.0 * stats.m_saturated[1] / rawImage->size())
|
||||||
|
.arg(100.0 * stats.m_saturated[2] / rawImage->size())});
|
||||||
|
}
|
||||||
|
|
||||||
if(m_analyzeLevel >= Peaks)
|
if(m_analyzeLevel >= Peaks)
|
||||||
{
|
{
|
||||||
|
|||||||
+3
-2
@@ -165,7 +165,7 @@ void calcStats(const T *data, size_t n, RawImage::Stats &stats)
|
|||||||
for(size_t i = 0; i < n; i++)
|
for(size_t i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
statsFunc(data[i*ch], 0);
|
statsFunc(data[i*ch], 0);
|
||||||
if constexpr(ch == 4)
|
if constexpr(ch >= 3)
|
||||||
{
|
{
|
||||||
statsFunc(data[i*ch + 1], 1);
|
statsFunc(data[i*ch + 1], 1);
|
||||||
statsFunc(data[i*ch + 2], 2);
|
statsFunc(data[i*ch + 2], 2);
|
||||||
@@ -181,8 +181,9 @@ void calcStats(const T *data, size_t n, RawImage::Stats &stats)
|
|||||||
double sum2 = (double)sum[i] * sum[i];
|
double sum2 = (double)sum[i] * sum[i];
|
||||||
stats.m_stdDev[i] = std::sqrt((sumSq[i] - sum2 / n) / (n - 1));
|
stats.m_stdDev[i] = std::sqrt((sumSq[i] - sum2 / n) / (n - 1));
|
||||||
|
|
||||||
uint32_t median = findMedian(histogram[0]);
|
uint32_t median = findMedian(histogram[i]);
|
||||||
stats.m_median[i] = median;
|
stats.m_median[i] = median;
|
||||||
|
qDebug() << i << median << median / 65535;
|
||||||
uint32_t madHist[65536] = {0};
|
uint32_t madHist[65536] = {0};
|
||||||
madHist[0] = histogram[i][median];
|
madHist[0] = histogram[i][median];
|
||||||
for(size_t o = 1; o < histSize; o++)
|
for(size_t o = 1; o < histSize; o++)
|
||||||
|
|||||||
Reference in New Issue
Block a user