jfjoch_viewer: fixes to pixel refine window
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m7s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m54s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 11m14s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m54s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m15s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 13m25s
Build Packages / build:rpm (rocky8) (push) Successful in 10m16s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m4s
Build Packages / XDS test (durin plugin) (push) Successful in 8m48s
Build Packages / build:rpm (rocky9) (push) Successful in 11m55s
Build Packages / Generate python client (push) Successful in 28s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m56s
Build Packages / Build documentation (push) Successful in 1m36s
Build Packages / DIALS test (push) Successful in 14m29s
Build Packages / XDS test (neggia plugin) (push) Successful in 13m39s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 15m6s
Build Packages / Unit tests (push) Successful in 2h57m56s

This commit is contained in:
2026-06-09 13:20:46 +02:00
parent feca63f4b9
commit 2d202f1d44
4 changed files with 15 additions and 2 deletions
+2 -2
View File
@@ -752,9 +752,9 @@ void JFJochImage::writePixelLabels() {
if (std::abs(val - nearest) < 1e-6)
numBuf = QString::number(static_cast<qint64>(val));
else if (absVal < 1e4)
numBuf = QString::number(val, 'f', 3);
numBuf = QString::number(val, 'f', label_decimals_);
else
numBuf = QString::number(val, 'f', 2);
numBuf = QString::number(val, 'f', std::min(label_decimals_, 2));
pText = &numBuf;
} else {
numBuf = QString::number(val, 'e', 1);
+6
View File
@@ -54,6 +54,12 @@ protected:
bool initial_fit_done_ = false;
QColor feature_color = Qt::magenta;
// Decimal places for non-integer per-pixel value labels. Float images (e.g. the
// PixelRefine prediction) are unreadable with many decimals, so subclasses can
// lower this.
int label_decimals_ = 3;
float foreground = 10.0;
float background = 0.0;
ColorScale color_scale;
@@ -18,6 +18,9 @@ JFJochSimpleImage::JFJochSimpleImage(QWidget *parent)
// Keep overlays in pixel units independent of zoom (for labels font sizing)
setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
// The predicted/float image is unreadable with 3-decimal per-pixel labels.
label_decimals_ = 1;
}
void JFJochSimpleImage::setImage(std::shared_ptr<const SimpleImage> img) {
@@ -109,6 +109,10 @@ JFJochPixelRefineWindow::JFJochPixelRefineWindow(QWidget *parent)
});
connect(m_refine, &QPushButton::clicked, this, [this] {
// Cancel any pending live-preview: otherwise a debounce armed by a slider
// move just before this click fires after the refine and overwrites the
// refined residual/preview with the stale pre-refine slider values.
m_debounce->stop();
PixelRefineParams p = currentParams();
p.max_iterations = 5;
emit refineRequested(p);