ddt 1.1.0
Loading...
Searching...
No Matches
ddtImageWidget.hpp
Go to the documentation of this file.
1
20#ifndef DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
21#define DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
22
23#define BOOST_BIND_GLOBAL_PLACEHOLDERS
24
25#include <boost/bind.hpp>
26#include <boost/property_tree/json_parser.hpp>
27#include <boost/property_tree/ptree.hpp>
28#include <boost/signals2/signal.hpp>
29
30// Subscriber Library
31#include <QList>
32#include <QtUiPlugin/QDesignerExportWidget>
33#include <QtWidgets>
34
40
41class DdtGraphicsView;
42
46typedef boost::signals2::signal<void(const std::string&)> signal_response;
47
52class QDESIGNER_WIDGET_EXPORT DdtImageWidget : public DdtWidget {
53 Q_OBJECT
54
55 Q_PROPERTY(bool UseOpenGL READ get_use_open_gl WRITE set_use_open_gl)
56 Q_PROPERTY(
57 bool UseAntialiasing READ get_use_antialiasing WRITE set_use_antialiasing)
58 Q_PROPERTY(bool AutoScale READ get_auto_scale WRITE set_auto_scale)
59 Q_PROPERTY(QString DefaultScale READ get_default_scale_factor WRITE
60 set_default_scale_factor)
61 Q_PROPERTY(QString ScaleFactorList READ get_define_scale_factor WRITE
62 set_define_scale_factor)
63 Q_PROPERTY(QString DefaultColourmap READ get_default_colourmap WRITE
64 set_default_colourmap)
65 Q_PROPERTY(QString ListContextMenu READ get_list_context_menu WRITE
66 set_list_context_menu)
67 Q_PROPERTY(QString ListDialogsMenu READ get_list_dialogs_menu WRITE
68 set_list_dialogs_menu)
69 Q_PROPERTY(QString DefautBiasImage READ get_default_bias_image WRITE
70 set_default_bias_image)
71 Q_PROPERTY(
72 bool ShowScrollbars READ get_show_scrollbars WRITE set_show_scrollbars)
73
74 public:
76 // Constructors / Destructors
77 //
78
83 explicit DdtImageWidget(QWidget* parent = nullptr);
84
88 virtual ~DdtImageWidget();
89
93 DdtOverlayRendering* GetOverlayRendering();
94
100 void ProcessRemoteCommand(const std::string& command_name,
101 const std::vector<std::string>& command_arguments);
102
107 void InitializeDialogMap(const QMap<QString, DdtDialog*> insert_map);
108
114 QString FetchDialogName(const QString dialog_id) const;
115
120
122 // Getters and Setters for properties
123 //
124
129 bool get_use_open_gl() const;
130
135 void set_use_open_gl(const bool open_gl);
136
141 bool get_use_antialiasing() const;
142
147 void set_use_antialiasing(const bool antialiasing);
148
153 bool get_auto_scale() const;
154
159 void set_auto_scale(const bool scale);
160
167 void ReadScaleFactors();
168
174 QList<QString> SortedScaleFactors(QMap<QString, float> scale_map);
175
183 QString get_define_scale_factor() const;
184
191 void set_define_scale_factor(const QString new_values);
192
197 QString get_default_scale_factor() const;
198
203 void set_default_scale_factor(const QString new_default_scale_factor);
204
209 QString get_default_colourmap() const;
210
215 void set_default_colourmap(const QString new_default_colourmap);
216
221 void set_list_context_menu(const QString new_list_context_menu);
222
227 QString get_list_context_menu() const;
228
233 void set_list_dialogs_menu(const QString new_list_dialogs_menu);
234
239 QString get_list_dialogs_menu() const;
240
245 QString get_default_bias_image() const;
246
251 void set_default_bias_image(const QString set_bias_image);
252
257 bool get_show_scrollbars() const;
258
263 void set_show_scrollbars(const bool set_show_scrollbars);
264
266 // Graphical Elements
267 //
268
273 DdtGraphicalElementProperties get_overlay_properties();
274
280 DdtGraphicalOverlay* get_graphical_overlay();
281
285 void RedrawOverlay();
286
288 // Further getters and setters
289 //
290
295 void set_logger(ddt::DdtLogger* const in_logger);
296
298 // Utility functions
299 //
300
307 float ParseFractionString(QString fraction_str);
308
316 void ConvertCanvasToImage(const double x_canvas, const double y_canvas,
317 double* const x_image, double* const y_image) const;
318
326 void ConvertImageToCanvas(const double x_image, const double y_image,
327 double* const x_canvas,
328 double* const y_canvas) const;
329
331 // Event handling
332 //
333
340 bool eventFilter(QObject* obj, QEvent* event);
341
346 void HandleNewBoostDataEvent();
347
351 void CutLevelChanged();
352
356 void ReloadGraphicsItem();
357
362 void UpdateThumbnailImages();
363
367 void UpdateAllStatistics();
368
373 void CloseAllDialogs();
374
380 void MarkPositions();
381
386 QString EndMarkPositions();
387
392 void RegisterLastSegmentCallback(
393 std::function<void()> const& LastSegmentFunction);
394
398 void SetOverlayImageFile(const QString overlay_file);
399
403 void AddRenderingPlugins(DdtRenderingPlugin* const new_plugin);
404
409 void SetActiveRenderingPlugin(const int rendering_plugin_id);
410
414 void ActivateTimestampDisplay();
415
416 protected:
418 // Logger
423
425 // Graphics Library
426
431
436
437 private:
439 // Private members
440 //
441
442 // Data Stream access
443 QString current_stream_id;
444 QString last_stream_id;
445 boost::signals2::connection connection;
446 boost::signals2::connection connection_cutlevel;
447
448 // Data file access
449 QString last_image_path;
450 QString last_selected_file;
451 int current_extension;
452 std::atomic<bool> overlay_file_loaded;
453
454 // Image display
455 DdtGraphicsView* view;
456 QGraphicsScene* scene;
457 QGraphicsItem* current_image_item;
458
459 ddt::ImageHandling* img_handling;
460
461 int current_image_width;
462 int current_image_height;
463
464 std::atomic<bool> image_cleared;
465
466 // Pick mode
467 PickMode current_pick_mode;
468 bool show_pick_marker;
469 int current_pick_pixels_size;
470 int current_pick_object_no_samples;
471 int last_pick_x;
472 int last_pick_y;
473 std::atomic<bool> datastream_pick;
474 double datastream_picked_x;
475 double datastream_picked_y;
476
477 // Tabular region
478 int current_tab_region_x_size;
479 int current_tab_region_y_size;
480
481 // Pixel vs Colourmap
482 std::atomic<PvcmParameters> pvcm_param;
483
484 // Flags
485 bool scrollbar_moved_externally;
486
487 bool current_flip_state_vertical;
488 bool current_flip_state_horizontal;
489
490 bool defaults_set;
491
492 bool display_timestamp;
493
494 // Rendering plugins
495 QList<DdtRenderingPlugin*> rendering_plugins;
496 int active_rendering_plugin_index;
497
498 // Maps for access to dialogs
499 QMap<QString, DdtDialog*> dialog_map;
500 QMap<QString, bool> dialog_init_map;
501 QMap<QString, QString> dialogname_map;
502
503 // Context menu
504 QStringList context_menu_entries;
505 QString static_overlay_entry;
506
507 // Set of image points selected by user
508 QList<QPointF> point_list;
509 bool mark_position_mode;
510
511 // Last segment callback
512 std::function<void()> last_segment_callback;
513
514 // Constants
515 const int CLOCKWISE = 90;
516 const int ANTICLOCKWISE = -90;
517 const int NUM_ARGS_REMOTE_ATTACH = 2;
518
519 protected:
521 // Protected members
522 //
523
525 // Image Widget Properties
526 //
527
533
539
545
551
558
563
568
574
580
586
591
596
601
606
611
618 QMap<QString, float> scale_factor_pool;
619
626 QMap<QString, float> scale_factor_favorites;
627
635
641
647
653
655 // Configuration items
656 //
657
663
669
671 // Image handling
672 //
673
678
683
689 void resizeEvent(QResizeEvent* event);
690
694 void RemoveAllItemsFromScene();
695
699 void RemoveAllOverlayItemsFromScene();
700
707 void GraphicsControlCheckTaggedItems(DdtGraphicalOverlay* overlay,
708 QString tag, bool flag);
709
710 protected:
712 // Image statistics
713 //
714
725 void CalculatePickStatistics(PickMode pick_mode, double x, double y,
726 double pixelvalue, QString ra, QString decl);
727
734 void GetTabularRegion(const double x_image, const double y_image);
735
736 private:
738 // Private Methods
739 //
740 void HandleImage();
741
742 void setCacheMode(DdtImageGraphicsItem* const item) const;
743
744 bool CheckMemAvailability(const QString filename,
745 const int extension_number) const;
746 bool CheckMemAvailabilityImageExtensions(const QString filename) const;
747 void GetDimensionInfo(const cpl_propertylist* const property_list,
748 int* const number_axis, int* const image_width,
749 int* const image_height, int* const byte_pix) const;
750 void ReadMemoryInfo(qint64* const mem_total, qint64* const mem_available,
751 qint64* const swap_free) const;
752
753 bool LoadExtension(const QString filename, int& extension_number);
754
755 void UpdatePick();
756 void StoreDataStreamPick();
757 double ConsiderFlipState(double angle) const;
758 bool CheckIfPickInactive() const;
759 void UpdatePVCMDialog();
760 void UpdatePVCMDialogMinMax();
761 void UpdatePVCMDialogAutoCuts();
762 void UpdatePVCMDialogCutValues();
763 void UpdatePVCMDialogPercent();
764
765 // Remote commands
766 void RemoteAttach(const QStringList args);
767 void RemoteDetach();
768 void RemoteRotate(const QStringList args);
769 void RemoteFlip(const QStringList args);
770 void RemoteZoom(const QStringList args);
771 void RemoteScale(const QStringList args);
772 void RemotePointSelection();
773 void RemoteStatistics();
774 void RemoteTabularRegion();
775 void RemoteScaleRotateCut();
776 void RemoteSlit();
777 void RemotePick();
778 void RemoteLoad(const QStringList args);
779 void RemoteDistance();
780 void RemoteOverlay(const QStringList args);
781
782 bool Xor(const bool state_a, const bool state_b) const;
783
784 // Widget setup
785 void Initialize();
786 void CreateWidget();
787 void SetDefaultSettings();
788 void SetDefaultColourmapSettings();
789 void SetDefaultConfigurationmapSettings();
790 void SetDefaultBiasImageSettings();
791
792 // Context Menu and Dialogs
793 void InitializeContextMenu();
794 void InitializeDialogNames();
795 QStringList AddDefaultContextMenuEntries() const;
796 QStringList AddDefaultDialogsNameEntries() const;
797 void ExecuteDialog(const QString dialog_id);
798 QMenu* ComposeDialogsContextMenu(const QString menu_title);
799
800 // File access
801 void BrowseForFile();
802 void BrowseForFileExt();
803 void SaveAsFile();
804 void ResetDialogs();
805 void ClearImage();
806 void StaticOverlay();
807
808 // Colourmap handling
809 void UpdateColourmap();
810
811 // FITS Header updates
812 void UpdateFitsHeaderDialog();
813
814 // Update all Monitor Samples dialog widgets values
815 void UpdateMonitorSamplesDialog();
816
817 // Metadata Sample updates
818 void UpdateMetadataSampleDialog();
819
820 // Update image
821 void UpdateImage(const QImage* const image);
822
823 // Update current plane
824 void UpdateCurrentPlane();
825
826 // BIAS handling
827 void StoreCurrentImage(const int dest_slot);
828 void DisplaySelected(const QVariant parameter);
829 void LoadFromDisc(const QVariant parameter);
830
831 // PVCM handling
832 void SendCutValuesAndHistogram();
833
834 // Cut values handling
835 void HandleCutValuesParameter(const QString parameter_id,
836 const QVariant parameter,
837 const QString dialog_id);
838 // HDU handling
839 void CheckHDUs();
840
841 // Binary Table handling
842 void CheckBinaryTable(const QString extension_name);
843 void FillTable(cpl_table* const table, const cpl_array* const column_names,
844 int* const ncol, int* const nrow,
845 const QString extension_name);
846 void FillSingleTable(cpl_table* const table, const char* const col_name,
847 QList<QVariant>& single_table,
848 QList<QVariant>& single_col_names, const int rows,
849 int* const num_vals, int* const cols) const;
850 void FillSingleTableString(cpl_table* const table, const char* const col_name,
851 QList<QVariant>& single_table,
852 const int rows) const;
853 void FillSingleTableInt(cpl_table* const table, const char* const col_name,
854 QList<QVariant>& singleTable, const int rows) const;
855 void FillSingleTableIntArr(cpl_table* const table, const char* const col_name,
856 QList<QVariant>& single_table, const int rows,
857 int* const num_vals) const;
858 void FillSingleTableFloat(cpl_table* const table, const char* const col_name,
859 QList<QVariant>& single_table,
860 const int rows) const;
861 void FillSingleTableFloatArr(cpl_table* const table,
862 const char* const col_name,
863 QList<QVariant>& single_table, const int rows,
864 int* const num_vals) const;
865 void FillSingleTableDouble(cpl_table* const table, const char* const col_name,
866 QList<QVariant>& single_table,
867 const int rows) const;
868 void FillSingleTableDoubleArr(cpl_table* const table,
869 const char* const col_name,
870 QList<QVariant>& single_table, const int rows,
871 int* const num_vals) const;
872
873 void SetBinaryTableParameter(const int table_number, const int rows,
874 const int cols,
875 const QList<QVariant> single_table,
876 const QList<QVariant> single_col_names);
877
878 void GetSingleTableDimensions(const cpl_table* const table,
879 const char* const col_name, const int rows,
880 int* const table_rows, int* const table_cols,
881 int* const dim_x) const;
882
883 // Statistic handling
884 void AdjustMagnificationWidgets(const double x, const double y);
885
886 // Get coordinates of visible rectangle
887 // The returned coordinates represent the lower left and upper right corners
888 // of the visible rectangle, converted into image coordinates
889 // coords[0] = lower left x coordinate
890 // coords[1] = lower left y coordinate
891 // coords[2] = upper right x coordinate
892 // coords[3] = upper right y coordinate
893 void GetVisibleRectCoordinates(QVector<double>& coords) const;
894
895 protected:
897 // Protected Methods
898 //
899
900 // Widget interface
901
902 // Magnification widget
903
911 void MagnifyImage(int x, int y, const bool pick_mode = false);
912
920 void MagnifyImageWithFactor(const QString mag_factor_str,
921 const int mag_fact_index, const int x,
922 const int y);
923
924 // Dialog interfaces
930 void SetInitialDialogParameters(DdtDialog* dialog, const QString dialog_id);
936 void SetInitialDialogParametersColourmapDialog(DdtDialog* dialog,
937 const QString dialog_id);
943 void SetInitialDialogParametersPickObjectDialog(DdtDialog* dialog,
944 const QString dialog_id);
945
951 void SetInitialDialogParametersMagnificationDialog(DdtDialog* dialog,
952 const QString dialog_id);
958 void SetInitialDialogParametersFITSHeaderDialog(DdtDialog* dialog,
959 const QString dialog_id);
960
966 void SetInitialDialogParametersMetadataSampleDialog(DdtDialog* dialog,
967 const QString dialog_id);
968
974 void SetInitialDialogParametersHDUDialog(DdtDialog* dialog,
975 const QString dialog_id);
976
982 void SetInitialDialogParametersTabularRegionDialog(DdtDialog* dialog,
983 const QString dialog_id);
984
990 void SetInitialDialogParametersGraphicalDialog(DdtDialog* dialog,
991 const QString dialog_id);
997 void SetInitialDialogParametersGraphicsControl(DdtDialog* dialog,
998 const QString dialog_id);
999
1005 void SetInitialDialogParametersCutValuesDialog(DdtDialog* dialog,
1006 const QString dialog_id);
1007
1013 void SetInitialDialogParametersBiasDialog(DdtDialog* dialog,
1014 const QString dialog_id);
1015
1021 void SetInitialDialogParametersScaleRotateCutValuesDialog(
1022 DdtDialog* dialog, const QString dialog_id);
1023
1029 void SetInitialDialogParametersStatisticDialog(DdtDialog* dialog,
1030 const QString dialog_id);
1031
1037 void SetInitialDialogParametersPVCMDialog(DdtDialog* dialog,
1038 const QString dialog_id);
1039
1045 void SetInitialDialogParametersReferenceLineDialog(DdtDialog* dialog,
1046 const QString dialog_id);
1047
1053 void SetInitialDialogParametersDataStreamDialog(DdtDialog* dialog,
1054 const QString dialog_id);
1055
1061 void SetInitialDialogParametersDistanceDialog(DdtDialog* dialog,
1062 const QString dialog_id);
1063
1069 void SetInitialDialogParametersMonitorSamplesDialog(DdtDialog* dialog,
1070 const QString dialog_id);
1071
1077 void SetInitialDialogParametersBinaryTableDialog(DdtDialog* dialog,
1078 const QString dialog_id);
1079
1085 void DialogParameterChangedColourmapDialog(const QString parameter_id,
1086 const QVariant parameter);
1093 void DialogParameterChangedPickObject(const QString parameter_id,
1094 const QVariant parameter);
1095
1102 void DialogParameterChangedMagnification(const QString parameter_id,
1103 const QVariant parameter);
1104
1105
1112 void DialogParameterChangedMonitorSamples(const QString parameter_id,
1113 const QVariant parameter);
1114
1121 void DialogParameterChangedTabularRegion(const QString parameter_id,
1122 const QVariant parameter);
1123
1130 void DialogParameterChangedGraphicalElements(const QString parameter_id,
1131 const QVariant parameter);
1138 void DialogParameterChangedGraphicsControl(const QString parameter_id,
1139 const QVariant parameter);
1140
1146 void DialogParameterChangedCutValues(const QString parameter_id,
1147 const QVariant parameter);
1148
1155 void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1156 const QVariant parameter);
1157
1163 void DialogParameterChangedBias(const QString parameter_id,
1164 const QVariant parameter);
1165
1171 void DialogParameterChangedStatistic(const QString parameter_id,
1172 const QVariant parameter);
1173
1179 void DialogParameterChangedSlit(const QString parameter_id,
1180 const QVariant parameter);
1181
1187 void DialogParameterChangedPVCM(const QString parameter_id,
1188 const QVariant parameter);
1189
1196 void DialogParameterChangedReferenceLine(const QString parameter_id,
1197 const QVariant parameter);
1198
1205 void DialogParameterChangedDataStream(const QString parameter_id,
1206 const QVariant parameter);
1207
1214 void DialogParameterChangedHDU(const QString parameter_id,
1215 const QVariant parameter);
1216
1222 void DialogParameterChangedDistance(const QString parameter_id,
1223 const QVariant parameter);
1224
1225 public slots:
1227 // Public slots
1228 //
1229
1233 void ChangeContrast(ddt::colorMap_t const& colourmap,
1234 ddt::colorMap_t const& colourmap_inverted,
1235 ddt::colorMapARGB_t const& colourmap_argb,
1236 ddt::colorMapARGB_t const& colourmap_argb_inverted);
1237
1241 void RestoreColourmap();
1242
1244 // Dialog interface
1245 //
1246
1253 void DialogParameterChanged(const QString dialog_id,
1254 const QString parameter_id,
1255 const QVariant parameter);
1256
1258 // Data Stream Widget interface
1259 //
1260
1266 void AttachDataStream(const QString data_stream_id);
1267
1272 void DetachDataStream(const QString data_stream_id);
1273
1281 bool AttachDataFile(QString filename, const bool open_single = false);
1282
1288 void AttachImageExtensionsAsOne(QString filename);
1289
1295 void LastBrokerConnection(const QString data_stream_id);
1296
1300 void CheckInvalidImageHDUs() const;
1301
1306 void SetImageScale(const QString image_scale);
1307
1312 void SetNoWaitNewData(const bool no_wait_flag);
1313
1320 QString LoadOverlayFile(const QString startup_overlay_file,
1321 const bool remote = false);
1322
1324 // Flip Rotate Widget interface
1325 //
1326
1335 void FlipImage(bool vertical_axis, bool horizontal_axis);
1336
1341 void RotateImage(int rotation_angle);
1342
1344 // Panning Widget interface
1345 //
1346
1354 void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y);
1355
1356 // Scale Buttons Widget interface
1361 void IncrementScale();
1362
1367 void DecrementScale();
1368
1373 void SetToDefaultScale();
1374
1380 void SelectNewScale(QString next_scale);
1381
1385 void ScaleFactorForNewImage();
1386
1392 QString FindAutoScale();
1393
1399 void IncrementLayer(const int inc);
1400
1406 void DecrementLayer(const int dec);
1407
1412 void JumpToLayer(const int num);
1413
1414 // Graphical Elements Dialog
1415
1424 void GraphicalElement(double x1, double y1, double x2, double y2,
1425 const QString draw_mode);
1426
1437 void GraphicalTextElement(double x1, double y1, double x2, double y2,
1438 const QString draw_mode, QString text);
1439
1440 // Statistics Dialog
1441
1450 void StatisticRectangle(const double x1, const double y1, const double x2,
1451 const double y2);
1452
1453 // Slit Dialog
1454
1464 void SlitElement(const double target_x, const double target_y,
1465 const double slit_x, const double slit_y,
1466 const double x_offset, const double y_offset);
1467
1468 // Reference Line Dialog
1469 void CalculateHistogramReferenceLine(QPointF p1, QPointF p2);
1470
1471 // Distance Dialog
1472 void CalculateDistanceLine(QPointF p1, QPointF p2);
1473
1475 // Magnification Widget interface
1476 //
1483 void SetMagnificationFactor(const QString magnification_factor);
1484
1486 // Cursor Information Widget interface
1487 //
1488
1496 void CursorPosition(double x, double y, bool mouse_clicked);
1497
1499 // Cut Values Widget interface
1500 //
1501
1507 void SetCutValues(const double low, const double high);
1508
1512 void SetAutoCuts();
1513
1517 void SetMinMaxCuts();
1518
1520 // Internal slots
1521 //
1522
1526 void DetachStream();
1527
1531 void HandleNewDataEvent();
1532
1538 void SetAutoScaleState(const bool new_auto_scale_state);
1539
1540 private slots:
1542 // Private slots
1543 //
1544
1545 // Loading rendering plugins
1546 void LoadRenderingPlugins();
1547
1548 // Scrollbar handling
1549 void ScrollBarMoved(int pos);
1550 void ScrollBarRangeChanged(int min, int max);
1551
1552 // Context menu related
1553 void DisplayContextMenu(const QPoint& pos);
1554 void ExecuteContextMenuCommand(const QString command);
1555
1556 signals:
1557
1559 // Signals
1560 //
1561
1563 // Dialogs
1564 //
1565
1572 void SetChangedDialogParameter(QString param_id, QVariant parameter);
1573
1579
1581 // Panning Widget interface
1582 //
1583
1591 void UpdatedImage(const QImage& image, const QTransform& transform,
1592 const double rotation);
1593
1602 void ImageWidgetViewChanged(QRectF visible_image_rect,
1603 int current_image_width,
1604 int current_image_height);
1605
1610
1612 // Cursor Information Widget Interface
1613 //
1614
1624 void CursorInfo(double x, double y, double pixelvalue, QString ra,
1625 QString decl);
1626
1628 // Flip Rotate Widget Interface
1629 //
1635 void UpdateFlipStatus(bool vertical, bool horizontal);
1636
1640 void Swap();
1641
1643 // Magnification Widget interface
1644 //
1645
1646 void MagnifiedImage(QImage magnified_image);
1648
1650 // Cube Navigation Widget Interface
1651 //
1658 void CurrentLayer(const int current_layer, const int total_layers);
1659
1661 // Cut Values Widget interface
1662 //
1663
1669 void CurrentCutValues(double cutvalue_min, double cutvalue_max);
1670
1672 // Colourmap Widget interface
1673 //
1674
1679 void SetCurrentColourmap(QVector<QRgb> colourtable);
1680
1688 void UpdateColourbarAxis(double min_value, double max_value,
1689 int scaling_function);
1690
1695 void InvertColourmap(bool inverted);
1696
1698 // Data Stream Widget
1699 //
1700
1707 void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status);
1708
1710 // Image Widget interface - internal slots
1711 //
1712
1717 void ContextMenuCommandSelected(QString menu_entry);
1718
1723 void Reset();
1724
1729
1731 // Image Scale Widget interface
1732 //
1733
1739 void ScaleFactorListChanged(QList<QString> scale_factor_list);
1740
1746 void UpdateScaleFactor(QString new_scale_factor);
1747
1754 void UpdateAutoScale(bool new_state);
1755};
1756
1757#endif // DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
1758
Definition: ddtDialog.hpp:27
Definition: ddtGraphicalElementProperties.hpp:29
Definition: ddtGraphicalOverlay.hpp:30
Definition: ddtGraphicsView.hpp:80
Definition: ddtImageGraphicsItem.hpp:28
Definition: ddtImageWidget.hpp:52
DdtOverlayRendering * overlay_rendering
Definition: ddtImageWidget.hpp:430
void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status)
QString current_magnification_factor
Definition: ddtImageWidget.hpp:590
bool auto_scale
auto_scale Flag for the usage of automatic scaling of new images
Definition: ddtImageWidget.hpp:544
bool use_open_gl
use_open_gl Flag for the usage of OpenGl
Definition: ddtImageWidget.hpp:532
QTransform scaling_transform
Definition: ddtImageWidget.hpp:677
QString current_scale_factor
current_scale_factor The current used scale factor
Definition: ddtImageWidget.hpp:579
void ClearMagnifiedImage()
void UpdateFlipStatus(bool vertical, bool horizontal)
void CurrentCutValues(double cutvalue_min, double cutvalue_max)
QString default_bias_image
Definition: ddtImageWidget.hpp:562
QString default_scale_factor
default_scale_factor Value of the default scale factor
Definition: ddtImageWidget.hpp:550
DdtGraphicalElementProperties overlay_properties
Definition: ddtImageWidget.hpp:435
QString selected_scale_factor
selected_scale_factor Last selected scale factor
Definition: ddtImageWidget.hpp:585
void UpdateAutoScale(bool new_state)
UpdateAutoScale this signal inform others about that the auto scale state changed.
QString configurationmap_directory
configurationmap_directory The configurationmap directory used
Definition: ddtImageWidget.hpp:668
QString define_scale_factor
define_scale_factor This string is configured from outside over the designer. The scale factors are s...
Definition: ddtImageWidget.hpp:634
QString list_dialogs_menu
list_dialogs_menu List of context menu dialog items
Definition: ddtImageWidget.hpp:652
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:557
bool use_antialiasing
use_antialiasing Flag for the usage of antialiasing
Definition: ddtImageWidget.hpp:538
void UpdateScaleFactor(QString new_scale_factor)
UpdateScaleFactor this signal inform others about a new scale factor.
int last_magnify_y
Definition: ddtImageWidget.hpp:610
void ImageWidgetViewChanged(QRectF visible_image_rect, int current_image_width, int current_image_height)
QString current_dialog_magnification_factor
Definition: ddtImageWidget.hpp:600
void InvertColourmap(bool inverted)
void UpdateColourbarAxis(double min_value, double max_value, int scaling_function)
ddt::DdtLogger * logger
Definition: ddtImageWidget.hpp:422
int last_magnify_x
Definition: ddtImageWidget.hpp:605
void NewBoostDataEvent()
QString default_colourmap
default_colourmap The default colourmap
Definition: ddtImageWidget.hpp:640
void CursorInfo(double x, double y, double pixelvalue, QString ra, QString decl)
void CurrentLayer(const int current_layer, const int total_layers)
void UpdatedImage(const QImage &image, const QTransform &transform, const double rotation)
void DefaultDockWidgetsLayout()
void SetChangedDialogParameter(QString param_id, QVariant parameter)
QTransform rotation_transform
Definition: ddtImageWidget.hpp:682
QString colourmap_directory
colourmap_directory The colourmap directory used
Definition: ddtImageWidget.hpp:662
bool show_scrollbars
Definition: ddtImageWidget.hpp:567
void ScaleFactorListChanged(QList< QString > scale_factor_list)
ScaleFactorListChanged Signal to inform other about new scale values are set.
int current_rotation_value
current_rotation_value The current used rotation on present image
Definition: ddtImageWidget.hpp:573
void MagnifiedImage(QImage magnified_image)
signal_response response_signal
Definition: ddtImageWidget.hpp:119
QString current_pick_object_magnification_factor
Definition: ddtImageWidget.hpp:595
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:618
void GraphicalElementsDialogClosed()
void ContextMenuCommandSelected(QString menu_entry)
void SetCurrentColourmap(QVector< QRgb > colourtable)
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:626
QString list_context_menu
list_context_menu List of context menu items
Definition: ddtImageWidget.hpp:646
Definition: ddtOverlayRendering.hpp:37
Definition: ddtRenderingPlugin.hpp:41
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:28
Definition: ddtLogger.hpp:51
Definition: imageHandling.hpp:54
Data Subscriber. This class provides the functionality for subscriber applications to register / unre...
Factory for DdtDataPublishers and DdtDataSubscribers. This class provides factory methods for creatin...
DDT Utils. Definitions for the data visualisation. Utilities for the DDT Datavisualisation.
PickMode
Definition: ddtDatavisualisationDefines.hpp:25
ConnectionStatus
Definition: ddtDatavisualisationDefines.hpp:93
DDT Widgets. Class for the Graphics View which is used by the DDT Image Widget. The view is used by t...
boost::signals2::signal< void(const std::string &)> signal_response
Definition: ddtImageWidget.hpp:46
DDT Widgets. Base class for the DDT widgets. Base class for the DDT widgets.
std::array< std::array< float, COLOR_MAP_ENTRY_SIZE >, MAX_COLOR_MAP_ENTRIES > colorMap_t
Definition: imageColor.hpp:57
std::array< unsigned int, MAX_COLOR_MAP_ENTRIES > colorMapARGB_t
Definition: imageColor.hpp:67
string p1
Definition: testCommandLineParser.cpp:360
string p2
Definition: testCommandLineParser.cpp:361