ddt  0.1
ddtImageWidget.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtImageWidget.hpp
8 // @brief DDT Widgets. Class for the DDT Image Widget.
9 //
10 // Class for the Image Widget. The widget is used to display data of various
11 // types (e.g. image, plots, etc.)
12 //
13 // @author Carsten Mannel, CGI
14 // @since 2020/01/16
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
18 #define DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
19 
20 #include <boost/bind.hpp>
21 #include <boost/signals2/signal.hpp>
22 
23 // Subscriber Library
24 #include <QList>
25 #include <QtUiPlugin/QDesignerExportWidget>
26 #include <QtWidgets>
27 
36 #include "ddt/ddtLogger.hpp"
42 #include "ddt/imageHandling.hpp"
44 
45 class DdtImageWidget;
46 
51 class DdtGraphicsView : public QGraphicsView {
52  Q_OBJECT
53 
54  public:
59  explicit DdtGraphicsView(QWidget* parent = nullptr);
60 
66  void SetConvertPixelToDegrees(const double convPixelDegrees);
67 
72  void SetDrawMode(const QString mode);
73 
78  void SetDrawSlitLine(const bool drawLine);
79 
87  void SetStatisticRect(const double x1, const double y1, const double x2,
88  const double y2);
89 
95 
100  void AddSlitElementToScene();
101 
107 
111  void UpdateAllStatistics();
112 
113  protected:
118  void mouseMoveEvent(QMouseEvent* event);
119 
124  void mousePressEvent(QMouseEvent* event);
125 
130  void mouseReleaseEvent(QMouseEvent* event);
131 
136  void mouseDoubleClickEvent(QMouseEvent* event);
137 
142  void keyPressEvent(QKeyEvent* event);
143 
148  void wheelEvent(QWheelEvent* event);
149 
156  void drawForeground(QPainter* painter, const QRectF& rect);
157 
162  void AddTextItem();
163 
164  signals:
171  void CursorPosition(double x, double y, bool mouse_clicked);
172 
181  void GraphicalElement(double x1, double y1, double x2, double y2,
182  QString drawMode);
183 
184  void GraphicalTextElement(double x1, double y1, double x2, double y2,
185  QString drawMode, QString text);
186 
187  void StatisticRectangle(double x1, double y1, double x2, double y2);
188 
189  void SlitElement(double target_x, double target_y, double slit_x,
190  double slit_y, double x_offset, double y_offset);
191 
195  void CalculateHistogramReferenceLine(const QPointF p1, const QPointF p2);
196 
201 
206 
207  private:
211  DdtImageWidget* parent;
212 
216  bool drawing_enabled = false;
217 
222  QString draw_mode = "none";
223 
228  QPointF orig_point;
229 
234  QPointF cur_point;
235 
239  double convert_pixel_to_degrees = 0.0;
240 
241  DdtGraphicsTextItem* text_item = nullptr;
242  QString current_text = "";
243  QPointF current_text_pos;
244 
245  DdtGraphicalElementStatRectangle* statistic_rect = nullptr;
246  DdtGraphicalElementSlit* slit_element = nullptr;
247  DdtGraphicalElementRefLine* ref_line_element = nullptr;
248  bool draw_slit_line = false;
249  bool slit_config_read = false;
250 
251  // Configurable properties of slit overlay
252  double config_slit_x;
253  double config_slit_y;
254  double config_slit_size_x;
255  double config_slit_size_y;
256  double config_slit_angle;
257  QString config_slit_color;
258 
265  void DrawMeasurements(QPainter& painter, const QPointF start,
266  const QPointF end);
267 
274  void DrawStatisticRectangle(QPainter& painter, const QPointF start,
275  const QPointF end);
276 
280  void CreateStatisticRect(const double x1, const double y1, const double x2,
281  const double y2);
282 
289  void DrawRefLine(QPainter& painter, const QPointF start, const QPointF end);
290 
294  void CreateRefLine(const QPointF start, const QPointF end);
295 
302  void DrawSlit(QPainter& painter, const QPointF start);
303 
308  void ReadSlitParameter(const std::string config_file, double* slit_x,
309  double* slit_y, double* slit_size_x,
310  double* slit_size_y, double* slit_angle,
311  QString* slit_color) const;
315  void CreateSlit(const QColor line_color, const double slit_x,
316  const double slit_y, const double slit_size_x,
317  const double slit_size_y, const double slit_angle);
318 
325  void DrawGraphicalElement(QPainter& painter, const QPointF start,
326  const QPointF end);
327 
336  QPolygonF ConstructArrowHead(QLineF const& line, const qreal arrowSize) const;
337 
345  QString DegreesToString(double deg) const;
346 
356  QString ConstructDegreesString(const qreal length) const;
357 
358  std::string GetConfigPath() const;
359 };
360 
365 class QDESIGNER_WIDGET_EXPORT DdtImageWidget : public DdtWidget {
366  Q_OBJECT
367 
368  Q_PROPERTY(bool UseOpenGL READ get_use_open_gl WRITE set_use_open_gl)
369  Q_PROPERTY(
370  bool UseAntialiasing READ get_use_antialiasing WRITE set_use_antialiasing)
371  Q_PROPERTY(bool AutoScale READ get_auto_scale WRITE set_auto_scale)
372  Q_PROPERTY(QString DefaultScale READ get_default_scale_factor WRITE
373  set_default_scale_factor)
374  Q_PROPERTY(QString ScaleFactorList READ get_define_scale_factor WRITE
375  set_define_scale_factor)
376  Q_PROPERTY(QString DefaultColourmap READ get_default_colourmap WRITE
377  set_default_colourmap)
378  Q_PROPERTY(QString ListContextMenu READ get_list_context_menu WRITE
379  set_list_context_menu)
380  Q_PROPERTY(QString DefautBiasImage READ get_default_bias_image WRITE
381  set_default_bias_image)
382  Q_PROPERTY(
383  bool ShowScrollbars READ get_show_scrollbars WRITE set_show_scrollbars)
384 
385  public:
387  // Constructors / Destructors
388  //
389 
394  explicit DdtImageWidget(QWidget* parent = nullptr);
395 
399  virtual ~DdtImageWidget();
400 
402  // Getters and Setters for properties
403  //
404 
409  bool get_use_open_gl();
410 
415  void set_use_open_gl(bool use_open_gl);
416 
421  bool get_use_antialiasing();
422 
427  void set_use_antialiasing(bool use_antialiasing);
428 
433  bool get_auto_scale();
434 
439  void set_auto_scale(bool auto_scale);
440 
447  void ReadScaleFactors();
448 
454  QList<QString> SortedScaleFactors(QMap<QString, float> scale_map);
455 
463  QString get_define_scale_factor() const;
464 
471  void set_define_scale_factor(const QString new_values);
472 
477  QString get_default_scale_factor() const;
478 
483  void set_default_scale_factor(const QString new_default_scale_factor);
484 
489  QString get_default_colourmap() const;
490 
495  void set_default_colourmap(const QString new_default_colourmap);
496 
501  void set_list_context_menu(const QString new_list_context_menu);
502 
507  QString get_list_context_menu() const;
508 
513  QString get_default_bias_image() const;
514 
519  void set_default_bias_image(const QString set_bias_image);
520 
525  bool get_show_scrollbars() const;
526 
531  void set_show_scrollbars(const bool set_show_scrollbars);
532 
534  // Graphical Elements
535  //
536 
537  DdtGraphicalElementProperties get_overlay_properties();
538 
540  // Further getters and setters
541  //
542 
547  void set_logger(ddt::DdtLogger* logger);
548 
550  // Utility functions
551  //
552 
559  float ParseFractionString(QString fraction_str);
560 
568  void ConvertCanvasToImage(const double x_canvas, const double y_canvas,
569  double* x_image, double* y_image);
570 
578  void ConvertImageToCanvas(const double x_image, const double y_image,
579  double* x_canvas, double* y_canvas);
580 
582  // Event handling
583  //
584 
591  bool eventFilter(QObject* obj, QEvent* event);
592 
597  void HandleNewBoostDataEvent();
598 
602  void CutLevelChanged();
603 
607  void ReloadGraphicsItem();
608 
613  void UpdateThumbnailImages();
614 
618  void UpdateAllStatistics();
619 
624  void CloseAllDialogs();
625 
631  void MarkPositions();
632 
637  QString EndMarkPositions();
638 
643  void RegisterLastSegmentCallback(
644  std::function<void()> const& lastSegmentFunction);
645 
646  protected:
648  // Logger
653 
655  // Graphics Library
656 
661 
666 
667  private:
669  // Private members
670  //
671 
672  // Data Stream access
673  QString current_stream_id;
674  boost::signals2::connection connection;
675  boost::signals2::connection connection_cutlevel;
676 
677  // Data file access
678  QString last_image_path;
679  QString last_selected_file;
680 
681  // Image display
682  DdtGraphicsView* view;
683  QGraphicsScene* scene;
684  QGraphicsItem* current_image_item;
685 
686  ddt::ImageHandling* imgHandling;
687 
688  int current_image_width;
689  int current_image_height;
690 
691  // Pick mode
692  PickMode current_pick_mode;
693  int current_pick_pixels_size;
694  int current_pick_object_no_samples;
695 
696  // Tabular region
697  int current_tab_region_x_size;
698  int current_tab_region_y_size;
699 
700  // Flags
701  bool scrollbar_moved_externally;
702 
703  bool current_flip_state_vertical;
704  bool current_flip_state_horizontal;
705 
706  bool defaults_set;
707 
708  // Rendering plugins
709  QList<DdtRenderingPlugin*> rendering_plugins;
710 
711  // Map for access to dialogs
712  QMap<QString, DdtDialog*> dialog_map;
713  QMap<QString, QString> dialogname_map;
714 
715  // Context menu
716  QStringList context_menu_entries;
717 
718  // Set of image points selected by user
719  QList<QPointF> point_list;
720  bool mark_position_mode;
721 
722  // Last segment callback
723  std::function<void()> last_segment_callback;
724 
725  protected:
727  // Protected members
728  //
729 
731  // Image Widget Properties
732  //
733 
739 
745 
751 
757 
762 
767 
773 
778 
783 
788 
793 
800  QMap<QString, float> scale_factor_pool;
801 
808  QMap<QString, float> scale_factor_favorites;
809 
817 
823 
829 
831  // Configuration items
832  //
833 
839 
845 
847  // Image handling
848  //
849 
853  QTransform scaling_transform;
854 
858  QTransform rotation_transform;
859 
865  void resizeEvent(QResizeEvent* event);
866 
870  void RemoveAllItemsFromScene();
871 
875  void RemoveAllOverlayItemsFromScene();
876 
877  protected:
879  // Image statistics
880  //
881 
892  void CalculatePickStatistics(PickMode pick_mode, double x, double y,
893  double pixelvalue, QString ra, QString decl);
894 
901  void GetTabularRegion(const double x_image, const double y_image);
902 
903  private:
905  // Private Methods
906  //
907 
908  // Widget setup
909  void Initialize();
910  void CreateWidget();
911  void SetDefaultSettings();
912  void SetDefaultColourmapSettings();
913  void SetDefaultConfigurationmapSettings();
914  void SetDefaultBiasImageSettings();
915 
916  // Context Menu and Dialogs
917  void InitializeContextMenu();
918  void InitializeDialogMap();
919 
920  // File access
921  void BrowseForFile();
922  void BrowseForFileExt();
923  void SaveAsFile();
924 
925  // Colourmap handling
926  void UpdateColourmap();
927 
928  // FITS Header updates
929  void UpdateFitsHeaderDialog();
930 
931  // BIAS handling
932  void StoreCurrentImage();
933  void DisplaySelected(const QVariant parameter);
934  void LoadFromDisc(const QVariant parameter);
935 
936  // PVCM handling
937  void SendCutValuesAndHistogram();
938 
939  // HDU handling
940  void CheckHDUs();
941 
942  // Binary Table handling
943  void CheckBinaryTable(const QString extensionName);
944  void FillTable(cpl_table* const table, const cpl_array* const column_names,
945  int* const ncol, int* const nrow, const QString extensionName);
946  void FillSingleTable(cpl_table* const table, const char* const col_name,
947  QList<QVariant>& singleTable,
948  QList<QVariant>& singleColNames, const int rows,
949  int* const numVals, int* const cols) const;
950  void FillSingleTableString(cpl_table* const table, const char* const col_name,
951  QList<QVariant>& singleTable,
952  const int rows) const;
953  void FillSingleTableInt(cpl_table* const table, const char* const col_name,
954  QList<QVariant>& singleTable, const int rows) const;
955  void FillSingleTableIntArr(cpl_table* const table, const char* const col_name,
956  QList<QVariant>& singleTable, const int rows,
957  int* const numVals) const;
958  void FillSingleTableFloat(cpl_table* const table, const char* const col_name,
959  QList<QVariant>& singleTable, const int rows) const;
960  void FillSingleTableFloatArr(cpl_table* const table,
961  const char* const col_name,
962  QList<QVariant>& singleTable, const int rows,
963  int* const numVals) const;
964  void FillSingleTableDouble(cpl_table* const table, const char* const col_name,
965  QList<QVariant>& singleTable,
966  const int rows) const;
967  void FillSingleTableDoubleArr(cpl_table* const table,
968  const char* const col_name,
969  QList<QVariant>& singleTable, const int rows,
970  int* const numVals) const;
971 
972  void SetFitsTableParameter(const int tableNumber, const int rows,
973  const int cols, const QList<QVariant> singleTable,
974  const QList<QVariant> singleColNames);
975 
976  protected:
978  // Protected Methods
979  //
980 
981  // Widget interface
982 
983  // Magnification widget
984 
992  void MagnifyImage(int x, int y, const bool pick_mode = false);
993 
997  void MagnifyImageWithFactor(const QString mag_factor_str,
998  const int mag_fact_index, const int x,
999  const int y);
1000 
1001  // Dialog interfaces
1007  void SetInitialDialogParameters(DdtDialog* dialog, const QString dialog_id);
1013  void SetInitialDialogParametersColourmapDialog(DdtDialog* dialog,
1014  const QString dialog_id);
1020  void SetInitialDialogParametersPickObjectDialog(DdtDialog* dialog,
1021  const QString dialog_id);
1027  void SetInitialDialogParametersFITSHeaderDialog(DdtDialog* dialog,
1028  const QString dialog_id);
1029 
1035  void SetInitialDialogParametersHDUDialog(DdtDialog* dialog,
1036  const QString dialog_id);
1037 
1043  void SetInitialDialogParametersTabularRegionDialog(DdtDialog* dialog,
1044  const QString dialog_id);
1045 
1051  void SetInitialDialogParametersGraphicalDialog(DdtDialog* dialog,
1052  const QString dialog_id);
1053 
1059  void SetInitialDialogParametersCutValuesDialog(DdtDialog* dialog,
1060  const QString dialog_id);
1061 
1067  void SetInitialDialogParametersBiasDialog(DdtDialog* dialog,
1068  const QString dialog_id);
1069 
1075  void SetInitialDialogParametersScaleRotateCutValuesDialog(
1076  DdtDialog* dialog, const QString dialog_id);
1077 
1083  void SetInitialDialogParametersStatisticDialog(DdtDialog* dialog,
1084  const QString dialog_id);
1085 
1091  void SetInitialDialogParametersPVCMDialog(DdtDialog* dialog,
1092  const QString dialog_id);
1093 
1099  void SetInitialDialogParametersReferenceLineDialog(DdtDialog* dialog,
1100  const QString dialog_id);
1101 
1107  void SetInitialDialogParametersDataStreamDialog(DdtDialog* dialog,
1108  const QString dialog_id);
1109 
1115  void DialogParameterChangedColourmapDialog(const QString parameter_id,
1116  const QVariant parameter);
1123  void DialogParameterChangedPickObject(const QString parameter_id,
1124  const QVariant parameter);
1125 
1132  void DialogParameterChangedTabularRegion(const QString parameter_id,
1133  const QVariant parameter);
1134 
1141  void DialogParameterChangedGraphicalElements(const QString parameter_id,
1142  const QVariant parameter);
1143 
1149  void DialogParameterChangedCutValues(const QString parameter_id,
1150  const QVariant parameter);
1151 
1158  void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1159  const QVariant parameter);
1160 
1166  void DialogParameterChangedBias(const QString parameter_id,
1167  const QVariant parameter);
1168 
1174  void DialogParameterChangedStatistic(const QString parameter_id,
1175  const QVariant parameter);
1176 
1182  void DialogParameterChangedSlit(const QString parameter_id,
1183  const QVariant parameter);
1184 
1190  void DialogParameterChangedPVCM(const QString parameter_id,
1191  const QVariant parameter);
1192 
1199  void DialogParameterChangedReferenceLine(const QString parameter_id,
1200  const QVariant parameter);
1201 
1208  void DialogParameterChangedDataStream(const QString parameter_id,
1209  const QVariant parameter);
1210 
1217  void DialogParameterChangedHDU(const QString parameter_id,
1218  const QVariant parameter);
1219 
1220  public slots:
1222  // Public slots
1223  //
1224 
1226  // Dialog interface
1227  //
1228 
1235  void DialogParameterChanged(const QString dialog_id,
1236  const QString parameter_id,
1237  const QVariant parameter);
1238 
1240  // Data Stream Widget interface
1241  //
1242 
1248  void AttachDataStream(const QString data_stream_id);
1249 
1254  void DetachDataStream(const QString data_stream_id);
1255 
1261  void AttachDataFile(QString filename);
1262 
1263  void AttachImageExtensionsAsOne(QString filename);
1264 
1266  // Flip Rotate Widget interface
1267  //
1268 
1277  void FlipImage(bool vertical_axis, bool horizontal_axis);
1278 
1283  void RotateImage(int rotation_angle);
1284 
1286  // Panning Widget interface
1287  //
1288 
1296  void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y);
1297 
1298  // Scale Buttons Widget interface
1303  void IncrementScale();
1304 
1309  void DecrementScale();
1310 
1315  void SetToDefaultScale();
1316 
1322  void SelectNewScale(QString nextScale);
1323 
1327  void ScaleFactorForNewImage();
1328 
1334  QString FindAutoScale();
1335 
1336  // Graphical Elements Dialog
1337 
1346  void GraphicalElement(double x1, double y1, double x2, double y2,
1347  const QString draw_mode);
1348 
1349  void GraphicalTextElement(double x1, double y1, double x2, double y2,
1350  const QString draw_mode, QString text);
1351 
1352  // Statistics Dialog
1353 
1362  void StatisticRectangle(const double x1, const double y1, const double x2,
1363  const double y2);
1364 
1365  // Slit Dialog
1366 
1376  void SlitElement(const double target_x, const double target_y,
1377  const double slit_x, const double slit_y,
1378  const double x_offset, const double y_offset);
1379 
1380  // Reference Line Dialog
1381 
1382  void CalculateHistogramReferenceLine(QPointF p1, QPointF p2);
1383 
1385  // Magnification Widget interface
1386  //
1393  void SetMagnificationFactor(QString magnification_factor);
1394 
1396  // Cursor Information Widget interface
1397  //
1398 
1406  void CursorPosition(double x, double y, bool mouse_clicked);
1407 
1409  // Cut Values Widget interface
1410  //
1411 
1417  void SetCutValues(double low, double high);
1418 
1422  void SetAutoCuts();
1423 
1427  void SetMinMaxCuts();
1428 
1430  // Internal slots
1431  //
1432 
1436  void DetachStream();
1437 
1441  void HandleNewDataEvent();
1442 
1448  void SetAutoScaleState(const bool new_auto_scale_state);
1449 
1450  private slots:
1452  // Private slots
1453  //
1454 
1455  // Loading rendering plugins
1456  void LoadRenderingPlugins();
1457 
1458  // Scrollbar handling
1459  void ScrollBarMoved(int pos);
1460 
1461  // Context menu related
1462  void DisplayContextMenu(const QPoint& pos);
1463  void ExecuteContextMenuCommand(QString command);
1464 
1465  signals:
1466 
1468  // Signals
1469  //
1470 
1472  // Dialogs
1473  //
1474 
1481  void SetChangedDialogParameter(QString param_id, QVariant parameter);
1482 
1484  // Panning Widget interface
1485  //
1486 
1492  void UpdatedImage(QImage*);
1493 
1502  void ImageWidgetViewChanged(QRectF visible_image_rect,
1503  int current_image_width,
1504  int current_image_height);
1505 
1510 
1512  // Cursor Information Widget Interface
1513  //
1514 
1524  void CursorInfo(double x, double y, double pixelvalue, QString ra,
1525  QString decl);
1526 
1528  // Flip Rotate Widget Interface
1529  //
1535  void UpdateFlipStatus(bool vertical, bool horizontal);
1536 
1538  // Magnification Widget interface
1539  //
1540 
1541  void MagnifiedImage(QImage magnified_image);
1542 
1544  // Cut Values Widget interface
1545  //
1546 
1553  void CurrentCutValues(double cutvalue_min, double cutvalue_max,
1554  ddt::ImageHandling::CutLevelType cutvalue_type);
1555 
1557  // Colourmap Widget interface
1558  //
1559 
1564  void SetCurrentColourmap(QVector<QRgb> colourtable);
1565 
1573  void UpdateColourbarAxis(double min_value, double max_value,
1574  int scaling_function);
1575 
1577  // Data Stream Widget
1578  //
1579 
1586  void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status);
1587 
1589  // Image Widget interface - internal slots
1590  //
1591 
1595  void ContextMenuCommandSelected(QString menu_entry);
1596 
1598  // Image Scale Widget interface
1599  //
1600 
1606  void ScaleFactorListChanged(QList<QString> scale_factor_list);
1607 
1613  void UpdateScaleFactor(QString new_scale_factor);
1614 
1621  void UpdateAutoScale(bool new_state);
1622 };
1623 
1624 #endif // DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
DdtImageWidget::current_pick_object_magnification_factor
QString current_pick_object_magnification_factor
Definition: ddtImageWidget.hpp:782
ConnectionStatus
ConnectionStatus
Definition: ddtDatavisualisationDefines.hpp:49
DdtGraphicsView::AddTextItem
void AddTextItem()
Definition: ddtImageWidget.cpp:343
DdtOverlayRendering
Definition: ddtOverlayRendering.hpp:28
DdtGraphicalElementStatRectangle
Definition: ddtGraphicalElementStatRectangle.hpp:25
DdtGraphicalElementSlit
Definition: ddtGraphicalElementSlit.hpp:24
DdtGraphicsView::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition: ddtImageWidget.cpp:146
DdtGraphicsView::MouseIncrementScale
void MouseIncrementScale()
DdtImageWidget::show_scrollbars
bool show_scrollbars
Definition: ddtImageWidget.hpp:766
ddtGraphicalElementStatRectangle.hpp
DdtGraphicalElementRefLine
Definition: ddtGraphicalElementRefLine.hpp:25
DdtGraphicsView::wheelEvent
void wheelEvent(QWheelEvent *event)
Definition: ddtImageWidget.cpp:313
DdtImageWidget::rotation_transform
QTransform rotation_transform
Definition: ddtImageWidget.hpp:858
DdtGraphicsView::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *event)
Definition: ddtImageWidget.cpp:311
DdtImageWidget::auto_scale
bool auto_scale
auto_scale Flag for the usage of automatic scaling of new images
Definition: ddtImageWidget.hpp:750
DdtImageWidget::CurrentConnectStatus
void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status)
DdtGraphicsView::GraphicalElement
void GraphicalElement(double x1, double y1, double x2, double y2, QString drawMode)
ddt::DdtLogger
Definition: ddtLogger.hpp:71
DdtImageWidget::ImageWidgetViewChanged
void ImageWidgetViewChanged(QRectF visible_image_rect, int current_image_width, int current_image_height)
DdtImageWidget::UpdateColourbarAxis
void UpdateColourbarAxis(double min_value, double max_value, int scaling_function)
DdtImageWidget::define_scale_factor
QString define_scale_factor
define_scale_factor This string is configured from outside over the designer. The scale factors are s...
Definition: ddtImageWidget.hpp:816
DdtGraphicsView::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Definition: ddtImageWidget.cpp:279
DdtImageWidget::NewBoostDataEvent
void NewBoostDataEvent()
DdtGraphicsView::DdtGraphicsView
DdtGraphicsView(QWidget *parent=nullptr)
Definition: ddtImageWidget.cpp:42
DdtImageWidget::scale_factor_pool
QMap< QString, float > scale_factor_pool
scale_factor_pool Each possible scale factor is here stored with the string and float value.
Definition: ddtImageWidget.hpp:800
ddtDialogFactory.hpp
DdtImageWidget::overlay_rendering
DdtOverlayRendering * overlay_rendering
Definition: ddtImageWidget.hpp:660
DdtImageWidget::scaling_transform
QTransform scaling_transform
Definition: ddtImageWidget.hpp:853
PickMode
PickMode
Definition: ddtDatavisualisationDefines.hpp:22
ddtGraphicalElementProperties.hpp
DdtImageWidget::default_bias_image
QString default_bias_image
Definition: ddtImageWidget.hpp:761
ddtDialog.hpp
DdtGraphicsView::SetDrawMode
void SetDrawMode(const QString mode)
Definition: ddtImageWidget.cpp:50
DdtImageWidget::scale_factor_favorites
QMap< QString, float > scale_factor_favorites
scale_factor_favorites All favorites scale factor are here stored with the string and float value.
Definition: ddtImageWidget.hpp:808
DdtGraphicsView::SetConvertPixelToDegrees
void SetConvertPixelToDegrees(const double convPixelDegrees)
Definition: ddtImageWidget.cpp:45
DdtImageWidget::overlay_properties
DdtGraphicalElementProperties overlay_properties
Definition: ddtImageWidget.hpp:665
DdtGraphicsView::SlitElement
void SlitElement(double target_x, double target_y, double slit_x, double slit_y, double x_offset, double y_offset)
DdtImageWidget::current_scale_factor
QString current_scale_factor
current_scale_factor The current used scale factor
Definition: ddtImageWidget.hpp:772
ddtGraphicalElementSlit.hpp
DdtImageWidget::SetChangedDialogParameter
void SetChangedDialogParameter(QString param_id, QVariant parameter)
DdtImageWidget::use_antialiasing
bool use_antialiasing
use_antialiasing Flag for the usage of antialiasing
Definition: ddtImageWidget.hpp:744
DdtGraphicsView::UpdateAllStatistics
void UpdateAllStatistics()
Definition: ddtImageWidget.cpp:122
DdtImageWidget::current_magnification_factor
QString current_magnification_factor
Definition: ddtImageWidget.hpp:777
DdtImageWidget::UpdateAutoScale
void UpdateAutoScale(bool new_state)
UpdateAutoScale this signal inform others about that the auto scale state changed.
DdtImageWidget::last_magnify_y
int last_magnify_y
Definition: ddtImageWidget.hpp:792
DdtImageWidget::UpdateFlipStatus
void UpdateFlipStatus(bool vertical, bool horizontal)
DdtImageWidget::UpdatedImage
void UpdatedImage(QImage *)
DdtImageWidget::UpdateScaleFactor
void UpdateScaleFactor(QString new_scale_factor)
UpdateScaleFactor this signal inform others about a new scale factor.
ddt::ImageHandling::CutLevelType
CutLevelType
Definition: imageHandling.hpp:69
ddtDataSubscriber.hpp
DdtGraphicsView::CursorPosition
void CursorPosition(double x, double y, bool mouse_clicked)
ddtGraphicsTextItem.hpp
ddtDialogIds.hpp
DdtGraphicsView::StatisticRectangle
void StatisticRectangle(double x1, double y1, double x2, double y2)
DdtImageWidget
Definition: ddtImageWidget.hpp:365
DdtGraphicsView::SetStatisticRect
void SetStatisticRect(const double x1, const double y1, const double x2, const double y2)
Definition: ddtImageWidget.cpp:84
DdtGraphicsView::GraphicalTextElement
void GraphicalTextElement(double x1, double y1, double x2, double y2, QString drawMode, QString text)
DdtGraphicsView::drawForeground
void drawForeground(QPainter *painter, const QRectF &rect)
Definition: ddtImageWidget.cpp:323
ddt::ImageHandling
Definition: imageHandling.hpp:53
DdtImageWidget::use_open_gl
bool use_open_gl
use_open_gl Flag for the usage of OpenGl
Definition: ddtImageWidget.hpp:738
DdtWidget
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:23
ddtOverlayRendering.hpp
DdtGraphicsView::SetDrawSlitLine
void SetDrawSlitLine(const bool drawLine)
Definition: ddtImageWidget.cpp:80
DdtImageWidget::list_context_menu
QString list_context_menu
list_context_menu List of context menu items
Definition: ddtImageWidget.hpp:828
DdtDialog
Definition: ddtDialog.hpp:24
DdtGraphicsView::AddStatisticRectToScene
void AddStatisticRectToScene()
Definition: ddtImageWidget.cpp:100
DdtGraphicsView::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Definition: ddtImageWidget.cpp:218
DdtGraphicsView::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition: ddtImageWidget.cpp:162
DdtImageWidget::logger
ddt::DdtLogger * logger
Definition: ddtImageWidget.hpp:652
DdtImageWidget::ScaleFactorListChanged
void ScaleFactorListChanged(QList< QString > scale_factor_list)
ScaleFactorListChanged Signal to inform other about new scale values are set.
ddtRenderingPlugin.hpp
DdtGraphicsView::AddReferenceLineElementToScene
void AddReferenceLineElementToScene()
Definition: ddtImageWidget.cpp:114
DdtImageWidget::configurationmap_directory
QString configurationmap_directory
configurationmap_directory The configurationmap directory used
Definition: ddtImageWidget.hpp:844
ddtLogger.hpp
DdtImageWidget::SetCurrentColourmap
void SetCurrentColourmap(QVector< QRgb > colourtable)
DdtGraphicsView::CalculateHistogramReferenceLine
void CalculateHistogramReferenceLine(const QPointF p1, const QPointF p2)
ddtGraphicalElementRefLine.hpp
DdtGraphicalElementProperties
Definition: ddtGraphicalElementProperties.hpp:27
ddtDataTransferFactory.hpp
DdtImageWidget::default_scale_factor
QString default_scale_factor
default_scale_factor Value of the default scale factor
Definition: ddtImageWidget.hpp:756
DdtImageWidget::CurrentCutValues
void CurrentCutValues(double cutvalue_min, double cutvalue_max, ddt::ImageHandling::CutLevelType cutvalue_type)
DdtImageWidget::MagnifiedImage
void MagnifiedImage(QImage magnified_image)
DdtGraphicsView
Definition: ddtImageWidget.hpp:51
DdtImageWidget::colourmap_directory
QString colourmap_directory
colourmap_directory The colourmap directory used
Definition: ddtImageWidget.hpp:838
ddtWidget.hpp
DdtImageWidget::default_colourmap
QString default_colourmap
default_colourmap The default colourmap
Definition: ddtImageWidget.hpp:822
ddtDatavisualisationDefines.hpp
DdtImageWidget::last_magnify_x
int last_magnify_x
Definition: ddtImageWidget.hpp:787
DdtImageWidget::CursorInfo
void CursorInfo(double x, double y, double pixelvalue, QString ra, QString decl)
imageHandling.hpp
DdtGraphicsTextItem
Definition: ddtGraphicsTextItem.hpp:23
DdtImageWidget::ContextMenuCommandSelected
void ContextMenuCommandSelected(QString menu_entry)
DdtGraphicsView::AddSlitElementToScene
void AddSlitElementToScene()
Definition: ddtImageWidget.cpp:108
DdtGraphicsView::MouseDecrementScale
void MouseDecrementScale()