Files
Jungfraujoch/viewer/JFJochViewerSidePanel.h
T
leonarski_fandClaude Opus 4.8 abc1d1c079
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 3m45s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 3m44s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 3m50s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 3m45s
Build Packages / build:rpm (rocky8) (push) Failing after 3m46s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 4m0s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 3m56s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 3m5s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 3m7s
Build Packages / build:rpm (rocky9) (push) Failing after 3m12s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Failing after 21s
Build Packages / Generate python client (push) Successful in 31s
Build Packages / XDS test (durin plugin) (push) Successful in 5m53s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m12s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 6m54s
Build Packages / DIALS test (push) Successful in 8m46s
Build Packages / Unit tests (push) Successful in 48m22s
viewer: add/subtract the selected ROI to/from the user mask
Restore the ROI-to-mask action on the new list: "Add to mask" and
"Subtract from mask" buttons rasterise the selected ROI into the user
mask (set or clear), through the same UpdateUserMask_i path. The ROI is
evaluated with per-pixel resolution and phi from the geometry, so box,
circle and azimuthal (sector) ROIs all map correctly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 15:08:59 +02:00

64 lines
1.8 KiB
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#pragma once
#include <QLabel>
#include <QWidget>
#include <QLineEdit>
#include <QCheckBox>
#include "widgets/JFJochViewerROIList.h"
#include "../reader/JFJochReader.h"
#include "charts/JFJochSimpleChartView.h"
#include "widgets/JFJochViewerSidePanelChart.h"
#include "widgets/ResolutionRingWidget.h"
class JFJochViewerSidePanel : public QWidget {
Q_OBJECT
JFJochViewerSidePanelChart *chart = nullptr;
JFJochViewerROIList *roi_list = nullptr;
ResolutionRingWidget *res_rings = nullptr;
signals:
void showSpots(bool input);
void setFeatureColor(QColor input);
void setSpotColor(QColor input);
void showHighestPixels(int32_t v);
void showSaturatedPixels(bool input);
void showPredictions(bool input);
void highlightIceRings(bool input);
void showROILabels(bool input);
void showROIFill(bool input);
void roisChanged(ROIDefinition rois);
void selectedROIChanged(QString name);
void downloadROIs();
void uploadROIs();
void maskFromROI(QString name, bool add);
void findBeamCenter(const UnitCell &input, bool guess);
void analyze();
void imageLoaded(std::shared_ptr<const JFJochReaderImage> image);
void writeStatusBar(QString string, int timeout_ms = 0);
void ringModeSet(JFJochDiffractionImage::RingMode mode);
void resRingsSet(QVector<float> v);
public:
JFJochViewerSidePanel(QWidget *parent);
public slots:
void loadImage(std::shared_ptr<const JFJochReaderImage> image);
void SetRings(QVector<float> v);
void selectROIInList(QString name);
private slots:
void spotsToggled(bool input);
void predictionsToggled(bool input);
void highlightIceRingsToggled(bool input);
void saturatedPixelsToggled(bool input);
};