From 2fa7ca7fad82aee20bbbfadefb383130ae0b9bc1 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Fri, 7 Nov 2025 12:13:32 +0100 Subject: [PATCH] jfjoch_viewer: Rename Image views to give more consistency. Continue merging code --- viewer/CMakeLists.txt | 8 +-- viewer/JFJochViewerWindow.cpp | 52 ++++++++-------- ...erImage.cpp => JFJochDiffractionImage.cpp} | 62 +++++++++---------- ...ViewerImage.h => JFJochDiffractionImage.h} | 10 +-- ...eImageViewer.cpp => JFJochSimpleImage.cpp} | 44 ++++++------- ...impleImageViewer.h => JFJochSimpleImage.h} | 4 +- viewer/windows/JFJochCalibrationWindow.cpp | 12 ++-- viewer/windows/JFJochCalibrationWindow.h | 4 +- 8 files changed, 96 insertions(+), 100 deletions(-) rename viewer/widgets/{JFJochViewerImage.cpp => JFJochDiffractionImage.cpp} (91%) rename viewer/widgets/{JFJochViewerImage.h => JFJochDiffractionImage.h} (93%) rename viewer/widgets/{JFJochSimpleImageViewer.cpp => JFJochSimpleImage.cpp} (93%) rename viewer/widgets/{JFJochSimpleImageViewer.h => JFJochSimpleImage.h} (96%) diff --git a/viewer/CMakeLists.txt b/viewer/CMakeLists.txt index 0043b3da..a6c7ec87 100644 --- a/viewer/CMakeLists.txt +++ b/viewer/CMakeLists.txt @@ -10,10 +10,10 @@ FIND_PACKAGE(Qt6 COMPONENTS Core Gui Widgets Charts DBus 3DCore 3DRender 3DInput ADD_EXECUTABLE(jfjoch_viewer jfjoch_viewer.cpp JFJochViewerWindow.cpp JFJochViewerWindow.h JFJochViewerMenu.cpp JFJochViewerMenu.h - widgets/JFJochViewerImage.cpp - widgets/JFJochViewerImage.h - widgets/JFJochSimpleImageViewer.cpp - widgets/JFJochSimpleImageViewer.h + widgets/JFJochDiffractionImage.cpp + widgets/JFJochDiffractionImage.h + widgets/JFJochSimpleImage.cpp + widgets/JFJochSimpleImage.h JFJochImageReadingWorker.cpp JFJochImageReadingWorker.h JFJochViewerDatasetInfo.cpp diff --git a/viewer/JFJochViewerWindow.cpp b/viewer/JFJochViewerWindow.cpp index 89adfce8..be05ac51 100644 --- a/viewer/JFJochViewerWindow.cpp +++ b/viewer/JFJochViewerWindow.cpp @@ -7,7 +7,7 @@ #include #include "JFJochImageReadingWorker.h" -#include "widgets/JFJochViewerImage.h" +#include "widgets/JFJochDiffractionImage.h" #include "JFJochViewerSidePanel.h" #include "JFJochViewerStatusBar.h" #include "../common/CUDAWrapper.h" @@ -63,7 +63,7 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString h_splitter->setOrientation(Qt::Horizontal); v_splitter->addWidget(h_splitter); - auto viewer = new JFJochViewerImage(this); + auto viewer = new JFJochDiffractionImage(this); viewer->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); h_splitter->addWidget(viewer); @@ -127,7 +127,7 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString reading_worker, &JFJochImageReadingWorker::CloseFile); connect(reading_worker, &JFJochImageReadingWorker::imageLoaded, - viewer, &JFJochViewerImage::loadImage); + viewer, &JFJochDiffractionImage::loadImage); connect(reading_worker, &JFJochImageReadingWorker::imageLoaded, side_panel, &JFJochViewerSidePanel::loadImage); @@ -141,30 +141,30 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString connect(toolBarImage, &JFJochViewerToolbarImage::loadImage, reading_worker, &JFJochImageReadingWorker::LoadImage); connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setForeground, viewer, - &JFJochViewerImage::changeForeground); + &JFJochDiffractionImage::changeForeground); connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setBackground, viewer, - &JFJochViewerImage::changeBackground); + &JFJochDiffractionImage::changeBackground); connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setAutoForeground, viewer, - &JFJochViewerImage::setAutoForeground); + &JFJochDiffractionImage::setAutoForeground); connect(toolBarDisplay, &JFJochViewerToolbarDisplay::colorMapChanged, viewer, - &JFJochViewerImage::setColorMap); + &JFJochDiffractionImage::setColorMap); - connect(viewer, &JFJochViewerImage::foregroundChanged, + connect(viewer, &JFJochDiffractionImage::foregroundChanged, toolBarDisplay, &JFJochViewerToolbarDisplay::updateForeground); - connect(viewer, &JFJochViewerImage::roiBoxUpdated, + connect(viewer, &JFJochDiffractionImage::roiBoxUpdated, reading_worker, &JFJochImageReadingWorker::SetROIBox); - connect(viewer, &JFJochViewerImage::roiCircleUpdated, + connect(viewer, &JFJochDiffractionImage::roiCircleUpdated, reading_worker, &JFJochImageReadingWorker::SetROICircle); - connect(viewer, &JFJochViewerImage::roiBoxUpdated, + connect(viewer, &JFJochDiffractionImage::roiBoxUpdated, side_panel, &JFJochViewerSidePanel::SetROIBox); - connect(viewer, &JFJochViewerImage::roiCircleUpdated, + connect(viewer, &JFJochDiffractionImage::roiCircleUpdated, side_panel, &JFJochViewerSidePanel::SetROICircle); connect(side_panel, &JFJochViewerSidePanel::ROIBoxConfigured, @@ -174,10 +174,10 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString reading_worker, &JFJochImageReadingWorker::SetROICircle); connect(side_panel, &JFJochViewerSidePanel::ROIBoxConfigured, - viewer, &JFJochViewerImage::SetROIBox); + viewer, &JFJochDiffractionImage::SetROIBox); connect(side_panel, &JFJochViewerSidePanel::ROICircleConfigured, - viewer, &JFJochViewerImage::SetROICircle); + viewer, &JFJochDiffractionImage::SetROICircle); connect(side_panel, &JFJochViewerSidePanel::AddROIToUserMask, reading_worker, &JFJochImageReadingWorker::AddROIToUserMask); @@ -240,31 +240,31 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString connect(processingWindow, &JFJochViewerProcessingWindow::settingsChanged, reading_worker, &JFJochImageReadingWorker::UpdateSpotFindingSettings); - connect(reflectionWindow, &JFJochHelperWindow::zoom, viewer, &JFJochViewerImage::centerOnSpot); - connect(spotWindow, &JFJochHelperWindow::zoom, viewer, &JFJochViewerImage::centerOnSpot); + connect(reflectionWindow, &JFJochHelperWindow::zoom, viewer, &JFJochDiffractionImage::centerOnSpot); + connect(spotWindow, &JFJochHelperWindow::zoom, viewer, &JFJochDiffractionImage::centerOnSpot); connect(side_panel, &JFJochViewerSidePanel::showSpots, - viewer, &JFJochViewerImage::showSpots); + viewer, &JFJochDiffractionImage::showSpots); connect(side_panel, &JFJochViewerSidePanel::showPredictions, - viewer, &JFJochViewerImage::showPredictions); + viewer, &JFJochDiffractionImage::showPredictions); connect(side_panel, &JFJochViewerSidePanel::autoResRings, - viewer, &JFJochViewerImage::setResolutionRingAuto); + viewer, &JFJochDiffractionImage::setResolutionRingAuto); connect(side_panel, &JFJochViewerSidePanel::setFeatureColor, - viewer, &JFJochViewerImage::setFeatureColor); + viewer, &JFJochDiffractionImage::setFeatureColor); connect(side_panel, &JFJochViewerSidePanel::setFeatureColor, calibrationWindow, &JFJochCalibrationWindow::setFeatureColor); connect(side_panel, &JFJochViewerSidePanel::setSpotColor, - viewer, &JFJochViewerImage::setSpotColor); + viewer, &JFJochDiffractionImage::setSpotColor); connect(side_panel, &JFJochViewerSidePanel::showHighestPixels, - viewer, &JFJochViewerImage::showHighestPixels); + viewer, &JFJochDiffractionImage::showHighestPixels); connect(side_panel, &JFJochViewerSidePanel::showSaturatedPixels, - viewer, &JFJochViewerImage::showSaturation); + viewer, &JFJochDiffractionImage::showSaturation); connect(side_panel, &JFJochViewerSidePanel::setResRings, - viewer, &JFJochViewerImage::setResolutionRing); - connect(viewer, &JFJochViewerImage::writeStatusBar, + viewer, &JFJochDiffractionImage::setResolutionRing); + connect(viewer, &JFJochDiffractionImage::writeStatusBar, statusbar, &JFJochViewerStatusBar::display); connect(metadataWindow, &JFJochViewerMetadataWindow::datasetUpdated, @@ -274,7 +274,7 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString side_panel, &JFJochViewerSidePanel::setResRings); connect(side_panel, &JFJochViewerSidePanel::highlightIceRings, - viewer, &JFJochViewerImage::highlightIceRings); + viewer, &JFJochDiffractionImage::highlightIceRings); connect(calibrationWindow, &JFJochCalibrationWindow::loadCalibration, reading_worker, &JFJochImageReadingWorker::LoadCalibration); diff --git a/viewer/widgets/JFJochViewerImage.cpp b/viewer/widgets/JFJochDiffractionImage.cpp similarity index 91% rename from viewer/widgets/JFJochViewerImage.cpp rename to viewer/widgets/JFJochDiffractionImage.cpp index ffd453ca..4607be54 100644 --- a/viewer/widgets/JFJochViewerImage.cpp +++ b/viewer/widgets/JFJochDiffractionImage.cpp @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only -#include "JFJochViewerImage.h" +#include "JFJochDiffractionImage.h" #include "../../common/DiffractionGeometry.h" #include @@ -12,13 +12,13 @@ #include // Constructor -JFJochViewerImage::JFJochViewerImage(QWidget *parent) : JFJochImage(parent) {} +JFJochDiffractionImage::JFJochDiffractionImage(QWidget *parent) : JFJochImage(parent) {} QPointF RoundPoint(const QPointF &input) { return QPointF(qRound(input.x()), qRound(input.y())); } -void JFJochViewerImage::mousePressEvent(QMouseEvent *event) { +void JFJochDiffractionImage::mousePressEvent(QMouseEvent *event) { if (!scene() || !image) return; mouse_event_type = MouseEventType::None; @@ -62,7 +62,7 @@ void JFJochViewerImage::mousePressEvent(QMouseEvent *event) { } // Handle panning while moving the mouse -void JFJochViewerImage::mouseMoveEvent(QMouseEvent *event) { +void JFJochDiffractionImage::mouseMoveEvent(QMouseEvent *event) { if (!scene() || !image) return; auto coord = mapToScene(event->pos()); @@ -121,7 +121,7 @@ void JFJochViewerImage::mouseMoveEvent(QMouseEvent *event) { QGraphicsView::mouseMoveEvent(event); } -void JFJochViewerImage::mouseReleaseEvent(QMouseEvent *event) { +void JFJochDiffractionImage::mouseReleaseEvent(QMouseEvent *event) { if (!scene() || !image) return; setCursor(Qt::CursorShape::ArrowCursor); @@ -139,7 +139,7 @@ void JFJochViewerImage::mouseReleaseEvent(QMouseEvent *event) { QGraphicsView::mouseReleaseEvent(event); } -void JFJochViewerImage::LoadImageInternal() { +void JFJochDiffractionImage::LoadImageInternal() { if (!image || (image->Dataset().experiment.GetXPixelsNum() <= 0)) return; @@ -196,7 +196,7 @@ void JFJochViewerImage::LoadImageInternal() { } } -void JFJochViewerImage::DrawSpots() { +void JFJochDiffractionImage::DrawSpots() { // Compute current visible area in scene coordinates const QRectF visibleRect = mapToScene(viewport()->geometry()).boundingRect(); @@ -225,7 +225,7 @@ void JFJochViewerImage::DrawSpots() { } } -void JFJochViewerImage::DrawPredictions() { +void JFJochDiffractionImage::DrawPredictions() { QFont font("Arial", 2); // Font for pixel value text font.setPixelSize(2); // This will render very small text (1-pixel high). @@ -269,7 +269,7 @@ void JFJochViewerImage::DrawPredictions() { } } -void JFJochViewerImage::DrawResolutionRings() { +void JFJochDiffractionImage::DrawResolutionRings() { // Get the visible area in the scene coordinates QRectF visibleRect = mapToScene(viewport()->geometry()).boundingRect(); @@ -376,14 +376,14 @@ void JFJochViewerImage::DrawResolutionRings() { } } -void JFJochViewerImage::DrawBeamCenter() { +void JFJochDiffractionImage::DrawBeamCenter() { auto geom = image->Dataset().experiment.GetDiffractionGeometry(); auto [beam_x, beam_y] = geom.GetDirectBeam_pxl(); DrawCross(beam_x, beam_y, 25, 5, 2); } -void JFJochViewerImage::DrawTopPixels() { +void JFJochDiffractionImage::DrawTopPixels() { int i = 0; for (auto iter = image->ValidPixels().crbegin(); iter != image->ValidPixels().rend() && i < show_highest_pixels; @@ -392,7 +392,7 @@ void JFJochViewerImage::DrawTopPixels() { iter->second / image->Dataset().experiment.GetXPixelsNum() + 0.5, 15, 3); } -void JFJochViewerImage::updateROI() { +void JFJochDiffractionImage::updateROI() { if (roi_type == RoiType::RoiBox) { QRect roi_box_int = QRectF(RoundPoint(roiStartPos), RoundPoint(roiEndPos)).normalized().toRect(); roi_box = roi_box_int; @@ -407,7 +407,7 @@ void JFJochViewerImage::updateROI() { updateOverlay(); } -void JFJochViewerImage::updateOverlay() { +void JFJochDiffractionImage::updateOverlay() { if (!scene() || !image) return; scene()->clear(); @@ -483,13 +483,13 @@ void JFJochViewerImage::updateOverlay() { } } -void JFJochViewerImage::resizeEvent(QResizeEvent *event) { +void JFJochDiffractionImage::resizeEvent(QResizeEvent *event) { // Call the base class implementation first QGraphicsView::resizeEvent(event); updateOverlay(); } -void JFJochViewerImage::Redraw() { +void JFJochDiffractionImage::Redraw() { if (!image) return; // Save the current transformation (zoom state) @@ -503,7 +503,7 @@ void JFJochViewerImage::Redraw() { updateOverlay(); } -void JFJochViewerImage::loadImage(std::shared_ptr in_image) { +void JFJochDiffractionImage::loadImage(std::shared_ptr in_image) { if (in_image) { if (auto_foreground) { foreground = in_image->GetAutoContrastValue(); @@ -519,7 +519,7 @@ void JFJochViewerImage::loadImage(std::shared_ptr in_im } -void JFJochViewerImage::setAutoForeground(bool input) { +void JFJochDiffractionImage::setAutoForeground(bool input) { auto_foreground = input; if (image && auto_foreground) { // If auto_foreground is not set, then view stays with the current settings till these are explicitely changed @@ -531,51 +531,51 @@ void JFJochViewerImage::setAutoForeground(bool input) { -void JFJochViewerImage::setResolutionRing(QVector v) { +void JFJochDiffractionImage::setResolutionRing(QVector v) { res_ring = v; res_ring_auto = false; Redraw(); } -void JFJochViewerImage::setResolutionRingAuto() { +void JFJochDiffractionImage::setResolutionRingAuto() { res_ring_auto = true; Redraw(); } -void JFJochViewerImage::showSpots(bool input) { +void JFJochDiffractionImage::showSpots(bool input) { show_spots = input; Redraw(); } -void JFJochViewerImage::showPredictions(bool input) { +void JFJochDiffractionImage::showPredictions(bool input) { show_predictions = input; Redraw(); } -void JFJochViewerImage::setSpotColor(QColor input) { +void JFJochDiffractionImage::setSpotColor(QColor input) { spot_color = input; Redraw(); } -void JFJochViewerImage::setPredictionColor(QColor input) { +void JFJochDiffractionImage::setPredictionColor(QColor input) { prediction_color = input; Redraw(); } -void JFJochViewerImage::showHighestPixels(int32_t v) { +void JFJochDiffractionImage::showHighestPixels(int32_t v) { show_highest_pixels = v; Redraw(); } -void JFJochViewerImage::DrawSaturation() { +void JFJochDiffractionImage::DrawSaturation() { for (const auto &iter: image->SaturatedPixels()) DrawCross(iter % image->Dataset().experiment.GetXPixelsNum() + 0.5, iter / image->Dataset().experiment.GetXPixelsNum() + 0.5, 20, 4); } -void JFJochViewerImage::DrawCross(float x, float y, float size, float width, float z) { +void JFJochDiffractionImage::DrawCross(float x, float y, float size, float width, float z) { float sc_size = size / sqrt(scale_factor); QPen pen(feature_color, width); @@ -588,12 +588,12 @@ void JFJochViewerImage::DrawCross(float x, float y, float size, float width, flo verticalLine->setZValue(z); // Ensure it appears above other items } -void JFJochViewerImage::showSaturation(bool input) { +void JFJochDiffractionImage::showSaturation(bool input) { show_saturation = input; Redraw(); } -void JFJochViewerImage::centerOnSpot(QPointF point) { +void JFJochDiffractionImage::centerOnSpot(QPointF point) { if (!image) return; @@ -604,12 +604,12 @@ void JFJochViewerImage::centerOnSpot(QPointF point) { centerOn(point); } -void JFJochViewerImage::highlightIceRings(bool input) { +void JFJochDiffractionImage::highlightIceRings(bool input) { highlight_ice_rings = input; Redraw(); } -void JFJochViewerImage::SetROIBox(QRect box) { +void JFJochDiffractionImage::SetROIBox(QRect box) { roi_type = RoiType::RoiBox; roi_box = box; roiStartPos = roi_box.topLeft(); @@ -617,7 +617,7 @@ void JFJochViewerImage::SetROIBox(QRect box) { Redraw(); } -void JFJochViewerImage::SetROICircle(double x, double y, double radius) { +void JFJochDiffractionImage::SetROICircle(double x, double y, double radius) { roi_type = RoiType::RoiCircle; roi_box = QRectF(x - radius, y - radius, 2 * radius, 2 * radius).normalized(); roiStartPos = roi_box.topLeft(); diff --git a/viewer/widgets/JFJochViewerImage.h b/viewer/widgets/JFJochDiffractionImage.h similarity index 93% rename from viewer/widgets/JFJochViewerImage.h rename to viewer/widgets/JFJochDiffractionImage.h index 161ba04b..5365ca1d 100644 --- a/viewer/widgets/JFJochViewerImage.h +++ b/viewer/widgets/JFJochDiffractionImage.h @@ -1,15 +1,14 @@ // SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only -#ifndef JFJOCHVIEWERIMAGE_H -#define JFJOCHVIEWERIMAGE_H +#pragma once #include "JFJochImage.h" #include #include "../../reader/JFJochHDF5Reader.h" #include "../../common/ColorScale.h" -class JFJochViewerImage : public JFJochImage { +class JFJochDiffractionImage : public JFJochImage { Q_OBJECT bool auto_foreground = false; @@ -21,7 +20,7 @@ Q_OBJECT QRectF roi_box; public: - JFJochViewerImage(QWidget *parent = nullptr); + JFJochDiffractionImage(QWidget *parent = nullptr); signals: void roiBoxUpdated(QRect box); void roiCircleUpdated(double x, double y, double radius); @@ -89,6 +88,3 @@ public slots: void SetROICircle(double x, double y, double radius); }; - - -#endif //JFJOCHVIEWERIMAGE_H diff --git a/viewer/widgets/JFJochSimpleImageViewer.cpp b/viewer/widgets/JFJochSimpleImage.cpp similarity index 93% rename from viewer/widgets/JFJochSimpleImageViewer.cpp rename to viewer/widgets/JFJochSimpleImage.cpp index 6f11a701..4cb8953a 100644 --- a/viewer/widgets/JFJochSimpleImageViewer.cpp +++ b/viewer/widgets/JFJochSimpleImage.cpp @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only -#include "JFJochSimpleImageViewer.h" +#include "JFJochSimpleImage.h" #include #include #include @@ -20,7 +20,7 @@ static inline double normalize_to_unit(double raw, double bg, double fg) { return v; } -JFJochSimpleImageViewer::JFJochSimpleImageViewer(QWidget *parent) +JFJochSimpleImage::JFJochSimpleImage(QWidget *parent) : JFJochImage(parent) { auto *scn = new QGraphicsScene(this); setScene(scn); @@ -32,7 +32,7 @@ JFJochSimpleImageViewer::JFJochSimpleImageViewer(QWidget *parent) setViewportUpdateMode(QGraphicsView::FullViewportUpdate); } -void JFJochSimpleImageViewer::clear() { +void JFJochSimpleImage::clear() { has_image_ = false; image_.reset(); @@ -40,14 +40,14 @@ void JFJochSimpleImageViewer::clear() { scene()->clear(); } -void JFJochSimpleImageViewer::setImage(std::shared_ptr img) { +void JFJochSimpleImage::setImage(std::shared_ptr img) { image_ = std::move(img); has_image_ = true; renderImage(); updateOverlay(); } -void JFJochSimpleImageViewer::Redraw() { +void JFJochSimpleImage::Redraw() { if (has_image_) { renderImage(); // Preserve current transform while updating @@ -55,7 +55,7 @@ void JFJochSimpleImageViewer::Redraw() { } } -void JFJochSimpleImageViewer::mousePressEvent(QMouseEvent* event) { +void JFJochSimpleImage::mousePressEvent(QMouseEvent* event) { if (!scene() || !has_image_) return; if (event->button() == Qt::LeftButton) { @@ -91,7 +91,7 @@ void JFJochSimpleImageViewer::mousePressEvent(QMouseEvent* event) { QGraphicsView::mousePressEvent(event); } -void JFJochSimpleImageViewer::mouseMoveEvent(QMouseEvent* event) { +void JFJochSimpleImage::mouseMoveEvent(QMouseEvent* event) { if (!scene() || !has_image_) return; const QPointF scenePos = mapToScene(event->pos()); @@ -158,7 +158,7 @@ void JFJochSimpleImageViewer::mouseMoveEvent(QMouseEvent* event) { QGraphicsView::mouseMoveEvent(event); } -void JFJochSimpleImageViewer::mouseReleaseEvent(QMouseEvent* event) { +void JFJochSimpleImage::mouseReleaseEvent(QMouseEvent* event) { if (!scene() || !has_image_) return; if (event->button() == Qt::LeftButton) { @@ -176,12 +176,12 @@ void JFJochSimpleImageViewer::mouseReleaseEvent(QMouseEvent* event) { } -void JFJochSimpleImageViewer::resizeEvent(QResizeEvent *event) { +void JFJochSimpleImage::resizeEvent(QResizeEvent *event) { QGraphicsView::resizeEvent(event); // Nothing special; keep current transform and scene } -void JFJochSimpleImageViewer::renderImage() { +void JFJochSimpleImage::renderImage() { const size_t W = image_->image.GetWidth(); const size_t H = image_->image.GetHeight(); if (W == 0 || H == 0) return; @@ -254,7 +254,7 @@ void JFJochSimpleImageViewer::renderImage() { pixmap = QPixmap::fromImage(qimg); } -void JFJochSimpleImageViewer::updateOverlay() { +void JFJochSimpleImage::updateOverlay() { if (!scene()) return; scene()->clear(); if (!has_image_) return; @@ -315,7 +315,7 @@ void JFJochSimpleImageViewer::updateOverlay() { } template -void JFJochSimpleImageViewer::renderImage(QImage &qimg, const uint8_t *input) { +void JFJochSimpleImage::renderImage(QImage &qimg, const uint8_t *input) { const size_t W = image_->image.GetWidth(); const size_t H = image_->image.GetHeight(); @@ -350,12 +350,12 @@ void JFJochSimpleImageViewer::renderImage(QImage &qimg, const uint8_t *input) { } -QPointF JFJochSimpleImageViewer::RoundPoint(const QPointF& p) { +QPointF JFJochSimpleImage::RoundPoint(const QPointF& p) { return QPointF(qRound(p.x()), qRound(p.y())); } -JFJochSimpleImageViewer::ResizeHandle -JFJochSimpleImageViewer::hitTestROIHandle(const QPointF& scenePos, qreal tol) const { +JFJochSimpleImage::ResizeHandle +JFJochSimpleImage::hitTestROIHandle(const QPointF& scenePos, qreal tol) const { if (roi_box_.isNull() || roi_box_.width() <= 0 || roi_box_.height() <= 0) return ResizeHandle::None; @@ -388,7 +388,7 @@ JFJochSimpleImageViewer::hitTestROIHandle(const QPointF& scenePos, qreal tol) co return ResizeHandle::None; } -void JFJochSimpleImageViewer::updateROI() { +void JFJochSimpleImage::updateROI() { // Normalize box if drawing if (mouse_event_type_ == MouseEventType::DrawingROI) { roi_box_ = QRectF(roi_start_pos_, roi_end_pos_).normalized(); @@ -405,7 +405,7 @@ void JFJochSimpleImageViewer::updateROI() { scheduleSceneUpdate(); } -void JFJochSimpleImageViewer::drawROI(QGraphicsScene* scn) { +void JFJochSimpleImage::drawROI(QGraphicsScene* scn) { if (roi_box_.isNull() || roi_box_.width() <= 0 || roi_box_.height() <= 0) return; QPen pen(feature_color, 2); @@ -459,8 +459,8 @@ void JFJochSimpleImageViewer::drawROI(QGraphicsScene* scn) { } } -JFJochSimpleImageViewer::ROIStats -JFJochSimpleImageViewer::computeROIStats(const QRect& roi_px) const { +JFJochSimpleImage::ROIStats +JFJochSimpleImage::computeROIStats(const QRect& roi_px) const { ROIStats s; if (!has_image_) return s; @@ -504,7 +504,7 @@ JFJochSimpleImageViewer::computeROIStats(const QRect& roi_px) const { } -void JFJochSimpleImageViewer::onRepaintTimer() { +void JFJochSimpleImage::onRepaintTimer() { // Apply any pending pan if (!qFuzzyIsNull(pan_accum_.x()) || !qFuzzyIsNull(pan_accum_.y())) { translate(pan_accum_.x(), pan_accum_.y()); @@ -523,13 +523,13 @@ void JFJochSimpleImageViewer::onRepaintTimer() { } } -void JFJochSimpleImageViewer::schedulePanDelta(const QPointF& d) { +void JFJochSimpleImage::schedulePanDelta(const QPointF& d) { pan_accum_ += d; if (!repaint_timer_.isActive()) repaint_timer_.start(); } -void JFJochSimpleImageViewer::scheduleSceneUpdate() { +void JFJochSimpleImage::scheduleSceneUpdate() { needs_scene_update_ = true; if (!repaint_timer_.isActive()) repaint_timer_.start(); diff --git a/viewer/widgets/JFJochSimpleImageViewer.h b/viewer/widgets/JFJochSimpleImage.h similarity index 96% rename from viewer/widgets/JFJochSimpleImageViewer.h rename to viewer/widgets/JFJochSimpleImage.h index 5f935dab..9c08d9c9 100644 --- a/viewer/widgets/JFJochSimpleImageViewer.h +++ b/viewer/widgets/JFJochSimpleImage.h @@ -14,12 +14,12 @@ #include "../SimpleImage.h" #include "../../common/ColorScale.h" -class JFJochSimpleImageViewer : public JFJochImage { +class JFJochSimpleImage : public JFJochImage { Q_OBJECT void Redraw() override; public: - explicit JFJochSimpleImageViewer(QWidget* parent = nullptr); + explicit JFJochSimpleImage(QWidget* parent = nullptr); void setImage(std::shared_ptr img); void clear(); diff --git a/viewer/windows/JFJochCalibrationWindow.cpp b/viewer/windows/JFJochCalibrationWindow.cpp index a6771d17..c7b6c36c 100644 --- a/viewer/windows/JFJochCalibrationWindow.cpp +++ b/viewer/windows/JFJochCalibrationWindow.cpp @@ -14,7 +14,7 @@ JFJochCalibrationWindow::JFJochCalibrationWindow(QWidget *parent) : JFJochHelper auto grid_layout = new QGridLayout(); - viewer = new JFJochSimpleImageViewer(this); + viewer = new JFJochSimpleImage(this); calibration_option = new QComboBox(this); color_map_select = new QComboBox(this); @@ -41,14 +41,14 @@ JFJochCalibrationWindow::JFJochCalibrationWindow(QWidget *parent) : JFJochHelper grid_layout->addLayout(foreground_row, 2, 0, 1, 2); grid_layout->addWidget(viewer, 3, 0, 1, 2); - connect(viewer, &JFJochSimpleImageViewer::backgroundChanged, + connect(viewer, &JFJochSimpleImage::backgroundChanged, [this] (float val) {background_slider->setValue(val);}); - connect(viewer, &JFJochSimpleImageViewer::foregroundChanged, + connect(viewer, &JFJochSimpleImage::foregroundChanged, [this] (float val) {foreground_slider->setValue(val);}); - connect(background_slider, &SliderPlusBox::valueChanged, viewer, &JFJochSimpleImageViewer::changeBackground); - connect(foreground_slider, &SliderPlusBox::valueChanged, viewer, &JFJochSimpleImageViewer::changeForeground); + connect(background_slider, &SliderPlusBox::valueChanged, viewer, &JFJochSimpleImage::changeBackground); + connect(foreground_slider, &SliderPlusBox::valueChanged, viewer, &JFJochSimpleImage::changeForeground); connect(color_map_select, &QComboBox::currentIndexChanged, this, [this](int index) { viewer->setColorMap(index); @@ -60,7 +60,7 @@ JFJochCalibrationWindow::JFJochCalibrationWindow(QWidget *parent) : JFJochHelper statusBar = new QStatusBar(this); setStatusBar(statusBar); - connect(viewer, &JFJochSimpleImageViewer::writeStatusBar, + connect(viewer, &JFJochSimpleImage::writeStatusBar, statusBar, &QStatusBar::showMessage); } diff --git a/viewer/windows/JFJochCalibrationWindow.h b/viewer/windows/JFJochCalibrationWindow.h index c06e6919..ed975b2f 100644 --- a/viewer/windows/JFJochCalibrationWindow.h +++ b/viewer/windows/JFJochCalibrationWindow.h @@ -9,7 +9,7 @@ #include #include "JFJochHelperWindow.h" -#include "../widgets/JFJochSimpleImageViewer.h" +#include "../widgets/JFJochSimpleImage.h" #include "../../reader/JFJochReaderDataset.h" #include "../SimpleImage.h" #include "../widgets/SliderPlusBox.h" @@ -26,7 +26,7 @@ class JFJochCalibrationWindow : public JFJochHelperWindow { std::shared_ptr dataset; - JFJochSimpleImageViewer *viewer = nullptr; + JFJochSimpleImage *viewer = nullptr; public: JFJochCalibrationWindow(QWidget *parent = nullptr);