jfjoch_viewer: code for image viewer is nicer, but it doesn't work :)

This commit is contained in:
2025-11-07 16:49:02 +01:00
parent b484261f64
commit 9ab4267939
6 changed files with 114 additions and 112 deletions
+1 -29
View File
@@ -304,20 +304,6 @@ void JFJochDiffractionImage::DrawTopPixels() {
iter->second / image->Dataset().experiment.GetXPixelsNum() + 0.5, 15, 3);
}
void JFJochDiffractionImage::updateROI() {
if (roi_type == RoiType::RoiBox) {
QRect roiBox_int = QRectF(RoundPoint(roiStartPos), RoundPoint(roiEndPos)).normalized().toRect();
roiBox= roiBox_int;
emit roiBoxUpdated(roiBox_int);
} else {
QPointF delta = roiStartPos - roiEndPos;
double radius = std::sqrt(delta.x() * delta.x() + delta.y() * delta.y());
roiBox= QRectF(roiStartPos.x() - radius, roiStartPos.y() - radius,
2 * radius, 2 * radius).normalized();
emit roiCircleUpdated(roiStartPos.x(), roiStartPos.y(), radius);
}
updateOverlay();
}
void JFJochDiffractionImage::updateOverlay() {
if (!scene() || !image) return;
@@ -378,21 +364,7 @@ void JFJochDiffractionImage::updateOverlay() {
if (show_saturation)
DrawSaturation();
if (roiBox.width() * roiBox.height() > 0) {
QPen pen(feature_color, 3);
pen.setStyle(Qt::DashLine);
pen.setCosmetic(true);
if (roi_type == RoiType::RoiBox) {
scene()->addRect(roiBox, pen);
} else {
scene()->addEllipse(roiBox, pen);
double pointRadius = 0.5;
QRectF pointBoundingBox = QRectF(roiStartPos.x() - pointRadius, roiStartPos.y() - pointRadius,
2 * pointRadius, 2 * pointRadius);
scene()->addEllipse(pointBoundingBox, pen);
}
}
DrawROI();
}
void JFJochDiffractionImage::Redraw() {