55 Q_PROPERTY(
bool UseOpenGL READ get_use_open_gl WRITE set_use_open_gl)
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)
72 bool ShowScrollbars READ get_show_scrollbars WRITE set_show_scrollbars)
100 void ProcessRemoteCommand(const std::
string& command_name,
101 const std::vector<std::
string>& command_arguments);
107 void InitializeDialogMap(const QMap<QString,
DdtDialog*> insert_map);
114 QString FetchDialogName(const QString dialog_id) const;
129 bool get_use_open_gl() const;
135 void set_use_open_gl(const
bool open_gl);
141 bool get_use_antialiasing() const;
147 void set_use_antialiasing(const
bool antialiasing);
153 bool get_auto_scale() const;
159 void set_auto_scale(const
bool scale);
167 void ReadScaleFactors();
174 QList<QString> SortedScaleFactors(QMap<QString,
float> scale_map);
183 QString get_define_scale_factor() const;
191 void set_define_scale_factor(const QString new_values);
197 QString get_default_scale_factor() const;
203 void set_default_scale_factor(const QString new_default_scale_factor);
209 QString get_default_colourmap() const;
215 void set_default_colourmap(const QString new_default_colourmap);
221 void set_list_context_menu(const QString new_list_context_menu);
227 QString get_list_context_menu() const;
233 void set_list_dialogs_menu(const QString new_list_dialogs_menu);
239 QString get_list_dialogs_menu() const;
245 QString get_default_bias_image() const;
251 void set_default_bias_image(const QString set_bias_image);
257 bool get_show_scrollbars() const;
263 void set_show_scrollbars(const
bool set_show_scrollbars);
285 void RedrawOverlay();
295 void set_logger(
ddt::DdtLogger* const in_logger);
307 float ParseFractionString(QString fraction_str);
316 void ConvertCanvasToImage(const
double x_canvas, const
double y_canvas,
317 double* const x_image,
double* const y_image) const;
326 void ConvertImageToCanvas(const
double x_image, const
double y_image,
327 double* const x_canvas,
328 double* const y_canvas) const;
340 bool eventFilter(QObject* obj, QEvent* event);
346 void HandleNewBoostDataEvent();
351 void CutLevelChanged();
356 void ReloadGraphicsItem();
362 void UpdateThumbnailImages();
367 void UpdateAllStatistics();
373 void CloseAllDialogs();
380 void MarkPositions();
386 QString EndMarkPositions();
392 void RegisterLastSegmentCallback(
393 std::function<
void()> const& LastSegmentFunction);
398 void SetOverlayImageFile(const QString overlay_file);
409 void SetActiveRenderingPlugin(const
int rendering_plugin_id);
414 void ActivateTimestampDisplay();
419 void AttachImageFromPointer(
float* new_image_data,
int nx,
int ny);
424 void AttachImageFromPointer(
double* new_image_data,
int nx,
int ny);
429 void AttachImageFromPointer(int32_t* new_image_data,
int nx,
int ny);
434 void AttachImageFromPointer(uint8_t* new_image_data,
int nx,
int ny);
439 void AttachImageFromPointer(uint16_t* new_image_data,
int nx,
int ny);
444 void AttachImageFromPointer(uint32_t* new_image_data,
int nx,
int ny);
449 void AttachImageFromPointer(int16_t* new_image_data,
int nx,
int ny);
479 QString current_stream_id;
480 QString last_stream_id;
481 boost::signals2::connection connection;
482 boost::signals2::connection connection_cutlevel;
485 QString last_image_path;
486 QString last_selected_file;
487 int current_extension;
488 std::atomic<
bool> overlay_file_loaded;
492 QGraphicsScene* scene;
493 QGraphicsItem* current_image_item;
495 ddt::ImageHandling* img_handling;
497 int current_image_width;
498 int current_image_height;
500 std::atomic<
bool> image_cleared;
504 bool show_pick_marker;
505 int current_pick_square_size;
508 std::atomic<
bool> datastream_pick;
509 double datastream_picked_x;
510 double datastream_picked_y;
513 int current_tab_region_x_size;
514 int current_tab_region_y_size;
520 bool scrollbar_vertical_moved_externally;
521 bool scrollbar_horizontal_moved_externally;
523 bool current_flip_state_vertical;
524 bool current_flip_state_horizontal;
528 bool display_timestamp;
532 int active_rendering_plugin_index;
536 QMap<QString,
bool> dialog_init_map;
537 QMap<QString, QString> dialogname_map;
540 QStringList context_menu_entries;
541 QString static_overlay_entry;
544 QList<QPointF> point_list;
545 bool mark_position_mode;
548 std::function<
void()> last_segment_callback;
551 const
int CLOCKWISE = 90;
552 const
int ANTICLOCKWISE = -90;
553 const
int NUM_ARGS_REMOTE_ATTACH = 2;
574 bool use_antialiasing;
586 QString default_scale_factor;
593 bool no_wait_new_data;
598 QString default_bias_image;
603 bool show_scrollbars;
609 int current_rotation_value;
615 QString current_scale_factor;
621 QString selected_scale_factor;
626 QString current_magnification_factor;
631 QString current_pick_object_magnification_factor;
636 QString current_dialog_magnification_factor;
654 QMap<QString,
float> scale_factor_pool;
662 QMap<QString,
float> scale_factor_favorites;
670 QString define_scale_factor;
676 QString default_colourmap;
682 QString list_context_menu;
688 QString list_dialogs_menu;
698 QString colourmap_directory;
704 QString configurationmap_directory;
713 QTransform scaling_transform;
718 QTransform rotation_transform;
725 void resizeEvent(QResizeEvent* event);
730 void RemoveAllItemsFromScene();
735 void RemoveAllOverlayItemsFromScene();
744 QString tag,
bool flag);
761 void CalculatePickStatistics(
PickMode pick_mode,
double x,
double y,
762 double pixel_value, QString ra, QString dec);
770 void GetTabularRegion(const
double x_image, const
double y_image);
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;
789 bool LoadExtension(const QString filename,
int& extension_number);
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();
802 void RemoteAttach(const QStringList args);
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();
814 void RemoteLoad(const QStringList args);
815 void RemoteDistance();
816 void RemoteOverlay(const QStringList args);
818 bool Xor(const
bool state_a, const
bool state_b) const;
823 void SetDefaultSettings();
824 void SetDefaultColourmapSettings();
825 void SetDefaultConfigurationmapSettings();
826 void SetDefaultBiasImageSettings();
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);
837 void BrowseForFile();
838 void BrowseForFileExt();
842 void StaticOverlay();
845 void UpdateColourmap();
848 void UpdateFitsHeaderDialog();
851 void UpdateMonitorSamplesDialog();
854 void UpdateMetadataSampleDialog();
857 void UpdateImage(const QImage* const image);
860 void UpdateCurrentPlane();
863 void StoreCurrentImage(const
int dest_slot);
864 void DisplaySelected(const QVariant parameter);
865 void LoadFromDisc(const QVariant parameter);
868 void SendCutValuesAndHistogram();
871 void HandleCutValuesParameter(const QString parameter_id,
872 const QVariant parameter,
873 const QString dialog_id);
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;
909 void SetBinaryTableParameter(const
int table_number, const
int rows,
911 const QList<QVariant> single_table,
912 const QList<QVariant> single_col_names);
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;
920 void AdjustMagnificationWidgets(const
double x, const
double y);
929 void GetVisibleRectCoordinates(QVector<
double>& coords) const;
934 void ResetAndCleanViewBeforeLoad();
939 void HandleAndUpdateAfterLoad();
957 void MagnifyImage(
int x,
int y, const
bool pick_mode = false);
966 void MagnifyImageWithFactor(const QString mag_factor_str,
967 const
int mag_fact_index, const
int x,
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);
997 void SetInitialDialogParametersMagnificationDialog(
DdtDialog* dialog,
998 const QString dialog_id);
1004 void SetInitialDialogParametersFITSHeaderDialog(
DdtDialog* dialog,
1005 const QString dialog_id);
1012 void SetInitialDialogParametersMetadataSampleDialog(
DdtDialog* dialog,
1013 const QString dialog_id);
1020 void SetInitialDialogParametersHDUDialog(
DdtDialog* dialog,
1021 const QString dialog_id);
1028 void SetInitialDialogParametersTabularRegionDialog(
DdtDialog* dialog,
1029 const QString dialog_id);
1036 void SetInitialDialogParametersGraphicalDialog(
DdtDialog* dialog,
1037 const QString dialog_id);
1043 void SetInitialDialogParametersGraphicsControl(
DdtDialog* dialog,
1044 const QString dialog_id);
1051 void SetInitialDialogParametersCutValuesDialog(
DdtDialog* dialog,
1052 const QString dialog_id);
1059 void SetInitialDialogParametersBiasDialog(
DdtDialog* dialog,
1060 const QString dialog_id);
1067 void SetInitialDialogParametersScaleRotateCutValuesDialog(
1068 DdtDialog* dialog, const QString dialog_id);
1075 void SetInitialDialogParametersStatisticDialog(
DdtDialog* dialog,
1076 const QString dialog_id);
1083 void SetInitialDialogParametersPVCMDialog(
DdtDialog* dialog,
1084 const QString dialog_id);
1091 void SetInitialDialogParametersReferenceLineDialog(
DdtDialog* dialog,
1092 const QString dialog_id);
1099 void SetInitialDialogParametersDataStreamDialog(
DdtDialog* dialog,
1100 const QString dialog_id);
1107 void SetInitialDialogParametersDistanceDialog(
DdtDialog* dialog,
1108 const QString dialog_id);
1115 void SetInitialDialogParametersMonitorSamplesDialog(
DdtDialog* dialog,
1116 const QString dialog_id);
1123 void SetInitialDialogParametersBinaryTableDialog(
DdtDialog* dialog,
1124 const QString dialog_id);
1131 void DialogParameterChangedColourmapDialog(const QString parameter_id,
1132 const QVariant parameter);
1139 void DialogParameterChangedPickObject(const QString parameter_id,
1140 const QVariant parameter);
1148 void DialogParameterChangedMagnification(const QString parameter_id,
1149 const QVariant parameter);
1158 void DialogParameterChangedMonitorSamples(const QString parameter_id,
1159 const QVariant parameter);
1167 void DialogParameterChangedTabularRegion(const QString parameter_id,
1168 const QVariant parameter);
1176 void DialogParameterChangedGraphicalElements(const QString parameter_id,
1177 const QVariant parameter);
1184 void DialogParameterChangedGraphicsControl(const QString parameter_id,
1185 const QVariant parameter);
1192 void DialogParameterChangedCutValues(const QString parameter_id,
1193 const QVariant parameter);
1201 void DialogParameterChangedScaleRotateCutValues(const QString parameter_id,
1202 const QVariant parameter);
1209 void DialogParameterChangedBias(const QString parameter_id,
1210 const QVariant parameter);
1217 void DialogParameterChangedStatistic(const QString parameter_id,
1218 const QVariant parameter);
1225 void DialogParameterChangedSlit(const QString parameter_id,
1226 const QVariant parameter);
1233 void DialogParameterChangedPVCM(const QString parameter_id,
1234 const QVariant parameter);
1242 void DialogParameterChangedReferenceLine(const QString parameter_id,
1243 const QVariant parameter);
1251 void DialogParameterChangedDataStream(const QString parameter_id,
1252 const QVariant parameter);
1260 void DialogParameterChangedHDU(const QString parameter_id,
1261 const QVariant parameter);
1268 void DialogParameterChangedDistance(const QString parameter_id,
1269 const QVariant parameter);
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);
1287 void RestoreColourmap();
1299 void DialogParameterChanged(const QString dialog_id,
1300 const QString parameter_id,
1301 const QVariant parameter);
1312 void AttachDataStream(const QString data_stream_id);
1318 void DetachDataStream(const QString data_stream_id);
1327 bool AttachDataFile(QString filename, const
bool open_single = false);
1334 void AttachImageExtensionsAsOne(QString filename);
1341 void LastBrokerConnection(const QString data_stream_id);
1346 void CheckInvalidImageHDUs() const;
1352 void SetImageScale(const QString image_scale);
1358 void SetNoWaitNewData(const
bool no_wait_flag);
1366 QString LoadOverlayFile(const QString startup_overlay_file,
1367 const
bool remote = false);
1381 void FlipImage(
bool vertical_axis,
bool horizontal_axis);
1387 void RotateImage(
int rotation_angle);
1400 void UpdatePosition(
double scroll_fraction_x,
double scroll_fraction_y);
1407 void IncrementScale();
1413 void DecrementScale();
1419 void SetToDefaultScale();
1426 void SelectNewScale(QString next_scale);
1431 void ScaleFactorForNewImage();
1438 QString FindAutoScale();
1445 void IncrementLayer(const
int inc);
1452 void DecrementLayer(const
int dec);
1458 void JumpToLayer(const
int num);
1470 void GraphicalElement(
double x1,
double y1,
double x2,
double y2,
1471 const QString draw_mode);
1483 void GraphicalTextElement(
double x1,
double y1,
double x2,
double y2,
1484 const QString draw_mode, QString text);
1496 void StatisticRectangle(const
double x1, const
double y1, const
double x2,
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);
1515 void CalculateHistogramReferenceLine(QPointF
p1, QPointF
p2);
1518 void CalculateDistanceLine(QPointF
p1, QPointF
p2);
1529 void SetMagnificationFactor(const QString magnification_factor);
1542 void CursorPosition(
double x,
double y,
bool mouse_clicked);
1553 void SetCutValues(const
double low, const
double high);
1563 void SetMinMaxCuts();
1572 void DetachStream();
1577 void HandleNewDataEvent();
1584 void SetAutoScaleState(const
bool new_auto_scale_state);
1592 void LoadRenderingPlugins();
1595 void ScrollBarVerticalMoved(
int pos);
1596 void ScrollBarHorizontalMoved(
int pos);
1597 void ScrollBarRangeChanged(
int min,
int max);
1600 void DisplayContextMenu(const QPoint& pos);
1601 void ExecuteContextMenuCommand(const QString command);
1619 void SetChangedDialogParameter(QString param_id, QVariant parameter);
1625 void GraphicalElementsDialogClosed();
1638 void UpdatedImage(const QImage& image, const QTransform& transform,
1639 const
double rotation);
1649 void ImageWidgetViewChanged(QRectF visible_image_rect,
1650 int current_image_width,
1651 int current_image_height);
1656 void NewBoostDataEvent();
1671 void CursorInfo(
double x,
double y,
double pixelvalue, QString ra,
1682 void UpdateFlipStatus(
bool vertical,
bool horizontal);
1693 void MagnifiedImage(QImage magnified_image);
1694 void ClearMagnifiedImage();
1705 void CurrentLayer(const
int current_layer, const
int total_layers);
1716 void CurrentCutValues(
double cutvalue_min,
double cutvalue_max);
1726 void SetCurrentColourmap(QVector<QRgb> colourtable);
1735 void UpdateColourbarAxis(
double min_value,
double max_value,
1736 int scaling_function);
1742 void InvertColourmap(
bool inverted);
1764 void ContextMenuCommandSelected(QString menu_entry);
1775 void DefaultDockWidgetsLayout();
1786 void ScaleFactorListChanged(QList<QString> scale_factor_list);
1793 void UpdateScaleFactor(QString new_scale_factor);
1801 void UpdateAutoScale(
bool new_state);