ddt 1.2.1
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
119 signal_response response_signal;
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
419 void AttachImageFromPointer(float* new_image_data, int nx, int ny);
420
424 void AttachImageFromPointer(double* new_image_data, int nx, int ny);
425
429 void AttachImageFromPointer(int32_t* new_image_data, int nx, int ny);
430
434 void AttachImageFromPointer(uint8_t* new_image_data, int nx, int ny);
435
439 void AttachImageFromPointer(uint16_t* new_image_data, int nx, int ny);
440
444 void AttachImageFromPointer(uint32_t* new_image_data, int nx, int ny);
445
449 void AttachImageFromPointer(int16_t* new_image_data, int nx, int ny);
450
451
452 protected:
454 // Logger
458 ddt::DdtLogger* logger;
459
461 // Graphics Library
462
466 DdtOverlayRendering* overlay_rendering;
467
472
473 private:
475 // Private members
476 //
477
478 // Data Stream access
479 QString current_stream_id;
480 QString last_stream_id;
481 boost::signals2::connection connection;
482 boost::signals2::connection connection_cutlevel;
483
484 // Data file access
485 QString last_image_path;
486 QString last_selected_file;
487 int current_extension;
488 std::atomic<bool> overlay_file_loaded;
489
490 // Image display
491 DdtGraphicsView* view;
492 QGraphicsScene* scene;
493 QGraphicsItem* current_image_item;
494
495 ddt::ImageHandling* img_handling;
496
497 int current_image_width;
498 int current_image_height;
499
500 std::atomic<bool> image_cleared;
501
502 // Pick mode
503 PickMode current_pick_mode;
504 bool show_pick_marker;
505 int current_pick_square_size;
506 int last_pick_x;
507 int last_pick_y;
508 std::atomic<bool> datastream_pick;
509 double datastream_picked_x;
510 double datastream_picked_y;
511
512 // Tabular region
513 int current_tab_region_x_size;
514 int current_tab_region_y_size;
515
516 // Pixel vs Colourmap
517 std::atomic<PvcmParameters> pvcm_param;
518
519 // Flags
520 bool scrollbar_vertical_moved_externally;
521 bool scrollbar_horizontal_moved_externally;
522
523 bool current_flip_state_vertical;
524 bool current_flip_state_horizontal;
525
526 bool defaults_set;
527
528 bool display_timestamp;
529
530 // Rendering plugins
531 QList<DdtRenderingPlugin*> rendering_plugins;
532 int active_rendering_plugin_index;
533
534 // Maps for access to dialogs
535 QMap<QString, DdtDialog*> dialog_map;
536 QMap<QString, bool> dialog_init_map;
537 QMap<QString, QString> dialogname_map;
538
539 // Context menu
540 QStringList context_menu_entries;
541 QString static_overlay_entry;
542
543 // Set of image points selected by user
544 QList<QPointF> point_list;
545 bool mark_position_mode;
546
547 // Last segment callback
548 std::function<void()> last_segment_callback;
549
550 // Constants
551 const int CLOCKWISE = 90;
552 const int ANTICLOCKWISE = -90;
553 const int NUM_ARGS_REMOTE_ATTACH = 2;
554
555 protected:
557 // Protected members
558 //
559
561 // Image Widget Properties
562 //
563
568 bool use_open_gl;
569
574 bool use_antialiasing;
575
580 bool auto_scale;
581
586 QString default_scale_factor;
587
593 bool no_wait_new_data;
594
598 QString default_bias_image;
599
603 bool show_scrollbars;
604
609 int current_rotation_value;
610
615 QString current_scale_factor;
616
621 QString selected_scale_factor;
622
626 QString current_magnification_factor;
627
631 QString current_pick_object_magnification_factor;
632
636 QString current_dialog_magnification_factor;
637
641 int last_magnify_x;
642
646 int last_magnify_y;
647
654 QMap<QString, float> scale_factor_pool;
655
662 QMap<QString, float> scale_factor_favorites;
663
670 QString define_scale_factor;
671
676 QString default_colourmap;
677
682 QString list_context_menu;
683
688 QString list_dialogs_menu;
689
691 // Configuration items
692 //
693
698 QString colourmap_directory;
699
704 QString configurationmap_directory;
705
707 // Image handling
708 //
709
713 QTransform scaling_transform;
714
718 QTransform rotation_transform;
719
725 void resizeEvent(QResizeEvent* event);
726
730 void RemoveAllItemsFromScene();
731
735 void RemoveAllOverlayItemsFromScene();
736
743 void GraphicsControlCheckTaggedItems(DdtGraphicalOverlay* overlay,
744 QString tag, bool flag);
745
746 protected:
748 // Image statistics
749 //
750
761 void CalculatePickStatistics(PickMode pick_mode, double x, double y,
762 double pixel_value, QString ra, QString dec);
763
770 void GetTabularRegion(const double x_image, const double y_image);
771
772 private:
774 // Private Methods
775 //
776 void HandleImage();
777
778 void setCacheMode(DdtImageGraphicsItem* const item) const;
779
780 bool CheckMemAvailability(const QString filename,
781 const int extension_number) const;
782 bool CheckMemAvailabilityImageExtensions(const QString filename) const;
783 void GetDimensionInfo(const cpl_propertylist* const property_list,
784 int* const number_axis, int* const image_width,
785 int* const image_height, int* const byte_pix) const;
786 void ReadMemoryInfo(qint64* const mem_total, qint64* const mem_available,
787 qint64* const swap_free) const;
788
789 bool LoadExtension(const QString filename, int& extension_number);
790
791 void UpdatePick();
792 void StoreDataStreamPick();
793 double ConsiderFlipState(double angle) const;
794 bool CheckIfPickInactive() const;
795 void UpdatePVCMDialog();
796 void UpdatePVCMDialogMinMax();
797 void UpdatePVCMDialogAutoCuts();
798 void UpdatePVCMDialogCutValues();
799 void UpdatePVCMDialogPercent();
800
801 // Remote commands
802 void RemoteAttach(const QStringList args);
803 void RemoteDetach();
804 void RemoteRotate(const QStringList args);
805 void RemoteFlip(const QStringList args);
806 void RemoteZoom(const QStringList args);
807 void RemoteScale(const QStringList args);
808 void RemotePointSelection();
809 void RemoteStatistics();
810 void RemoteTabularRegion();
811 void RemoteScaleRotateCut();
812 void RemoteSlit();
813 void RemotePick();
814 void RemoteLoad(const QStringList args);
815 void RemoteDistance();
816 void RemoteOverlay(const QStringList args);
817
818 bool Xor(const bool state_a, const bool state_b) const;
819
820 // Widget setup
821 void Initialize();
822 void CreateWidget();
823 void SetDefaultSettings();
824 void SetDefaultColourmapSettings();
825 void SetDefaultConfigurationmapSettings();
826 void SetDefaultBiasImageSettings();
827
828 // Context Menu and Dialogs
829 void InitializeContextMenu();
830 void InitializeDialogNames();
831 QStringList AddDefaultContextMenuEntries() const;
832 QStringList AddDefaultDialogsNameEntries() const;
833 void ExecuteDialog(const QString dialog_id);
834 QMenu* ComposeDialogsContextMenu(const QString menu_title);
835
836 // File access
837 void BrowseForFile();
838 void BrowseForFileExt();
839 void SaveAsFile();
840 void ResetDialogs();
841 void ClearImage();
842 void StaticOverlay();
843
844 // Colourmap handling
845 void UpdateColourmap();
846
847 // FITS Header updates
848 void UpdateFitsHeaderDialog();
849
850 // Update all Monitor Samples dialog widgets values
851 void UpdateMonitorSamplesDialog();
852
853 // Metadata Sample updates
854 void UpdateMetadataSampleDialog();
855
856 // Update image
857 void UpdateImage(const QImage* const image);
858
859 // Update current plane
860 void UpdateCurrentPlane();
861
862 // BIAS handling
863 void StoreCurrentImage(const int dest_slot);
864 void DisplaySelected(const QVariant parameter);
865 void LoadFromDisc(const QVariant parameter);
866
867 // PVCM handling
868 void SendCutValuesAndHistogram();
869
870 // Cut values handling
871 void HandleCutValuesParameter(const QString parameter_id,
872 const QVariant parameter,
873 const QString dialog_id);
874 // HDU handling
875 void CheckHDUs();
876
877 // Binary Table handling
878 void CheckBinaryTable(const QString extension_name);
879 void FillTable(cpl_table* const table, const cpl_array* const column_names,
880 int* const ncol, int* const nrow,
881 const QString extension_name);
882 void FillSingleTable(cpl_table* const table, const char* const col_name,
883 QList<QVariant>& single_table,
884 QList<QVariant>& single_col_names, const int rows,
885 int* const num_vals, int* const cols) const;
886 void FillSingleTableString(cpl_table* const table, const char* const col_name,
887 QList<QVariant>& single_table,
888 const int rows) const;
889 void FillSingleTableInt(cpl_table* const table, const char* const col_name,
890 QList<QVariant>& singleTable, const int rows) const;
891 void FillSingleTableIntArr(cpl_table* const table, const char* const col_name,
892 QList<QVariant>& single_table, const int rows,
893 int* const num_vals) const;
894 void FillSingleTableFloat(cpl_table* const table, const char* const col_name,
895 QList<QVariant>& single_table,
896 const int rows) const;
897 void FillSingleTableFloatArr(cpl_table* const table,
898 const char* const col_name,
899 QList<QVariant>& single_table, const int rows,
900 int* const num_vals) const;
901 void FillSingleTableDouble(cpl_table* const table, const char* const col_name,
902 QList<QVariant>& single_table,
903 const int rows) const;
904 void FillSingleTableDoubleArr(cpl_table* const table,
905 const char* const col_name,
906 QList<QVariant>& single_table, const int rows,
907 int* const num_vals) const;
908
909 void SetBinaryTableParameter(const int table_number, const int rows,
910 const int cols,
911 const QList<QVariant> single_table,
912 const QList<QVariant> single_col_names);
913
914 void GetSingleTableDimensions(const cpl_table* const table,
915 const char* const col_name, const int rows,
916 int* const table_rows, int* const table_cols,
917 int* const dim_x) const;
918
919 // Statistic handling
920 void AdjustMagnificationWidgets(const double x, const double y);
921
922 // Get coordinates of visible rectangle
923 // The returned coordinates represent the lower left and upper right corners
924 // of the visible rectangle, converted into image coordinates
925 // coords[0] = lower left x coordinate
926 // coords[1] = lower left y coordinate
927 // coords[2] = upper right x coordinate
928 // coords[3] = upper right y coordinate
929 void GetVisibleRectCoordinates(QVector<double>& coords) const;
930
934 void ResetAndCleanViewBeforeLoad();
935
939 void HandleAndUpdateAfterLoad();
940
941 protected:
943 // Protected Methods
944 //
945
946 // Widget interface
947
948 // Magnification widget
949
957 void MagnifyImage(int x, int y, const bool pick_mode = false);
958
966 void MagnifyImageWithFactor(const QString mag_factor_str,
967 const int mag_fact_index, const int x,
968 const int y);
969
970 // Dialog interfaces
976 void SetInitialDialogParameters(DdtDialog* dialog, const QString dialog_id);
982 void SetInitialDialogParametersColourmapDialog(DdtDialog* dialog,
983 const QString dialog_id);
989 void SetInitialDialogParametersPickObjectDialog(DdtDialog* dialog,
990 const QString dialog_id);
991
997 void SetInitialDialogParametersMagnificationDialog(DdtDialog* dialog,
998 const QString dialog_id);
1004 void SetInitialDialogParametersFITSHeaderDialog(DdtDialog* dialog,
1005 const QString dialog_id);
1006
1012 void SetInitialDialogParametersMetadataSampleDialog(DdtDialog* dialog,
1013 const QString dialog_id);
1014
1020 void SetInitialDialogParametersHDUDialog(DdtDialog* dialog,
1021 const QString dialog_id);
1022
1028 void SetInitialDialogParametersTabularRegionDialog(DdtDialog* dialog,
1029 const QString dialog_id);
1030
1036 void SetInitialDialogParametersGraphicalDialog(DdtDialog* dialog,
1037 const QString dialog_id);
1043 void SetInitialDialogParametersGraphicsControl(DdtDialog* dialog,
1044 const QString dialog_id);
1045
1051 void SetInitialDialogParametersCutValuesDialog(DdtDialog* dialog,
1052 const QString dialog_id);
1053
1059 void SetInitialDialogParametersBiasDialog(DdtDialog* dialog,
1060 const QString dialog_id);
1061
1067 void SetInitialDialogParametersScaleRotateCutValuesDialog(
1068 DdtDialog* dialog, const QString dialog_id);
1069
1075 void SetInitialDialogParametersStatisticDialog(DdtDialog* dialog,
1076 const QString dialog_id);
1077
1083 void SetInitialDialogParametersPVCMDialog(DdtDialog* dialog,
1084 const QString dialog_id);
1085
1091 void SetInitialDialogParametersReferenceLineDialog(DdtDialog* dialog,
1092 const QString dialog_id);
1093
1099 void SetInitialDialogParametersDataStreamDialog(DdtDialog* dialog,
1100 const QString dialog_id);
1101
1107 void SetInitialDialogParametersDistanceDialog(DdtDialog* dialog,
1108 const QString dialog_id);
1109
1115 void SetInitialDialogParametersMonitorSamplesDialog(DdtDialog* dialog,
1116 const QString dialog_id);
1117
1123 void SetInitialDialogParametersBinaryTableDialog(DdtDialog* dialog,
1124 const QString dialog_id);
1125
1131 void DialogParameterChangedColourmapDialog(const QString parameter_id,
1132 const QVariant parameter);
1139 void DialogParameterChangedPickObject(const QString parameter_id,
1140 const QVariant parameter);
1141
1148 void DialogParameterChangedMagnification(const QString parameter_id,
1149 const QVariant parameter);
1150
1151
1158 void DialogParameterChangedMonitorSamples(const QString parameter_id,
1159 const QVariant parameter);
1160
1167 void DialogParameterChangedTabularRegion(const QString parameter_id,
1168 const QVariant parameter);
1169
1176 void DialogParameterChangedGraphicalElements(const QString parameter_id,
1177 const QVariant parameter);
1184 void DialogParameterChangedGraphicsControl(const QString parameter_id,
1185 const QVariant parameter);
1186
1192 void DialogParameterChangedCutValues(const QString parameter_id,
1193 const QVariant parameter);
1194
1201 void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1202 const QVariant parameter);
1203
1209 void DialogParameterChangedBias(const QString parameter_id,
1210 const QVariant parameter);
1211
1217 void DialogParameterChangedStatistic(const QString parameter_id,
1218 const QVariant parameter);
1219
1225 void DialogParameterChangedSlit(const QString parameter_id,
1226 const QVariant parameter);
1227
1233 void DialogParameterChangedPVCM(const QString parameter_id,
1234 const QVariant parameter);
1235
1242 void DialogParameterChangedReferenceLine(const QString parameter_id,
1243 const QVariant parameter);
1244
1251 void DialogParameterChangedDataStream(const QString parameter_id,
1252 const QVariant parameter);
1253
1260 void DialogParameterChangedHDU(const QString parameter_id,
1261 const QVariant parameter);
1262
1268 void DialogParameterChangedDistance(const QString parameter_id,
1269 const QVariant parameter);
1270
1271 public slots:
1273 // Public slots
1274 //
1275
1279 void ChangeContrast(ddt::colorMap_t const& colourmap,
1280 ddt::colorMap_t const& colourmap_inverted,
1281 ddt::colorMapARGB_t const& colourmap_argb,
1282 ddt::colorMapARGB_t const& colourmap_argb_inverted);
1283
1287 void RestoreColourmap();
1288
1290 // Dialog interface
1291 //
1292
1299 void DialogParameterChanged(const QString dialog_id,
1300 const QString parameter_id,
1301 const QVariant parameter);
1302
1304 // Data Stream Widget interface
1305 //
1306
1312 void AttachDataStream(const QString data_stream_id);
1313
1318 void DetachDataStream(const QString data_stream_id);
1319
1327 bool AttachDataFile(QString filename, const bool open_single = false);
1328
1334 void AttachImageExtensionsAsOne(QString filename);
1335
1341 void LastBrokerConnection(const QString data_stream_id);
1342
1346 void CheckInvalidImageHDUs() const;
1347
1352 void SetImageScale(const QString image_scale);
1353
1358 void SetNoWaitNewData(const bool no_wait_flag);
1359
1366 QString LoadOverlayFile(const QString startup_overlay_file,
1367 const bool remote = false);
1368
1370 // Flip Rotate Widget interface
1371 //
1372
1381 void FlipImage(bool vertical_axis, bool horizontal_axis);
1382
1387 void RotateImage(int rotation_angle);
1388
1390 // Panning Widget interface
1391 //
1392
1400 void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y);
1401
1402 // Scale Buttons Widget interface
1407 void IncrementScale();
1408
1413 void DecrementScale();
1414
1419 void SetToDefaultScale();
1420
1426 void SelectNewScale(QString next_scale);
1427
1431 void ScaleFactorForNewImage();
1432
1438 QString FindAutoScale();
1439
1445 void IncrementLayer(const int inc);
1446
1452 void DecrementLayer(const int dec);
1453
1458 void JumpToLayer(const int num);
1459
1460 // Graphical Elements Dialog
1461
1470 void GraphicalElement(double x1, double y1, double x2, double y2,
1471 const QString draw_mode);
1472
1483 void GraphicalTextElement(double x1, double y1, double x2, double y2,
1484 const QString draw_mode, QString text);
1485
1486 // Statistics Dialog
1487
1496 void StatisticRectangle(const double x1, const double y1, const double x2,
1497 const double y2);
1498
1499 // Slit Dialog
1500
1510 void SlitElement(const double target_x, const double target_y,
1511 const double slit_x, const double slit_y,
1512 const double x_offset, const double y_offset);
1513
1514 // Reference Line Dialog
1515 void CalculateHistogramReferenceLine(QPointF p1, QPointF p2);
1516
1517 // Distance Dialog
1518 void CalculateDistanceLine(QPointF p1, QPointF p2);
1519
1521 // Magnification Widget interface
1522 //
1529 void SetMagnificationFactor(const QString magnification_factor);
1530
1532 // Cursor Information Widget interface
1533 //
1534
1542 void CursorPosition(double x, double y, bool mouse_clicked);
1543
1545 // Cut Values Widget interface
1546 //
1547
1553 void SetCutValues(const double low, const double high);
1554
1558 void SetAutoCuts();
1559
1563 void SetMinMaxCuts();
1564
1566 // Internal slots
1567 //
1568
1572 void DetachStream();
1573
1577 void HandleNewDataEvent();
1578
1584 void SetAutoScaleState(const bool new_auto_scale_state);
1585
1586 private slots:
1588 // Private slots
1589 //
1590
1591 // Loading rendering plugins
1592 void LoadRenderingPlugins();
1593
1594 // Scrollbar handling
1595 void ScrollBarVerticalMoved(int pos);
1596 void ScrollBarHorizontalMoved(int pos);
1597 void ScrollBarRangeChanged(int min, int max);
1598
1599 // Context menu related
1600 void DisplayContextMenu(const QPoint& pos);
1601 void ExecuteContextMenuCommand(const QString command);
1602
1603 signals:
1604
1606 // Signals
1607 //
1608
1610 // Dialogs
1611 //
1612
1619 void SetChangedDialogParameter(QString param_id, QVariant parameter);
1620
1625 void GraphicalElementsDialogClosed();
1626
1628 // Panning Widget interface
1629 //
1630
1638 void UpdatedImage(const QImage& image, const QTransform& transform,
1639 const double rotation);
1640
1649 void ImageWidgetViewChanged(QRectF visible_image_rect,
1650 int current_image_width,
1651 int current_image_height);
1652
1656 void NewBoostDataEvent();
1657
1659 // Cursor Information Widget Interface
1660 //
1661
1671 void CursorInfo(double x, double y, double pixelvalue, QString ra,
1672 QString decl);
1673
1675 // Flip Rotate Widget Interface
1676 //
1682 void UpdateFlipStatus(bool vertical, bool horizontal);
1683
1687 void Swap();
1688
1690 // Magnification Widget interface
1691 //
1692
1693 void MagnifiedImage(QImage magnified_image);
1694 void ClearMagnifiedImage();
1695
1697 // Cube Navigation Widget Interface
1698 //
1705 void CurrentLayer(const int current_layer, const int total_layers);
1706
1708 // Cut Values Widget interface
1709 //
1710
1716 void CurrentCutValues(double cutvalue_min, double cutvalue_max);
1717
1719 // Colourmap Widget interface
1720 //
1721
1726 void SetCurrentColourmap(QVector<QRgb> colourtable);
1727
1735 void UpdateColourbarAxis(double min_value, double max_value,
1736 int scaling_function);
1737
1742 void InvertColourmap(bool inverted);
1743
1745 // Data Stream Widget
1746 //
1747
1754 void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status);
1755
1757 // Image Widget interface - internal slots
1758 //
1759
1764 void ContextMenuCommandSelected(QString menu_entry);
1765
1770 void Reset();
1771
1775 void DefaultDockWidgetsLayout();
1776
1778 // Image Scale Widget interface
1779 //
1780
1786 void ScaleFactorListChanged(QList<QString> scale_factor_list);
1787
1793 void UpdateScaleFactor(QString new_scale_factor);
1794
1801 void UpdateAutoScale(bool new_state);
1802};
1803
1804#endif // DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
1805
Definition ddtDialog.hpp:27
Definition ddtGraphicalElementProperties.hpp:29
Definition ddtGraphicalOverlay.hpp:30
Definition ddtGraphicsView.hpp:80
Definition ddtImageGraphicsItem.hpp:28
Definition ddtImageWidget.hpp:52
Definition ddtOverlayRendering.hpp:37
Definition ddtRenderingPlugin.hpp:41
The DdtWidget class Use as wrapper class for new widgets.
Definition ddtWidget.hpp:28
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
PvcmParameters
Definition ddtDatavisualisationDefines.hpp:51
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.
Definition ddtClient.hpp:39
string p1
Definition testCommandLineParser.cpp:360
string p2
Definition testCommandLineParser.cpp:361