ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtImageWidget.hpp
Go to the documentation of this file.
1
10
11#ifndef DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
12#define DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
13
14#define BOOST_BIND_GLOBAL_PLACEHOLDERS
15
16#include <boost/bind.hpp>
17#include <boost/property_tree/json_parser.hpp>
18#include <boost/property_tree/ptree.hpp>
19#include <boost/signals2/signal.hpp>
20
21// Subscriber Library
22#include <QList>
23#include <QtUiPlugin/QDesignerExportWidget>
24#include <QtWidgets>
25
31
32class DdtGraphicsView;
33
37typedef boost::signals2::signal<void(const std::string&)> signal_response;
38
43class QDESIGNER_WIDGET_EXPORT DdtImageWidget : public DdtWidget {
44 Q_OBJECT
45
46 Q_PROPERTY(bool UseOpenGL READ get_use_open_gl WRITE set_use_open_gl)
47 Q_PROPERTY(
49 Q_PROPERTY(bool AutoScale READ get_auto_scale WRITE set_auto_scale)
50 Q_PROPERTY(QString DefaultScale READ get_default_scale_factor WRITE
52 Q_PROPERTY(QString ScaleFactorList READ get_define_scale_factor WRITE
54 Q_PROPERTY(QString DefaultColourmap READ get_default_colourmap WRITE
56 Q_PROPERTY(QString ListContextMenu READ get_list_context_menu WRITE
58 Q_PROPERTY(QString ListDialogsMenu READ get_list_dialogs_menu WRITE
60 Q_PROPERTY(QString DefautBiasImage READ get_default_bias_image WRITE
62 Q_PROPERTY(
64
65 public:
67 // Constructors / Destructors
68 //
69
74 explicit DdtImageWidget(QWidget* parent = nullptr);
75
79 virtual ~DdtImageWidget();
80
85
91 void ProcessRemoteCommand(const std::string& command_name,
92 const std::vector<std::string>& command_arguments);
93
98 void InitializeDialogMap(const QMap<QString, DdtDialog*> insert_map);
99
105 QString FetchDialogName(const QString dialog_id) const;
106
111
113 // Getters and Setters for properties
114 //
115
120 bool get_use_open_gl() const;
121
126 void set_use_open_gl(const bool open_gl);
127
132 bool get_use_antialiasing() const;
133
138 void set_use_antialiasing(const bool antialiasing);
139
144 bool get_auto_scale() const;
145
150 void set_auto_scale(const bool scale);
151
158 void ReadScaleFactors();
159
165 QList<QString> SortedScaleFactors(QMap<QString, float> scale_map);
166
174 QString get_define_scale_factor() const;
175
182 void set_define_scale_factor(const QString new_values);
183
188 QString get_default_scale_factor() const;
189
194 void set_default_scale_factor(const QString new_default_scale_factor);
195
200 QString get_default_colourmap() const;
201
206 void set_default_colourmap(const QString new_default_colourmap);
207
212 void set_list_context_menu(const QString new_list_context_menu);
213
218 QString get_list_context_menu() const;
219
224 void set_list_dialogs_menu(const QString new_list_dialogs_menu);
225
230 QString get_list_dialogs_menu() const;
231
236 QString get_default_bias_image() const;
237
242 void set_default_bias_image(const QString set_bias_image);
243
248 bool get_show_scrollbars() const;
249
255
257 // Graphical Elements
258 //
259
265
272
276 void RedrawOverlay();
277
279 // Further getters and setters
280 //
281
286 void set_logger(ddt::DdtLogger* const in_logger);
287
289 // Utility functions
290 //
291
298 float ParseFractionString(QString fraction_str);
299
307 void ConvertCanvasToImage(const double x_canvas, const double y_canvas,
308 double* const x_image, double* const y_image) const;
309
317 void ConvertImageToCanvas(const double x_image, const double y_image,
318 double* const x_canvas,
319 double* const y_canvas) const;
320
322 // Event handling
323 //
324
331 bool eventFilter(QObject* obj, QEvent* event);
332
338
343 void HandleConnectionStateBoostEvent(int connection_status);
344
348 void CutLevelChanged();
349
353 void ReloadGraphicsItem();
354
360
364 void UpdateAllStatistics();
365
370 void CloseAllDialogs();
371
377 void MarkPositions();
378
383 QString EndMarkPositions();
384
390 std::function<void()> const& LastSegmentFunction);
391
395 void SetOverlayImageFile(const QString overlay_file);
396
400 void AddRenderingPlugins(DdtRenderingPlugin* const new_plugin);
401
406 void SetActiveRenderingPlugin(const int rendering_plugin_id);
407
412
416 void AttachImageFromPointer(float* new_image_data, int nx, int ny);
417
421 void AttachImageFromPointer(double* new_image_data, int nx, int ny);
422
426 void AttachImageFromPointer(int32_t* new_image_data, int nx, int ny);
427
431 void AttachImageFromPointer(uint8_t* new_image_data, int nx, int ny);
432
436 void AttachImageFromPointer(uint16_t* new_image_data, int nx, int ny);
437
441 void AttachImageFromPointer(uint32_t* new_image_data, int nx, int ny);
442
446 void AttachImageFromPointer(int16_t* new_image_data, int nx, int ny);
447
452 ::cpl_image *GetCurrentlyDisplayedImagePtr();
453
458
459protected:
461 // Logger
465 ddt::DdtLogger* logger;
466
468 // Graphics Library
469
474
479
480 private:
482 // Private members
483 //
484
485
486 cpl_image* displayedImageCopy = nullptr;
487
488 // Data Stream access
489 QString current_stream_id;
490 QString last_stream_id;
491 boost::signals2::connection connection;
492 boost::signals2::connection connection_cutlevel;
493 boost::signals2::connection connection_state_subscription;
494
495 // Data file access
496 QString last_image_path;
497 QString last_selected_file;
498 int current_extension;
499 std::atomic<bool> overlay_file_loaded;
500
501 // Image display
502 DdtGraphicsView* view;
503 QGraphicsScene* scene;
504 QGraphicsItem* current_image_item;
505
506 ddt::ImageHandling* img_handling;
507
508 int current_image_width;
509 int current_image_height;
510
511 std::atomic<bool> image_cleared;
512
513 // Pick mode
514 PickMode current_pick_mode;
515 bool show_pick_marker;
516 int current_pick_square_size;
517 int last_pick_x;
518 int last_pick_y;
519 std::atomic<bool> datastream_pick;
520 double datastream_picked_x;
521 double datastream_picked_y;
522
523 // Tabular region
524 int current_tab_region_x_size;
525 int current_tab_region_y_size;
526
527 // Pixel vs Colourmap
528 std::atomic<PvcmParameters> pvcm_param;
529
530 // Flags
531 bool scrollbar_vertical_moved_externally;
532 bool scrollbar_horizontal_moved_externally;
533
534 bool current_flip_state_vertical;
535 bool current_flip_state_horizontal;
536
537 bool defaults_set;
538
539 bool display_timestamp;
540
541 // Rendering plugins
542 QList<DdtRenderingPlugin*> rendering_plugins;
543 int active_rendering_plugin_index;
544
545 // Maps for access to dialogs
546 QMap<QString, DdtDialog*> dialog_map;
547 QMap<QString, bool> dialog_init_map;
548 QMap<QString, QString> dialogname_map;
549
550 // Context menu
551 QStringList context_menu_entries;
552 QString static_overlay_entry;
553
554 // Set of image points selected by user
555 QList<QPointF> point_list;
556 bool mark_position_mode;
557
558 // Last segment callback
559 std::function<void()> last_segment_callback;
560
561 // Constants
562 const int CLOCKWISE = 90;
563 const int ANTICLOCKWISE = -90;
564 const int NUM_ARGS_REMOTE_ATTACH = 2;
565
566 protected:
568 // Protected members
569 //
570
572 // Image Widget Properties
573 //
574
580
586
592
598
605
611
617
624
629
634
640
646
652
657
662
667
672
677
684 QMap<QString, float> scale_factor_pool;
685
692 QMap<QString, float> scale_factor_favorites;
693
701
707
713
719
721 // Configuration items
722 //
723
729
735
737 // Image handling
738 //
739
744
749
755 void resizeEvent(QResizeEvent* event);
756
761
766
774 QString tag, bool flag);
775
776 protected:
778 // Image statistics
779 //
780
791 void CalculatePickStatistics(PickMode pick_mode, double x, double y,
792 double pixel_value, QString ra, QString dec);
793
800 void GetTabularRegion(const double x_image, const double y_image);
801
802 private:
804 // Private Methods
805 //
806 void HandleImage();
807
808 void setCacheMode(DdtImageGraphicsItem* const item) const;
809
810 bool CheckMemAvailability(const QString filename,
811 const int extension_number) const;
812 bool CheckMemAvailabilityImageExtensions(const QString filename) const;
813 void GetDimensionInfo(const cpl_propertylist* const property_list,
814 int* const number_axis, int* const image_width,
815 int* const image_height, int* const byte_pix) const;
816 void ReadMemoryInfo(qint64* const mem_total, qint64* const mem_available,
817 qint64* const swap_free) const;
818
819 bool LoadExtension(const QString filename, int& extension_number);
820
821 void UpdatePick();
822 void StoreDataStreamPick();
823 double ConsiderFlipState(double angle) const;
824 bool CheckIfPickInactive() const;
825 void UpdatePVCMDialog();
826 void UpdatePVCMDialogMinMax();
827 void UpdatePVCMDialogAutoCuts();
828 void UpdatePVCMDialogCutValues();
829 void UpdatePVCMDialogPercent();
830
831 // Remote commands
832 void RemoteAttach(const QStringList args);
833 void RemoteDetach();
834 void RemoteRotate(const QStringList args);
835 void RemoteFlip(const QStringList args);
836 void RemoteZoom(const QStringList args);
837 void RemoteScale(const QStringList args);
838 void RemotePointSelection();
839 void RemoteStatistics();
840 void RemoteTabularRegion();
841 void RemoteScaleRotateCut();
842 void RemoteSlit();
843 void RemotePick();
844 void RemoteLoad(const QStringList args);
845 void RemoteDistance();
846 void RemoteOverlay(const QStringList args);
847
848 bool Xor(const bool state_a, const bool state_b) const;
849
850 // Widget setup
851 void Initialize();
852 void CreateWidget();
853 void SetDefaultSettings();
854 void SetDefaultColourmapSettings();
855 void SetDefaultConfigurationmapSettings();
856 void SetDefaultBiasImageSettings();
857
858 // Context Menu and Dialogs
859 void InitializeContextMenu();
860 void InitializeDialogNames();
861 QStringList AddDefaultContextMenuEntries() const;
862 QStringList AddDefaultDialogsNameEntries() const;
863 void ExecuteDialog(const QString dialog_id);
864 QMenu* ComposeDialogsContextMenu(const QString menu_title);
865
866 // File access
867 void BrowseForFile();
868 void BrowseForFileExt();
869 void SaveAsFile();
870 void ResetDataDialogs();
871 void ResetDialogs();
872 void ResetDialogsAndGraphics();
873 void ClearImage();
874 void StaticOverlay();
875
876 // Colourmap handling
877 void UpdateColourmap();
878
879 // FITS Header updates
880 void UpdateFitsHeaderDialog();
881
882 // Update all Monitor Samples dialog widgets values
883 void UpdateMonitorSamplesDialog();
884
885 // Metadata Sample updates
886 void UpdateMetadataSampleDialog();
887
888 // Update image
889 void UpdateImage(const QImage* const image);
890
891 // Update current plane
892 void UpdateCurrentPlane();
893
894 // BIAS handling
895 void StoreCurrentImage(const int dest_slot);
896 void DisplaySelected(const QVariant parameter);
897 void LoadFromDisc(const QVariant parameter);
898
899 // PVCM handling
900 void SendCutValuesAndHistogram();
901
902 // Cut values handling
903 void HandleCutValuesParameter(const QString parameter_id,
904 const QVariant parameter,
905 const QString dialog_id);
906 // HDU handling
907 void CheckHDUs();
908
909 // Binary Table handling
910 void CheckBinaryTable(const QString extension_name);
911 void FillTable(cpl_table* const table, const cpl_array* const column_names,
912 int* const ncol, int* const nrow,
913 const QString extension_name);
914 void FillSingleTable(cpl_table* const table, const char* const col_name,
915 QList<QVariant>& single_table,
916 QList<QVariant>& single_col_names, const int rows,
917 int* const num_vals, int* const cols) const;
918 void FillSingleTableString(cpl_table* const table, const char* const col_name,
919 QList<QVariant>& single_table,
920 const int rows) const;
921 void FillSingleTableInt(cpl_table* const table, const char* const col_name,
922 QList<QVariant>& singleTable, const int rows) const;
923 void FillSingleTableIntArr(cpl_table* const table, const char* const col_name,
924 QList<QVariant>& single_table, const int rows,
925 int* const num_vals) const;
926 void FillSingleTableFloat(cpl_table* const table, const char* const col_name,
927 QList<QVariant>& single_table,
928 const int rows) const;
929 void FillSingleTableFloatArr(cpl_table* const table,
930 const char* const col_name,
931 QList<QVariant>& single_table, const int rows,
932 int* const num_vals) const;
933 void FillSingleTableDouble(cpl_table* const table, const char* const col_name,
934 QList<QVariant>& single_table,
935 const int rows) const;
936 void FillSingleTableDoubleArr(cpl_table* const table,
937 const char* const col_name,
938 QList<QVariant>& single_table, const int rows,
939 int* const num_vals) const;
940
941 void SetBinaryTableParameter(const int table_number, const int rows,
942 const int cols,
943 const QList<QVariant> single_table,
944 const QList<QVariant> single_col_names);
945
946 void GetSingleTableDimensions(const cpl_table* const table,
947 const char* const col_name, const int rows,
948 int* const table_rows, int* const table_cols,
949 int* const dim_x) const;
950
951 // Statistic handling
952 void AdjustMagnificationWidgets(const double x, const double y);
953
954 // Get coordinates of visible rectangle
955 // The returned coordinates represent the lower left and upper right corners
956 // of the visible rectangle, converted into image coordinates
957 // coords[0] = lower left x coordinate
958 // coords[1] = lower left y coordinate
959 // coords[2] = upper right x coordinate
960 // coords[3] = upper right y coordinate
961 void GetVisibleRectCoordinates(QVector<double>& coords) const;
962
966 void ResetAndCleanViewBeforeLoad();
967
971 void HandleAndUpdateAfterLoad();
972
973 protected:
975 // Protected Methods
976 //
977
978 // Widget interface
979
980 // Magnification widget
981
989 void MagnifyImage(int x, int y, const bool pick_mode = false);
990
998 void MagnifyImageWithFactor(const QString mag_factor_str,
999 const int mag_fact_index, const int x,
1000 const int y);
1001
1002 // Dialog interfaces
1008 void SetInitialDialogParameters(DdtDialog* dialog, const QString dialog_id);
1015 const QString dialog_id);
1022 const QString dialog_id);
1023
1030 const QString dialog_id);
1037 const QString dialog_id);
1038
1045 const QString dialog_id);
1046
1053 const QString dialog_id);
1054
1061 const QString dialog_id);
1062
1069 const QString dialog_id);
1076 const QString dialog_id);
1077
1084 const QString dialog_id);
1085
1092 const QString dialog_id);
1093
1100 DdtDialog* dialog, const QString dialog_id);
1101
1108 const QString dialog_id);
1109
1116 const QString dialog_id);
1117
1124 const QString dialog_id);
1125
1132 const QString dialog_id);
1133
1140 const QString dialog_id);
1141
1148 const QString dialog_id);
1149
1156 const QString dialog_id);
1157
1163 void DialogParameterChangedColourmapDialog(const QString parameter_id,
1164 const QVariant parameter);
1171 void DialogParameterChangedPickObject(const QString parameter_id,
1172 const QVariant parameter);
1173
1180 void DialogParameterChangedMagnification(const QString parameter_id,
1181 const QVariant parameter);
1182
1183
1190 void DialogParameterChangedMonitorSamples(const QString parameter_id,
1191 const QVariant parameter);
1192
1199 void DialogParameterChangedTabularRegion(const QString parameter_id,
1200 const QVariant parameter);
1201
1208 void DialogParameterChangedGraphicalElements(const QString parameter_id,
1209 const QVariant parameter);
1216 void DialogParameterChangedGraphicsControl(const QString parameter_id,
1217 const QVariant parameter);
1218
1224 void DialogParameterChangedCutValues(const QString parameter_id,
1225 const QVariant parameter);
1226
1233 void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1234 const QVariant parameter);
1235
1241 void DialogParameterChangedBias(const QString parameter_id,
1242 const QVariant parameter);
1243
1249 void DialogParameterChangedStatistic(const QString parameter_id,
1250 const QVariant parameter);
1251
1257 void DialogParameterChangedSlit(const QString parameter_id,
1258 const QVariant parameter);
1259
1265 void DialogParameterChangedPVCM(const QString parameter_id,
1266 const QVariant parameter);
1267
1274 void DialogParameterChangedReferenceLine(const QString parameter_id,
1275 const QVariant parameter);
1276
1283 void DialogParameterChangedDataStream(const QString parameter_id,
1284 const QVariant parameter);
1285
1292 void DialogParameterChangedHDU(const QString parameter_id,
1293 const QVariant parameter);
1294
1300 void DialogParameterChangedDistance(const QString parameter_id,
1301 const QVariant parameter);
1302
1303 public slots:
1305 // Public slots
1306 //
1307
1311 void ChangeContrast(ddt::colorMap_t const& colourmap,
1312 ddt::colorMap_t const& colourmap_inverted,
1313 ddt::colorMapARGB_t const& colourmap_argb,
1314 ddt::colorMapARGB_t const& colourmap_argb_inverted);
1315
1319 void RestoreColourmap();
1320
1322 // Dialog interface
1323 //
1324
1331 void DialogParameterChanged(const QString dialog_id,
1332 const QString parameter_id,
1333 const QVariant parameter);
1334
1336 // Data Stream Widget interface
1337 //
1338
1344 void AttachDataStream(const QString data_stream_id);
1345
1350 void DetachDataStream(const QString data_stream_id);
1351
1359 bool AttachDataFile(QString filename, const bool open_single = false);
1360
1366 void AttachImageExtensionsAsOne(QString filename);
1367
1373 void LastBrokerConnection(const QString data_stream_id);
1374
1378 void CheckInvalidImageHDUs() const;
1379
1384 void SetImageScale(const QString image_scale);
1385
1390 void SetNoWaitNewData(const bool no_wait_flag);
1391
1401 void SetImageRefreshRate(bool enabled, double interval_seconds);
1402
1409 QString LoadOverlayFile(const QString startup_overlay_file,
1410 const bool remote = false);
1411
1413 // Flip Rotate Widget interface
1414 //
1415
1424 void FlipImage(bool vertical_axis, bool horizontal_axis);
1425
1430 void RotateImage(int rotation_angle);
1431
1433 // Panning Widget interface
1434 //
1435
1443 void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y);
1444
1445 // Scale Buttons Widget interface
1450 void IncrementScale();
1451
1456 void DecrementScale();
1457
1462 void SetToDefaultScale();
1463
1469 void SelectNewScale(QString next_scale);
1470
1475
1481 QString FindAutoScale();
1482
1488 void IncrementLayer(const int inc);
1489
1495 void DecrementLayer(const int dec);
1496
1501 void JumpToLayer(const int num);
1502
1503 // Graphical Elements Dialog
1504
1513 void GraphicalElement(double x1, double y1, double x2, double y2,
1514 const QString draw_mode);
1515
1526 void GraphicalTextElement(double x1, double y1, double x2, double y2,
1527 const QString draw_mode, QString text);
1528
1529 // Statistics Dialog
1530
1539 void StatisticRectangle(const double x1, const double y1, const double x2,
1540 const double y2);
1541
1542 // Slit Dialog
1543
1553 void SlitElement(const double target_x, const double target_y,
1554 const double slit_x, const double slit_y,
1555 const double x_offset, const double y_offset);
1556
1557 // Reference Line Dialog
1558 void CalculateHistogramReferenceLine(QPointF p1, QPointF p2);
1559
1560 // Distance Dialog
1561 void CalculateDistanceLine(QPointF p1, QPointF p2);
1562
1564 // Magnification Widget interface
1565 //
1572 void SetMagnificationFactor(const QString magnification_factor);
1573
1575 // Cursor Information Widget interface
1576 //
1577
1585 void CursorPosition(double x, double y, bool mouse_clicked);
1586
1588 // Cut Values Widget interface
1589 //
1590
1596 void SetCutValues(const double low, const double high);
1597
1601 void SetAutoCuts();
1602
1606 void SetMinMaxCuts();
1607
1609 // Internal slots
1610 //
1611
1615 void DetachStream();
1616
1620 void HandleNewDataEvent();
1621
1626 void HandleConnectionStateEvent(int connection_status);
1627
1633 void SetAutoScaleState(const bool new_auto_scale_state);
1634
1635 private slots:
1637 // Private slots
1638 //
1639
1640 // Loading rendering plugins
1641 void LoadRenderingPlugins();
1642
1643 // Scrollbar handling
1644 void ScrollBarVerticalMoved(int pos);
1645 void ScrollBarHorizontalMoved(int pos);
1646 void ScrollBarRangeChanged(int min, int max);
1647
1648 // Context menu related
1649 void DisplayContextMenu(const QPoint& pos);
1650 void ExecuteContextMenuCommand(const QString command);
1651
1652 signals:
1653
1655 // Signals
1656 //
1657
1659 // Dialogs
1660 //
1661
1668 void SetChangedDialogParameter(QString param_id, QVariant parameter);
1669
1675
1677 // Panning Widget interface
1678 //
1679
1687 void UpdatedImage(const QImage& image, const QTransform& transform,
1688 const double rotation);
1689
1698 void ImageWidgetViewChanged(QRectF visible_image_rect,
1699 int current_image_width,
1700 int current_image_height);
1701
1706
1712 void ConnectionStateBoostEvent(int connection_status);
1713
1715 // Cursor Information Widget Interface
1716 //
1717
1727 void CursorInfo(double x, double y, double pixelvalue, QString ra,
1728 QString decl);
1729
1731 // Flip Rotate Widget Interface
1732 //
1738 void UpdateFlipStatus(bool vertical, bool horizontal);
1739
1743 void Swap();
1744
1746 // Magnification Widget interface
1747 //
1748
1749 void MagnifiedImage(QImage magnified_image);
1751
1753 // Cube Navigation Widget Interface
1754 //
1761 void CurrentLayer(const int current_layer, const int total_layers);
1762
1764 // Cut Values Widget interface
1765 //
1766
1772 void CurrentCutValues(double cutvalue_min, double cutvalue_max);
1773
1775 // Colourmap Widget interface
1776 //
1777
1782 void SetCurrentColourmap(QVector<QRgb> colourtable);
1783
1791 void UpdateColourbarAxis(double min_value, double max_value,
1792 int scaling_function);
1793
1798 void InvertColourmap(bool inverted);
1799
1801 // Data Stream Widget
1802 //
1803
1810 void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status);
1811
1813 // Image Widget interface - internal slots
1814 //
1815
1820 void ContextMenuCommandSelected(QString menu_entry);
1821
1826 void Reset();
1827
1832
1834 // Image Scale Widget interface
1835 //
1836
1842 void ScaleFactorListChanged(QList<QString> scale_factor_list);
1843
1849 void UpdateScaleFactor(QString new_scale_factor);
1850
1857 void UpdateAutoScale(bool new_state);
1858};
1859
1860#endif // DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
Definition ddtDialog.hpp:18
Definition ddtGraphicalElementProperties.hpp:20
Definition ddtGraphicalOverlay.hpp:21
Definition ddtGraphicsView.hpp:71
Definition ddtImageGraphicsItem.hpp:19
QString ScaleFactorList
Definition ddtImageWidget.hpp:53
void RemoveAllItemsFromScene()
Definition ddtImageWidget.cpp:1505
QString LoadOverlayFile(const QString startup_overlay_file, const bool remote=false)
Definition ddtImageWidget.cpp:3993
void DialogParameterChangedReferenceLine(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2521
void SetActiveRenderingPlugin(const int rendering_plugin_id)
Definition ddtImageWidget.cpp:604
DdtOverlayRendering * overlay_rendering
Definition ddtImageWidget.hpp:473
DdtGraphicalElementProperties get_overlay_properties()
Definition ddtImageWidget.cpp:4530
void CurrentConnectStatus(QString data_stream_id, ConnectionStatus status)
void MarkPositions()
Definition ddtImageWidget.cpp:1637
void SetInitialDialogParametersScaleRotateCutValuesDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1217
QString FetchDialogName(const QString dialog_id) const
Definition ddtImageWidget.cpp:768
QString FindAutoScale()
Definition ddtImageWidget.cpp:4955
void HandleNewDataEvent()
Definition ddtImageWidget.cpp:4076
void DialogParameterChangedColourmapDialog(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2037
void set_logger(ddt::DdtLogger *const in_logger)
Definition ddtImageWidget.cpp:573
QString current_magnification_factor
Definition ddtImageWidget.hpp:656
void MagnifyImageWithFactor(const QString mag_factor_str, const int mag_fact_index, const int x, const int y)
Definition ddtImageWidget.cpp:4794
bool auto_scale
auto_scale Flag for the usage of automatic scaling of new images
Definition ddtImageWidget.hpp:591
void DetachDataStream(const QString data_stream_id)
Definition ddtImageWidget.cpp:3940
QString get_define_scale_factor() const
get_define_scale_factor this returns the string with scale factors which is set from outside over the...
Definition ddtImageWidget.cpp:447
bool refresh_rate_limit_enabled
Definition ddtImageWidget.hpp:610
void SetMagnificationFactor(const QString magnification_factor)
SetMagnificationFactor Slot that is called, when the magnification factor of the magnification widget...
Definition ddtImageWidget.cpp:4852
void UpdateAllStatistics()
Definition ddtImageWidget.cpp:4254
void SetInitialDialogParametersTabularRegionDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:953
::cpl_image * GetCurrentlyDisplayedImagePtr()
Definition ddtImageWidget.cpp:5856
void GraphicsControlCheckTaggedItems(DdtGraphicalOverlay *overlay, QString tag, bool flag)
Definition ddtImageWidget.cpp:2307
bool use_open_gl
use_open_gl Flag for the usage of OpenGl
Definition ddtImageWidget.hpp:579
QString get_default_colourmap() const
Definition ddtImageWidget.cpp:541
void HandleNewBoostDataEvent()
Definition ddtImageWidget.cpp:4023
QTransform scaling_transform
Definition ddtImageWidget.hpp:743
void SetAutoScaleState(const bool new_auto_scale_state)
SetAutoScaleState This will be called to set the state of the auto scale.
Definition ddtImageWidget.cpp:4186
void RegisterLastSegmentCallback(std::function< void()> const &LastSegmentFunction)
Definition ddtImageWidget.cpp:1673
void set_use_open_gl(const bool open_gl)
Definition ddtImageWidget.cpp:421
QString current_scale_factor
current_scale_factor The current used scale factor
Definition ddtImageWidget.hpp:645
QString get_default_scale_factor() const
Definition ddtImageWidget.cpp:528
void ClearMagnifiedImage()
void UpdateFlipStatus(bool vertical, bool horizontal)
DdtImageWidget(QWidget *parent=nullptr)
Definition ddtImageWidget.cpp:51
void CurrentCutValues(double cutvalue_min, double cutvalue_max)
void ReloadGraphicsItem()
Definition ddtImageWidget.cpp:4208
QString EndMarkPositions()
Definition ddtImageWidget.cpp:1647
void SetToDefaultScale()
Definition ddtImageWidget.cpp:4893
void RestoreColourmap()
Definition ddtImageWidget.cpp:336
QString get_default_bias_image() const
Definition ddtImageWidget.cpp:451
void GetTabularRegion(const double x_image, const double y_image)
Definition ddtImageWidget.cpp:5304
QString default_bias_image
Definition ddtImageWidget.hpp:628
QString default_scale_factor
default_scale_factor Value of the default scale factor
Definition ddtImageWidget.hpp:597
void SetImageScale(const QString image_scale)
Definition ddtImageWidget.cpp:3968
void set_define_scale_factor(const QString new_values)
set_define_scale_factor This is used to set the scale factors from outside over the properties.
Definition ddtImageWidget.cpp:465
void AttachImageFromPointer(float *new_image_data, int nx, int ny)
Definition ddtImageWidget.cpp:5772
void AddRenderingPlugins(DdtRenderingPlugin *const new_plugin)
Definition ddtImageWidget.cpp:599
DdtGraphicalElementProperties overlay_properties
Definition ddtImageWidget.hpp:478
QString selected_scale_factor
selected_scale_factor Last selected scale factor
Definition ddtImageWidget.hpp:651
void ScaleFactorForNewImage()
Definition ddtImageWidget.cpp:3816
void UpdateThumbnailImages()
Definition ddtImageWidget.cpp:4259
void SetInitialDialogParametersDataStreamDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:919
void SetInitialDialogParametersPVCMDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1289
void DialogParameterChangedGraphicsControl(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2249
void DialogParameterChangedStatistic(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2461
void SetInitialDialogParametersBiasDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1248
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:734
void SetInitialDialogParametersCutValuesDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1055
void ActivateTimestampDisplay()
Definition ddtImageWidget.cpp:1680
void IncrementScale()
Definition ddtImageWidget.cpp:4859
void SlitElement(const double target_x, const double target_y, const double slit_x, const double slit_y, const double x_offset, const double y_offset)
Definition ddtImageWidget.cpp:4507
void resizeEvent(QResizeEvent *event)
Definition ddtImageWidget.cpp:1471
void ConnectionStateBoostEvent(int connection_status)
QString define_scale_factor
define_scale_factor This string is configured from outside over the designer. The scale factors are s...
Definition ddtImageWidget.hpp:700
void JumpToLayer(const int num)
Definition ddtImageWidget.cpp:5467
void DialogParameterChangedSlit(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2666
void CursorPosition(double x, double y, bool mouse_clicked)
Definition ddtImageWidget.cpp:4554
void RemoveAllOverlayItemsFromScene()
Definition ddtImageWidget.cpp:1530
void DialogParameterChangedMonitorSamples(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2570
QString list_dialogs_menu
list_dialogs_menu List of context menu dialog items
Definition ddtImageWidget.hpp:718
QString ListDialogsMenu
Definition ddtImageWidget.hpp:59
void InitializeDialogMap(const QMap< QString, DdtDialog * > insert_map)
Definition ddtImageWidget.cpp:1545
void GraphicalElement(double x1, double y1, double x2, double y2, const QString draw_mode)
Definition ddtImageWidget.cpp:4301
void SetInitialDialogParametersBinaryTableDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1342
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:604
QString get_list_context_menu() const
Definition ddtImageWidget.cpp:560
void set_show_scrollbars(const bool set_show_scrollbars)
Definition ddtImageWidget.cpp:461
void SetInitialDialogParameters(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:808
void CloseAllDialogs()
CloseAllDialogs This will close all dialogs.
Definition ddtImageWidget.cpp:4198
bool eventFilter(QObject *obj, QEvent *event)
Definition ddtImageWidget.cpp:1462
bool UseAntialiasing
Definition ddtImageWidget.hpp:48
void SetInitialDialogParametersMagnificationDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:948
void DialogParameterChangedTabularRegion(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2157
void SelectNewScale(QString next_scale)
SelectScale this is called to switch the scale factor by a key.
Definition ddtImageWidget.cpp:4908
bool use_antialiasing
use_antialiasing Flag for the usage of antialiasing
Definition ddtImageWidget.hpp:585
void SetAutoCuts()
Definition ddtImageWidget.cpp:5103
void SetInitialDialogParametersGraphicalDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1016
void set_use_antialiasing(const bool antialiasing)
Definition ddtImageWidget.cpp:434
void set_default_bias_image(const QString set_bias_image)
Definition ddtImageWidget.cpp:455
void UpdateScaleFactor(QString new_scale_factor)
UpdateScaleFactor this signal inform others about a new scale factor.
void set_auto_scale(const bool scale)
Definition ddtImageWidget.cpp:442
DdtGraphicalOverlay * get_graphical_overlay()
Definition ddtImageWidget.cpp:4535
int last_magnify_y
Definition ddtImageWidget.hpp:676
QString DefaultColourmap
Definition ddtImageWidget.hpp:55
void ImageWidgetViewChanged(QRectF visible_image_rect, int current_image_width, int current_image_height)
void DecrementLayer(const int dec)
Definition ddtImageWidget.cpp:5444
QString current_dialog_magnification_factor
Definition ddtImageWidget.hpp:666
void SetInitialDialogParametersMonitorSamplesDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:891
void CalculateDistanceLine(QPointF p1, QPointF p2)
Definition ddtImageWidget.cpp:4478
void UpdatePosition(double scroll_fraction_x, double scroll_fraction_y)
Definition ddtImageWidget.cpp:4729
void DialogParameterChangedCutValues(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2335
bool AttachDataFile(QString filename, const bool open_single=false)
Definition ddtImageWidget.cpp:2786
void DialogParameterChangedHDU(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2531
void DialogParameterChangedBias(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2419
void InvertColourmap(bool inverted)
QString DefaultScale
Definition ddtImageWidget.hpp:51
void IncrementLayer(const int inc)
Definition ddtImageWidget.cpp:5420
void UpdateColourbarAxis(double min_value, double max_value, int scaling_function)
double refresh_rate_interval_s
Definition ddtImageWidget.hpp:616
void ProcessRemoteCommand(const std::string &command_name, const std::vector< std::string > &command_arguments)
Definition ddtImageWidget.cpp:5485
void SetInitialDialogParametersPickObjectDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:941
bool UseOpenGL
Definition ddtImageWidget.hpp:46
QString DefautBiasImage
Definition ddtImageWidget.hpp:61
void SetInitialDialogParametersHDUDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:973
void MagnifyImage(int x, int y, const bool pick_mode=false)
Definition ddtImageWidget.cpp:4749
bool get_use_antialiasing() const
Definition ddtImageWidget.cpp:432
void set_default_scale_factor(const QString new_default_scale_factor)
Definition ddtImageWidget.cpp:532
void RotateImage(int rotation_angle)
Definition ddtImageWidget.cpp:4670
void DialogParameterChangedPVCM(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2579
ddt::DdtLogger * logger
Definition ddtImageWidget.hpp:465
DdtOverlayRendering * GetOverlayRendering()
Definition ddtImageWidget.cpp:1954
void DialogParameterChangedDataStream(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2553
void CalculatePickStatistics(PickMode pick_mode, double x, double y, double pixel_value, QString ra, QString dec)
Definition ddtImageWidget.cpp:5134
bool get_auto_scale() const
Definition ddtImageWidget.cpp:440
int last_magnify_x
Definition ddtImageWidget.hpp:671
void SetInitialDialogParametersReferenceLineDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1325
bool ShowScrollbars
Definition ddtImageWidget.hpp:63
uintptr_t GetCurrentlyDisplayedImageAsRawPtr()
Definition ddtImageWidget.cpp:5878
void GraphicalTextElement(double x1, double y1, double x2, double y2, const QString draw_mode, QString text)
Definition ddtImageWidget.cpp:4368
void NewBoostDataEvent()
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition ddtImageWidget.cpp:5404
void StatisticRectangle(const double x1, const double y1, const double x2, const double y2)
Definition ddtImageWidget.cpp:4382
void set_list_context_menu(const QString new_list_context_menu)
Definition ddtImageWidget.cpp:555
QString default_colourmap
default_colourmap The default colourmap
Definition ddtImageWidget.hpp:706
void SetOverlayImageFile(const QString overlay_file)
Definition ddtImageWidget.cpp:587
void ChangeContrast(ddt::colorMap_t const &colourmap, ddt::colorMap_t const &colourmap_inverted, ddt::colorMapARGB_t const &colourmap_argb, ddt::colorMapARGB_t const &colourmap_argb_inverted)
Definition ddtImageWidget.cpp:325
void CursorInfo(double x, double y, double pixelvalue, QString ra, QString decl)
void CurrentLayer(const int current_layer, const int total_layers)
void SetMinMaxCuts()
Definition ddtImageWidget.cpp:5117
void CutLevelChanged()
Definition ddtImageWidget.cpp:4995
void CheckInvalidImageHDUs() const
Definition ddtImageWidget.cpp:3415
void UpdatedImage(const QImage &image, const QTransform &transform, const double rotation)
void ReadScaleFactors()
DdtImageWidget::readScaleFactors Reads out the string of scale values and put them converted to float...
Definition ddtImageWidget.cpp:473
void DefaultDockWidgetsLayout()
QString get_list_dialogs_menu() const
Definition ddtImageWidget.cpp:569
void SetInitialDialogParametersFITSHeaderDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:983
void SetChangedDialogParameter(QString param_id, QVariant parameter)
void SetInitialDialogParametersStatisticDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1278
void CalculateHistogramReferenceLine(QPointF p1, QPointF p2)
Definition ddtImageWidget.cpp:4440
qint64 last_display_time_ms
Definition ddtImageWidget.hpp:623
QTransform rotation_transform
Definition ddtImageWidget.hpp:748
QString colourmap_directory
colourmap_directory The colourmap directory used
Definition ddtImageWidget.hpp:728
void SetImageRefreshRate(bool enabled, double interval_seconds)
Definition ddtImageWidget.cpp:3984
void DialogParameterChangedDistance(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2617
void LastBrokerConnection(const QString data_stream_id)
Definition ddtImageWidget.cpp:3964
void SetInitialDialogParametersDistanceDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1332
bool get_show_scrollbars() const
Definition ddtImageWidget.cpp:459
bool show_scrollbars
Definition ddtImageWidget.hpp:633
void ScaleFactorListChanged(QList< QString > scale_factor_list)
ScaleFactorListChanged Signal to inform other about new scale values are set.
void DialogParameterChangedGraphicalElements(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2168
void HandleConnectionStateEvent(int connection_status)
Definition ddtImageWidget.cpp:4033
int current_rotation_value
current_rotation_value The current used rotation on present image
Definition ddtImageWidget.hpp:639
void AttachImageExtensionsAsOne(QString filename)
Definition ddtImageWidget.cpp:3323
void SetNoWaitNewData(const bool no_wait_flag)
Definition ddtImageWidget.cpp:3980
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition ddtImageWidget.cpp:5412
void MagnifiedImage(QImage magnified_image)
void DialogParameterChangedMagnification(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2149
void HandleConnectionStateBoostEvent(int connection_status)
Definition ddtImageWidget.cpp:4029
bool get_use_open_gl() const
Definition ddtImageWidget.cpp:419
signal_response response_signal
Definition ddtImageWidget.hpp:110
QString current_pick_object_magnification_factor
Definition ddtImageWidget.hpp:661
void FlipImage(bool vertical_axis, bool horizontal_axis)
Definition ddtImageWidget.cpp:4630
void DetachStream()
Definition ddtImageWidget.cpp:3934
void SetInitialDialogParametersMetadataSampleDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1071
void DecrementScale()
Definition ddtImageWidget.cpp:4876
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:684
void DialogParameterChanged(const QString dialog_id, const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:1988
void SetCutValues(const double low, const double high)
Definition ddtImageWidget.cpp:5095
void GraphicalElementsDialogClosed()
void ContextMenuCommandSelected(QString menu_entry)
QString ListContextMenu
Definition ddtImageWidget.hpp:57
void RedrawOverlay()
Definition ddtImageWidget.cpp:4545
void DialogParameterChangedScaleRotateCutValues(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2341
bool AutoScale
Definition ddtImageWidget.hpp:49
QList< QString > SortedScaleFactors(QMap< QString, float > scale_map)
DdtImageWidget::sortedScaleFactors Sorts the list of scale factors based on the float values.
Definition ddtImageWidget.cpp:513
void AttachDataStream(const QString data_stream_id)
Definition ddtImageWidget.cpp:3854
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:692
float ParseFractionString(QString fraction_str)
Definition ddtImageWidget.cpp:5387
void set_default_colourmap(const QString new_default_colourmap)
Definition ddtImageWidget.cpp:545
void SetInitialDialogParametersGraphicsControl(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:1047
void DialogParameterChangedPickObject(const QString parameter_id, const QVariant parameter)
Definition ddtImageWidget.cpp:2062
void set_list_dialogs_menu(const QString new_list_dialogs_menu)
Definition ddtImageWidget.cpp:564
void SetInitialDialogParametersColourmapDialog(DdtDialog *dialog, const QString dialog_id)
Definition ddtImageWidget.cpp:860
QString list_context_menu
list_context_menu List of context menu items
Definition ddtImageWidget.hpp:712
Definition ddtOverlayRendering.hpp:28
Definition ddtRenderingPlugin.hpp:32
DdtWidget(QWidget *parent=nullptr)
DdtWidget.
Definition ddtWidget.cpp:19
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:16
ConnectionStatus
Definition ddtDatavisualisationDefines.hpp:84
PvcmParameters
Definition ddtDatavisualisationDefines.hpp:42
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:37
DDT Widgets. Base class for the DDT widgets. Base class for the DDT widgets.
Definition ddtClient.hpp:32
string p1
Definition testCommandLineParser.cpp:355
string p2
Definition testCommandLineParser.cpp:356