11#ifndef DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
12#define DDT_DATAVISUALISATION_DDTWIDGETS_IMAGEWIDGET_HPP
14#define BOOST_BIND_GLOBAL_PLACEHOLDERS
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>
23#include <QtUiPlugin/QDesignerExportWidget>
92 const std::vector<std::
string>& command_arguments);
308 double* const x_image,
double* const y_image) const;
318 double* const x_canvas,
319 double* const y_canvas) const;
390 std::function<
void()> const& LastSegmentFunction);
486 cpl_image* displayedImageCopy =
nullptr;
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;
496 QString last_image_path;
497 QString last_selected_file;
498 int current_extension;
499 std::atomic<
bool> overlay_file_loaded;
503 QGraphicsScene* scene;
504 QGraphicsItem* current_image_item;
506 ddt::ImageHandling* img_handling;
508 int current_image_width;
509 int current_image_height;
511 std::atomic<
bool> image_cleared;
515 bool show_pick_marker;
516 int current_pick_square_size;
519 std::atomic<
bool> datastream_pick;
520 double datastream_picked_x;
521 double datastream_picked_y;
524 int current_tab_region_x_size;
525 int current_tab_region_y_size;
531 bool scrollbar_vertical_moved_externally;
532 bool scrollbar_horizontal_moved_externally;
534 bool current_flip_state_vertical;
535 bool current_flip_state_horizontal;
539 bool display_timestamp;
543 int active_rendering_plugin_index;
547 QMap<QString,
bool> dialog_init_map;
548 QMap<QString, QString> dialogname_map;
551 QStringList context_menu_entries;
552 QString static_overlay_entry;
555 QList<QPointF> point_list;
556 bool mark_position_mode;
559 std::function<
void()> last_segment_callback;
562 const
int CLOCKWISE = 90;
563 const
int ANTICLOCKWISE = -90;
564 const
int NUM_ARGS_REMOTE_ATTACH = 2;
774 QString tag,
bool flag);
792 double pixel_value, QString ra, QString dec);
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;
819 bool LoadExtension(const QString filename,
int& extension_number);
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();
832 void RemoteAttach(const QStringList args);
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();
844 void RemoteLoad(const QStringList args);
845 void RemoteDistance();
846 void RemoteOverlay(const QStringList args);
848 bool Xor(const
bool state_a, const
bool state_b) const;
853 void SetDefaultSettings();
854 void SetDefaultColourmapSettings();
855 void SetDefaultConfigurationmapSettings();
856 void SetDefaultBiasImageSettings();
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);
867 void BrowseForFile();
868 void BrowseForFileExt();
870 void ResetDataDialogs();
872 void ResetDialogsAndGraphics();
874 void StaticOverlay();
877 void UpdateColourmap();
880 void UpdateFitsHeaderDialog();
883 void UpdateMonitorSamplesDialog();
886 void UpdateMetadataSampleDialog();
889 void UpdateImage(const QImage* const image);
892 void UpdateCurrentPlane();
895 void StoreCurrentImage(const
int dest_slot);
896 void DisplaySelected(const QVariant parameter);
897 void LoadFromDisc(const QVariant parameter);
900 void SendCutValuesAndHistogram();
903 void HandleCutValuesParameter(const QString parameter_id,
904 const QVariant parameter,
905 const QString dialog_id);
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;
941 void SetBinaryTableParameter(const
int table_number, const
int rows,
943 const QList<QVariant> single_table,
944 const QList<QVariant> single_col_names);
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;
952 void AdjustMagnificationWidgets(const
double x, const
double y);
961 void GetVisibleRectCoordinates(QVector<
double>& coords) const;
966 void ResetAndCleanViewBeforeLoad();
971 void HandleAndUpdateAfterLoad();
989 void MagnifyImage(
int x,
int y, const
bool pick_mode = false);
999 const
int mag_fact_index, const
int x,
1015 const QString dialog_id);
1022 const QString dialog_id);
1030 const QString dialog_id);
1037 const QString dialog_id);
1045 const QString dialog_id);
1053 const QString dialog_id);
1061 const QString dialog_id);
1069 const QString dialog_id);
1076 const QString dialog_id);
1084 const QString dialog_id);
1092 const QString dialog_id);
1100 DdtDialog* dialog, const QString dialog_id);
1108 const QString dialog_id);
1116 const QString dialog_id);
1124 const QString dialog_id);
1132 const QString dialog_id);
1140 const QString dialog_id);
1148 const QString dialog_id);
1156 const QString dialog_id);
1164 const QVariant parameter);
1172 const QVariant parameter);
1181 const QVariant parameter);
1191 const QVariant parameter);
1200 const QVariant parameter);
1209 const QVariant parameter);
1217 const QVariant parameter);
1225 const QVariant parameter);
1234 const QVariant parameter);
1242 const QVariant parameter);
1250 const QVariant parameter);
1258 const QVariant parameter);
1266 const QVariant parameter);
1275 const QVariant parameter);
1284 const QVariant parameter);
1293 const QVariant parameter);
1301 const QVariant parameter);
1312 ddt::colorMap_t const& colourmap_inverted,
1313 ddt::colorMapARGB_t const& colourmap_argb,
1314 ddt::colorMapARGB_t const& colourmap_argb_inverted);
1332 const QString parameter_id,
1333 const QVariant parameter);
1359 bool AttachDataFile(QString filename, const
bool open_single = false);
1410 const
bool remote = false);
1424 void FlipImage(
bool vertical_axis,
bool horizontal_axis);
1443 void UpdatePosition(
double scroll_fraction_x,
double scroll_fraction_y);
1514 const QString draw_mode);
1527 const QString draw_mode, QString text);
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);
1596 void SetCutValues(const
double low, const
double high);
1641 void LoadRenderingPlugins();
1644 void ScrollBarVerticalMoved(
int pos);
1645 void ScrollBarHorizontalMoved(
int pos);
1646 void ScrollBarRangeChanged(
int min,
int max);
1649 void DisplayContextMenu(const QPoint& pos);
1650 void ExecuteContextMenuCommand(const QString command);
1688 const
double rotation);
1699 int current_image_width,
1700 int current_image_height);
1727 void CursorInfo(
double x,
double y,
double pixelvalue, QString ra,
1792 int scaling_function);
Definition ddtDialog.hpp:18
Definition ddtGraphicalElementProperties.hpp:20
Definition ddtGraphicalOverlay.hpp:21
Definition ddtGraphicsView.hpp:71
Definition ddtImageGraphicsItem.hpp:19
Definition ddtOverlayRendering.hpp:28
Definition ddtRenderingPlugin.hpp:32
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...
Definition ddtClient.hpp:32
string p1
Definition testCommandLineParser.cpp:355
string p2
Definition testCommandLineParser.cpp:356