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 
32 
34 
35 class DdtGraphicsView;
36 
40 typedef boost::signals2::signal<void(const std::string&)> signal_response;
41 
46 class QDESIGNER_WIDGET_EXPORT DdtImageWidget : public DdtWidget {
47  Q_OBJECT
48 
49  Q_PROPERTY(bool UseOpenGL READ get_use_open_gl WRITE set_use_open_gl)
50  Q_PROPERTY(
51  bool UseAntialiasing READ get_use_antialiasing WRITE set_use_antialiasing)
52  Q_PROPERTY(bool AutoScale READ get_auto_scale WRITE set_auto_scale)
53  Q_PROPERTY(QString DefaultScale READ get_default_scale_factor WRITE
54  set_default_scale_factor)
55  Q_PROPERTY(QString ScaleFactorList READ get_define_scale_factor WRITE
56  set_define_scale_factor)
57  Q_PROPERTY(QString DefaultColourmap READ get_default_colourmap WRITE
58  set_default_colourmap)
59  Q_PROPERTY(QString ListContextMenu READ get_list_context_menu WRITE
60  set_list_context_menu)
61  Q_PROPERTY(QString DefautBiasImage READ get_default_bias_image WRITE
62  set_default_bias_image)
63  Q_PROPERTY(
64  bool ShowScrollbars READ get_show_scrollbars WRITE set_show_scrollbars)
65 
66  public:
68  // Constructors / Destructors
69  //
70 
75  explicit DdtImageWidget(QWidget* parent = nullptr);
76 
80  virtual ~DdtImageWidget();
81 
87  void ProcessRemoteCommand(const std::string& command_name,
88  const std::vector<std::string>& command_arguments);
89 
94  void InitializeDialogMap(const QMap<QString, DdtDialog*> insert_map);
95 
101  QString FetchDialogName(const QString dialog_id) const;
102 
107 
109  // Getters and Setters for properties
110  //
111 
116  bool get_use_open_gl() const;
117 
122  void set_use_open_gl(const bool open_gl);
123 
128  bool get_use_antialiasing() const;
129 
134  void set_use_antialiasing(const bool antialiasing);
135 
140  bool get_auto_scale() const;
141 
146  void set_auto_scale(const bool scale);
147 
154  void ReadScaleFactors();
155 
161  QList<QString> SortedScaleFactors(QMap<QString, float> scale_map);
162 
170  QString get_define_scale_factor() const;
171 
178  void set_define_scale_factor(const QString new_values);
179 
184  QString get_default_scale_factor() const;
185 
190  void set_default_scale_factor(const QString new_default_scale_factor);
191 
196  QString get_default_colourmap() const;
197 
202  void set_default_colourmap(const QString new_default_colourmap);
203 
208  void set_list_context_menu(const QString new_list_context_menu);
209 
214  QString get_list_context_menu() const;
215 
220  QString get_default_bias_image() const;
221 
226  void set_default_bias_image(const QString set_bias_image);
227 
232  bool get_show_scrollbars() const;
233 
238  void set_show_scrollbars(const bool set_show_scrollbars);
239 
241  // Graphical Elements
242  //
243 
248  DdtGraphicalElementProperties get_overlay_properties();
249 
255  DdtGraphicalOverlay* get_graphical_overlay();
256 
260  void RedrawOverlay();
261 
263  // Further getters and setters
264  //
265 
270  void set_logger(ddt::DdtLogger* const in_logger);
271 
273  // Utility functions
274  //
275 
282  float ParseFractionString(QString fraction_str);
283 
291  void ConvertCanvasToImage(const double x_canvas, const double y_canvas,
292  double* const x_image, double* const y_image) const;
293 
301  void ConvertImageToCanvas(const double x_image, const double y_image,
302  double* const x_canvas,
303  double* const y_canvas) const;
304 
306  // Event handling
307  //
308 
315  bool eventFilter(QObject* obj, QEvent* event);
316 
321  void HandleNewBoostDataEvent();
322 
326  void CutLevelChanged();
327 
331  void ReloadGraphicsItem();
332 
337  void UpdateThumbnailImages();
338 
342  void UpdateAllStatistics();
343 
348  void CloseAllDialogs();
349 
355  void MarkPositions();
356 
361  QString EndMarkPositions();
362 
367  void RegisterLastSegmentCallback(
368  std::function<void()> const& lastSegmentFunction);
369 
373  void SetOverlayImageFile(const QString overlay_file);
374 
378  void AddRenderingPlugins(DdtRenderingPlugin* const new_plugin);
379 
384  void SetActiveRenderingPlugin(const int rendering_plugin_id);
385 
389  void ActivateTimestampDisplay();
390 
391  protected:
393  // Logger
398 
400  // Graphics Library
401 
406 
411 
412  private:
414  // Private members
415  //
416 
417  // Data Stream access
418  QString current_stream_id;
419  boost::signals2::connection connection;
420  boost::signals2::connection connection_cutlevel;
421 
422  // Data file access
423  QString last_image_path;
424  QString last_selected_file;
425 
426  // Image display
427  DdtGraphicsView* view;
428  QGraphicsScene* scene;
429  QGraphicsItem* current_image_item;
430 
431  ddt::ImageHandling* imgHandling;
432 
433  int current_image_width;
434  int current_image_height;
435 
436  // Pick mode
437  PickMode current_pick_mode;
438  int current_pick_pixels_size;
439  int current_pick_object_no_samples;
440  int last_pick_x;
441  int last_pick_y;
442 
443  // Tabular region
444  int current_tab_region_x_size;
445  int current_tab_region_y_size;
446 
447  // Flags
448  bool scrollbar_moved_externally;
449 
450  bool current_flip_state_vertical;
451  bool current_flip_state_horizontal;
452 
453  bool defaults_set;
454 
455  bool display_timestamp;
456 
457  // Rendering plugins
458  QList<DdtRenderingPlugin*> rendering_plugins;
459  int active_rendering_plugin_index;
460 
461  // Maps for access to dialogs
462  QMap<QString, DdtDialog*> dialog_map;
463  QMap<QString, bool> dialog_init_map;
464  QMap<QString, QString> dialogname_map;
465 
466  // Context menu
467  QStringList context_menu_entries;
468 
469  // Set of image points selected by user
470  QList<QPointF> point_list;
471  bool mark_position_mode;
472 
473  // Last segment callback
474  std::function<void()> last_segment_callback;
475 
476  // Constants
477  const int CLOCKWISE = 90;
478  const int ANTICLOCKWISE = -90;
479  const int NUM_ARGS_REMOTE_ATTACH = 2;
480 
481  protected:
483  // Protected members
484  //
485 
487  // Image Widget Properties
488  //
489 
495 
501 
507 
513 
520 
525 
530 
536 
541 
546 
551 
556 
561 
568  QMap<QString, float> scale_factor_pool;
569 
576  QMap<QString, float> scale_factor_favorites;
577 
585 
591 
597 
599  // Configuration items
600  //
601 
607 
613 
615  // Image handling
616  //
617 
621  QTransform scaling_transform;
622 
626  QTransform rotation_transform;
627 
633  void resizeEvent(QResizeEvent* event);
634 
638  void RemoveAllItemsFromScene();
639 
643  void RemoveAllOverlayItemsFromScene();
644 
651  void GraphicsControlCheckTaggedItems(DdtGraphicalOverlay* overlay,
652  QString tag, bool flag);
653 
654  protected:
656  // Image statistics
657  //
658 
669  void CalculatePickStatistics(PickMode pick_mode, double x, double y,
670  double pixelvalue, QString ra, QString decl);
671 
678  void GetTabularRegion(const double x_image, const double y_image);
679 
680  private:
682  // Private Methods
683  //
684  void HandleImage();
685 
686  bool CheckMemAvailability(const QString filename,
687  const int extensionNumber) const;
688  bool CheckMemAvailabilityImageExtensions(const QString filename) const;
689  void GetDimensionInfo(const cpl_propertylist* const property_list,
690  int* const number_axis, int* const image_width,
691  int* const image_height, int* const bytePix) const;
692  void ReadMemoryInfo(qint64* const mem_total, qint64* const mem_available,
693  qint64* const swap_free) const;
694 
695  bool LoadExtension(const QString filename) const;
696 
697  // Remote commands
698  void RemoteAttach(const QStringList args);
699  void RemoteDetach();
700  void RemoteRotate(const QStringList args);
701  void RemoteFlip(const QStringList args);
702  void RemoteZoom(const QStringList args);
703  void RemoteScale(const QStringList args);
704  void RemotePointSelection();
705  void RemoteStatistics();
706  void RemoteTabularRegion();
707  void RemoteScaleRotateCut();
708  void RemoteSlit();
709  void RemotePick();
710  void RemoteLoad(const QStringList args);
711  void RemoteDistance();
712 
713  bool Xor(const bool state_a, const bool state_b) const;
714 
715  // Widget setup
716  void Initialize();
717  void CreateWidget();
718  void SetDefaultSettings();
719  void SetDefaultColourmapSettings();
720  void SetDefaultConfigurationmapSettings();
721  void SetDefaultBiasImageSettings();
722 
723  // Context Menu and Dialogs
724  void InitializeContextMenu();
725  void InitializeDialogNames();
726  QStringList AddDefaultContextMenuEntries() const;
727 
728  // File access
729  void BrowseForFile();
730  void BrowseForFileExt();
731  void SaveAsFile();
732 
733  // Colourmap handling
734  void UpdateColourmap();
735 
736  // FITS Header updates
737  void UpdateFitsHeaderDialog();
738 
739  // Update image
740  void UpdateImage(const QImage* const image);
741 
742  // Update current plane
743  void UpdateCurrentPlane();
744 
745  // BIAS handling
746  void StoreCurrentImage(const int dest_slot);
747  void DisplaySelected(const QVariant parameter);
748  void LoadFromDisc(const QVariant parameter);
749 
750  // PVCM handling
751  void SendCutValuesAndHistogram();
752 
753  // Cut values handling
754  void HandleCutValuesParameter(const QString parameter_id,
755  const QVariant parameter,
756  const QString dialog_id);
757  // HDU handling
758  void CheckHDUs();
759 
760  // Binary Table handling
761  void CheckBinaryTable(const QString extensionName);
762  void FillTable(cpl_table* const table, const cpl_array* const column_names,
763  int* const ncol, int* const nrow, const QString extensionName);
764  void FillSingleTable(cpl_table* const table, const char* const col_name,
765  QList<QVariant>& singleTable,
766  QList<QVariant>& singleColNames, const int rows,
767  int* const numVals, int* const cols) const;
768  void FillSingleTableString(cpl_table* const table, const char* const col_name,
769  QList<QVariant>& singleTable,
770  const int rows) const;
771  void FillSingleTableInt(cpl_table* const table, const char* const col_name,
772  QList<QVariant>& singleTable, const int rows) const;
773  void FillSingleTableIntArr(cpl_table* const table, const char* const col_name,
774  QList<QVariant>& singleTable, const int rows,
775  int* const numVals) const;
776  void FillSingleTableFloat(cpl_table* const table, const char* const col_name,
777  QList<QVariant>& singleTable, const int rows) const;
778  void FillSingleTableFloatArr(cpl_table* const table,
779  const char* const col_name,
780  QList<QVariant>& singleTable, const int rows,
781  int* const numVals) const;
782  void FillSingleTableDouble(cpl_table* const table, const char* const col_name,
783  QList<QVariant>& singleTable,
784  const int rows) const;
785  void FillSingleTableDoubleArr(cpl_table* const table,
786  const char* const col_name,
787  QList<QVariant>& singleTable, const int rows,
788  int* const numVals) const;
789 
790  void SetFitsTableParameter(const int tableNumber, const int rows,
791  const int cols, const QList<QVariant> singleTable,
792  const QList<QVariant> singleColNames);
793 
794  // Statistic handling
795  void AdjustMagnificationWidgets(const double x, const double y);
796 
797  // Get coordinates of visible rectangle
798  // The returned coordinates represent the lower left and upper right corners
799  // of the visible rectangle, converted into image coordinates
800  // coords[0] = lower left x coordinate
801  // coords[1] = lower left y coordinate
802  // coords[2] = upper right x coordinate
803  // coords[3] = upper right y coordinate
804  void GetVisibleRectCoordinates(QVector<double>& coords) const;
805 
806  protected:
808  // Protected Methods
809  //
810 
811  // Widget interface
812 
813  // Magnification widget
814 
822  void MagnifyImage(int x, int y, const bool pick_mode = false);
823 
827  void MagnifyImageWithFactor(const QString mag_factor_str,
828  const int mag_fact_index, const int x,
829  const int y);
830 
831  // Dialog interfaces
837  void SetInitialDialogParameters(DdtDialog* dialog, const QString dialog_id);
843  void SetInitialDialogParametersColourmapDialog(DdtDialog* dialog,
844  const QString dialog_id);
850  void SetInitialDialogParametersPickObjectDialog(DdtDialog* dialog,
851  const QString dialog_id);
852 
858  void SetInitialDialogParametersMagnificationDialog(DdtDialog* dialog,
859  const QString dialog_id);
865  void SetInitialDialogParametersFITSHeaderDialog(DdtDialog* dialog,
866  const QString dialog_id);
867 
873  void SetInitialDialogParametersHDUDialog(DdtDialog* dialog,
874  const QString dialog_id);
875 
881  void SetInitialDialogParametersTabularRegionDialog(DdtDialog* dialog,
882  const QString dialog_id);
883 
889  void SetInitialDialogParametersGraphicalDialog(DdtDialog* dialog,
890  const QString dialog_id);
896  void SetInitialDialogParametersGraphicsControl(DdtDialog* dialog,
897  const QString dialog_id);
898 
904  void SetInitialDialogParametersCutValuesDialog(DdtDialog* dialog,
905  const QString dialog_id);
906 
912  void SetInitialDialogParametersBiasDialog(DdtDialog* dialog,
913  const QString dialog_id);
914 
920  void SetInitialDialogParametersScaleRotateCutValuesDialog(
921  DdtDialog* dialog, const QString dialog_id);
922 
928  void SetInitialDialogParametersStatisticDialog(DdtDialog* dialog,
929  const QString dialog_id);
930 
936  void SetInitialDialogParametersPVCMDialog(DdtDialog* dialog,
937  const QString dialog_id);
938 
944  void SetInitialDialogParametersReferenceLineDialog(DdtDialog* dialog,
945  const QString dialog_id);
946 
952  void SetInitialDialogParametersDataStreamDialog(DdtDialog* dialog,
953  const QString dialog_id);
954 
960  void SetInitialDialogParametersDistanceDialog(DdtDialog* dialog,
961  const QString dialog_id);
962 
968  void SetInitialDialogParametersFITSTableDialog(DdtDialog* dialog,
969  const QString dialog_id);
970 
976  void DialogParameterChangedColourmapDialog(const QString parameter_id,
977  const QVariant parameter);
984  void DialogParameterChangedPickObject(const QString parameter_id,
985  const QVariant parameter);
986 
993  void DialogParameterChangedMagnification(const QString parameter_id,
994  const QVariant parameter);
995 
1002  void DialogParameterChangedTabularRegion(const QString parameter_id,
1003  const QVariant parameter);
1004 
1011  void DialogParameterChangedGraphicalElements(const QString parameter_id,
1012  const QVariant parameter);
1019  void DialogParameterChangedGraphicsControl(const QString parameter_id,
1020  const QVariant parameter);
1021 
1027  void DialogParameterChangedCutValues(const QString parameter_id,
1028  const QVariant parameter);
1029 
1036  void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1037  const QVariant parameter);
1038 
1044  void DialogParameterChangedBias(const QString parameter_id,
1045  const QVariant parameter);
1046 
1052  void DialogParameterChangedStatistic(const QString parameter_id,
1053  const QVariant parameter);
1054 
1060  void DialogParameterChangedSlit(const QString parameter_id,
1061  const QVariant parameter);
1062 
1068  void DialogParameterChangedPVCM(const QString parameter_id,
1069  const QVariant parameter);
1070 
1077  void DialogParameterChangedReferenceLine(const QString parameter_id,
1078  const QVariant parameter);
1079 
1086  void DialogParameterChangedDataStream(const QString parameter_id,
1087  const QVariant parameter);
1088 
1095  void DialogParameterChangedHDU(const QString parameter_id,
1096  const QVariant parameter);
1097 
1103  void DialogParameterChangedDistance(const QString parameter_id,
1104  const QVariant parameter);
1105 
1106  public slots:
1108  // Public slots
1109  //
1110 
1112  // Dialog interface
1113  //
1114 
1121  void DialogParameterChanged(const QString dialog_id,
1122  const QString parameter_id,
1123  const QVariant parameter);
1124 
1126  // Data Stream Widget interface
1127  //
1128 
1134  void AttachDataStream(const QString data_stream_id);
1135 
1140  void DetachDataStream(const QString data_stream_id);
1141 
1149  bool AttachDataFile(QString filename, const bool open_single = false);
1150 
1156  void AttachImageExtensionsAsOne(QString filename);
1157 
1161  void CheckInvalidImageHDUs() const;
1162 
1167  void SetImageScale(const QString image_scale);
1168 
1173  void SetNoWaitNewData(const bool no_wait_flag);
1174 
1176  // Flip Rotate Widget interface
1177  //
1178 
1187  void FlipImage(bool vertical_axis, bool horizontal_axis);
1188 
1193  void RotateImage(int rotation_angle);
1194 
1196  // Panning Widget interface
1197  //
1198 
1206  void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y);
1207 
1208  // Scale Buttons Widget interface
1213  void IncrementScale();
1214 
1219  void DecrementScale();
1220 
1225  void SetToDefaultScale();
1226 
1232  void SelectNewScale(QString next_scale);
1233 
1237  void ScaleFactorForNewImage();
1238 
1244  QString FindAutoScale();
1245 
1251  void IncrementLayer(const int inc);
1252 
1258  void DecrementLayer(const int dec);
1259 
1260  // Graphical Elements Dialog
1261 
1270  void GraphicalElement(double x1, double y1, double x2, double y2,
1271  const QString draw_mode);
1272 
1273  void GraphicalTextElement(double x1, double y1, double x2, double y2,
1274  const QString draw_mode, QString text);
1275 
1276  // Statistics Dialog
1277 
1286  void StatisticRectangle(const double x1, const double y1, const double x2,
1287  const double y2);
1288 
1289  // Slit Dialog
1290 
1300  void SlitElement(const double target_x, const double target_y,
1301  const double slit_x, const double slit_y,
1302  const double x_offset, const double y_offset);
1303 
1304  // Reference Line Dialog
1305  void CalculateHistogramReferenceLine(QPointF p1, QPointF p2);
1306 
1307  // Distance Dialog
1308  void CalculateDistanceLine(QPointF p1, QPointF p2);
1309 
1311  // Magnification Widget interface
1312  //
1319  void SetMagnificationFactor(const QString magnification_factor);
1320 
1322  // Cursor Information Widget interface
1323  //
1324 
1332  void CursorPosition(double x, double y, bool mouse_clicked);
1333 
1335  // Cut Values Widget interface
1336  //
1337 
1343  void SetCutValues(const double low, const double high);
1344 
1348  void SetAutoCuts();
1349 
1353  void SetMinMaxCuts();
1354 
1356  // Internal slots
1357  //
1358 
1362  void DetachStream();
1363 
1367  void HandleNewDataEvent();
1368 
1374  void SetAutoScaleState(const bool new_auto_scale_state);
1375 
1376  private slots:
1378  // Private slots
1379  //
1380 
1381  // Loading rendering plugins
1382  void LoadRenderingPlugins();
1383 
1384  // Scrollbar handling
1385  void ScrollBarMoved(int pos);
1386  void ScrollBarRangeChanged(int min, int max);
1387 
1388  // Context menu related
1389  void DisplayContextMenu(const QPoint& pos);
1390  void ExecuteContextMenuCommand(const QString command);
1391 
1392  signals:
1393 
1395  // Signals
1396  //
1397 
1399  // Dialogs
1400  //
1401 
1408  void SetChangedDialogParameter(QString param_id, QVariant parameter);
1409 
1411  // Panning Widget interface
1412  //
1413 
1422  void UpdatedImage(const QImage* const image, const QTransform& transform,
1423  const bool show_axes, const double rotation);
1424 
1433  void ImageWidgetViewChanged(QRectF visible_image_rect,
1434  int current_image_width,
1435  int current_image_height);
1436 
1441 
1443  // Cursor Information Widget Interface
1444  //
1445 
1455  void CursorInfo(double x, double y, double pixelvalue, QString ra,
1456  QString decl);
1457 
1459  // Flip Rotate Widget Interface
1460  //
1466  void UpdateFlipStatus(bool vertical, bool horizontal);
1467 
1471  void Swap();
1472 
1474  // Magnification Widget interface
1475  //
1476 
1477  void MagnifiedImage(QImage magnified_image);
1478 
1480  // Cube Navigation Widget Interface
1481  //
1488  void CurrentLayer(const int current_layer, const int total_layers);
1489 
1491  // Cut Values Widget interface
1492  //
1493 
1499  void CurrentCutValues(double cutvalue_min, double cutvalue_max);
1500 
1502  // Colourmap Widget interface
1503  //
1504 
1509  void SetCurrentColourmap(QVector<QRgb> colourtable);
1510 
1518  void UpdateColourbarAxis(double min_value, double max_value,
1519  int scaling_function);
1520 
1522  // Data Stream Widget
1523  //
1524 
1531  void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status);
1532 
1534  // Image Widget interface - internal slots
1535  //
1536 
1540  void ContextMenuCommandSelected(QString menu_entry);
1541 
1543  // Image Scale Widget interface
1544  //
1545 
1551  void ScaleFactorListChanged(QList<QString> scale_factor_list);
1552 
1558  void UpdateScaleFactor(QString new_scale_factor);
1559 
1566  void UpdateAutoScale(bool new_state);
1567 };
1568 
1569 #endif // DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
DdtImageWidget::current_pick_object_magnification_factor
QString current_pick_object_magnification_factor
Definition: ddtImageWidget.hpp:545
ConnectionStatus
ConnectionStatus
Definition: ddtDatavisualisationDefines.hpp:49
signal_response
boost::signals2::signal< void(const std::string &)> signal_response
Definition: ddtImageWidget.hpp:35
DdtGraphicalOverlay
Definition: ddtGraphicalOverlay.hpp:29
DdtOverlayRendering
Definition: ddtOverlayRendering.hpp:28
ddtGraphicsView.hpp
DdtImageWidget::current_dialog_magnification_factor
QString current_dialog_magnification_factor
Definition: ddtImageWidget.hpp:550
DdtImageWidget::show_scrollbars
bool show_scrollbars
Definition: ddtImageWidget.hpp:529
DdtImageWidget::response_signal
signal_response response_signal
Definition: ddtImageWidget.hpp:106
DdtImageWidget::rotation_transform
QTransform rotation_transform
Definition: ddtImageWidget.hpp:626
DdtImageWidget::auto_scale
bool auto_scale
auto_scale Flag for the usage of automatic scaling of new images
Definition: ddtImageWidget.hpp:506
DdtImageWidget::CurrentConnectStatus
void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status)
ddt::DdtLogger
Definition: ddtLogger.hpp:48
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:584
DdtImageWidget::NewBoostDataEvent
void NewBoostDataEvent()
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:568
DdtImageWidget::overlay_rendering
DdtOverlayRendering * overlay_rendering
Definition: ddtImageWidget.hpp:405
DdtImageWidget::scaling_transform
QTransform scaling_transform
Definition: ddtImageWidget.hpp:621
PickMode
PickMode
Definition: ddtDatavisualisationDefines.hpp:22
pyDdtViewer.args
argparse.ArgumentParser args
Definition: pyDdtViewer.py:364
DdtImageWidget::default_bias_image
QString default_bias_image
Definition: ddtImageWidget.hpp:524
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:576
DdtImageWidget::overlay_properties
DdtGraphicalElementProperties overlay_properties
Definition: ddtImageWidget.hpp:410
DdtImageWidget::current_scale_factor
QString current_scale_factor
current_scale_factor The current used scale factor
Definition: ddtImageWidget.hpp:535
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:500
DdtImageWidget::current_magnification_factor
QString current_magnification_factor
Definition: ddtImageWidget.hpp:540
DdtImageWidget::UpdateAutoScale
void UpdateAutoScale(bool new_state)
UpdateAutoScale this signal inform others about that the auto scale state changed.
DdtImageWidget::CurrentCutValues
void CurrentCutValues(double cutvalue_min, double cutvalue_max)
DdtImageWidget::last_magnify_y
int last_magnify_y
Definition: ddtImageWidget.hpp:560
DdtImageWidget::UpdateFlipStatus
void UpdateFlipStatus(bool vertical, bool horizontal)
DdtImageWidget::no_wait_new_data
bool no_wait_new_data
no_wait_new_data flag Flag indicating that the content of the data stream is displayed without waitin...
Definition: ddtImageWidget.hpp:519
DdtImageWidget::UpdateScaleFactor
void UpdateScaleFactor(QString new_scale_factor)
UpdateScaleFactor this signal inform others about a new scale factor.
ddtDataSubscriber.hpp
DdtRenderingPlugin
Definition: ddtRenderingPlugin.hpp:38
DdtImageWidget
Definition: ddtImageWidget.hpp:46
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:494
DdtImageWidget::Swap
void Swap()
DdtWidget
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:23
DdtImageWidget::CurrentLayer
void CurrentLayer(const int current_layer, const int total_layers)
DdtImageWidget::list_context_menu
QString list_context_menu
list_context_menu List of context menu items
Definition: ddtImageWidget.hpp:596
DdtDialog
Definition: ddtDialog.hpp:24
DdtImageWidget::UpdatedImage
void UpdatedImage(const QImage *const image, const QTransform &transform, const bool show_axes, const double rotation)
DdtImageWidget::logger
ddt::DdtLogger * logger
Definition: ddtImageWidget.hpp:397
DdtImageWidget::ScaleFactorListChanged
void ScaleFactorListChanged(QList< QString > scale_factor_list)
ScaleFactorListChanged Signal to inform other about new scale values are set.
DdtImageWidget::configurationmap_directory
QString configurationmap_directory
configurationmap_directory The configurationmap directory used
Definition: ddtImageWidget.hpp:612
DdtImageWidget::SetCurrentColourmap
void SetCurrentColourmap(QVector< QRgb > colourtable)
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:512
DdtImageWidget::MagnifiedImage
void MagnifiedImage(QImage magnified_image)
DdtGraphicsView
Definition: ddtGraphicsView.hpp:77
DdtImageWidget::colourmap_directory
QString colourmap_directory
colourmap_directory The colourmap directory used
Definition: ddtImageWidget.hpp:606
ddtWidget.hpp
DdtImageWidget::default_colourmap
QString default_colourmap
default_colourmap The default colourmap
Definition: ddtImageWidget.hpp:590
ddtDatavisualisationDefines.hpp
DdtImageWidget::last_magnify_x
int last_magnify_x
Definition: ddtImageWidget.hpp:555
DdtImageWidget::CursorInfo
void CursorInfo(double x, double y, double pixelvalue, QString ra, QString decl)
DdtImageWidget::ContextMenuCommandSelected
void ContextMenuCommandSelected(QString menu_entry)