1.0.0-rc.87
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JFJochViewerImageStatistics.h"
|
||||
#include <QFormLayout>
|
||||
#include <QRegularExpression>
|
||||
|
||||
static QString mkSourceInstrumentText(const DiffractionExperiment& exp) {
|
||||
QString src, inst;
|
||||
@@ -61,11 +62,11 @@ JFJochViewerImageStatistics::JFJochViewerImageStatistics(QWidget *parent) : QWid
|
||||
sample_name = new QLabel(this);
|
||||
layout->addRow("Sample:", sample_name);
|
||||
|
||||
error_pixels = new QLabel(this);
|
||||
layout->addRow(new QLabel("Error pixels:"), error_pixels);
|
||||
exposure_time = new QLabel(this);
|
||||
layout->addRow(new QLabel("Exposure Time:"), exposure_time);
|
||||
|
||||
sat_pixels = new QLabel(this);
|
||||
layout->addRow(new QLabel("Sat. pixels:"), sat_pixels);
|
||||
rotation_angle = new QLabel(this);
|
||||
layout->addRow(new QLabel("Image angle:"), rotation_angle);
|
||||
|
||||
valid_values = new QLabel(this);
|
||||
layout->addRow(new QLabel("Valid values:"), valid_values);
|
||||
@@ -99,6 +100,17 @@ JFJochViewerImageStatistics::JFJochViewerImageStatistics(QWidget *parent) : QWid
|
||||
|
||||
}
|
||||
|
||||
QString TrimZeros(double number, int precision) {
|
||||
auto s = QString::number(number, 'f', precision);
|
||||
s.remove(QRegularExpression("\\.?0+$"));
|
||||
if (s.isEmpty()) s = "0";
|
||||
return s;
|
||||
}
|
||||
|
||||
QString FormatTime(std::chrono::microseconds time) {
|
||||
return TrimZeros(time.count()/1e6, 6);
|
||||
}
|
||||
|
||||
void JFJochViewerImageStatistics::loadImage(std::shared_ptr<const JFJochReaderImage> image) {
|
||||
if (!image) {
|
||||
source_name->setText("");
|
||||
@@ -107,9 +119,12 @@ void JFJochViewerImageStatistics::loadImage(std::shared_ptr<const JFJochReaderIm
|
||||
dataset_name->setToolTip("");
|
||||
detector_name->setText("");
|
||||
detector_name->setToolTip("");
|
||||
error_pixels->setText("");
|
||||
sat_pixels->setText("");
|
||||
exposure_time->setText("");
|
||||
exposure_time->setToolTip("");
|
||||
rotation_angle->setText("");
|
||||
rotation_angle->setToolTip("");
|
||||
valid_values->setText("");
|
||||
valid_values->setToolTip("");
|
||||
spots->setText("");
|
||||
bkg_estimate->setText("");
|
||||
indexed->setText("");
|
||||
@@ -146,16 +161,24 @@ void JFJochViewerImageStatistics::loadImage(std::shared_ptr<const JFJochReaderIm
|
||||
detector_name->setText(text);
|
||||
|
||||
source_name->setText(mkSourceInstrumentText(exp));
|
||||
source_name->setToolTip(mkSampleTooltip(exp));
|
||||
source_name->setToolTip(mkSourceInstrumentTooltip(exp));
|
||||
|
||||
sample_name->setText(mkSampleText(exp));
|
||||
sample_name->setToolTip(mkSampleTooltip(exp));
|
||||
|
||||
text = QString("<b>%1</b>").arg(image->ErrorPixels().size());
|
||||
error_pixels->setText(text);
|
||||
|
||||
text = QString("<b>%1</b>").arg(image->SaturatedPixels().size());
|
||||
sat_pixels->setText(text);
|
||||
if (exp.GetGoniometer()) {
|
||||
rotation_angle->setText(QString("<b>%1°</b>")
|
||||
.arg(TrimZeros(exp.GetGoniometer()->GetIncrement_deg(), 3)));
|
||||
rotation_angle->setToolTip(QString("Start angle: <b>%1°</b><br/>This image: <b>%2°</b>")
|
||||
.arg(TrimZeros(exp.GetGoniometer()->GetStart_deg(), 3))
|
||||
.arg(TrimZeros(exp.GetGoniometer()->GetAngle_deg(image->ImageData().number), 3))
|
||||
);
|
||||
} else {
|
||||
rotation_angle->setText(QString("-"));
|
||||
rotation_angle->setToolTip("");
|
||||
}
|
||||
exposure_time->setText(QString("<b>%1</b> s").arg(FormatTime(exp.GetImageTime())));
|
||||
exposure_time->setToolTip(QString("Count time: <b>%1</b> s<br/>").arg(FormatTime(exp.GetImageCountTime())));
|
||||
|
||||
text = QString("<b>%1</b>").arg(image->ImageData().spots.size());
|
||||
spots->setText(text);
|
||||
@@ -170,6 +193,8 @@ void JFJochViewerImageStatistics::loadImage(std::shared_ptr<const JFJochReaderIm
|
||||
.arg(image->ValidPixels().begin()->first)
|
||||
.arg(image->ValidPixels().rbegin()->first);
|
||||
valid_values->setText(text);
|
||||
valid_values->setToolTip(QString("Error pixels: <b>%1</b><br/>Saturated pixels: <b>%2</b>")
|
||||
.arg(image->ErrorPixels().size()).arg(image->SaturatedPixels().size()));
|
||||
|
||||
if (!image->Dataset().bkg_estimate.empty()) {
|
||||
text = QString("<b>%1</b>").arg(image->ImageData().bkg_estimate.value_or(0));
|
||||
|
||||
Reference in New Issue
Block a user