-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
122 lines (103 loc) · 6.71 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
TODO
----
-Replace "star recognizer" test images -> instead of one big, multiple small ones with only 2-5 stars.
-Fix github build
-Make fits writer create specified directories if they do not exist
-Extract starmath library! -> Need a concept of namespaces, overall structure etc. - First plan!
-> See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1204r0.html
-> See https://stackoverflow.com/questions/2360734/whats-a-good-directory-structure-for-larger-c-projects-using-makefile
-Add unit test for remove_nans() - add parameter to allow specifying size of filter matrix
-Add unit tests for pipeline::io::write()
-Add unit tests for nad pixel interpolator
-Add hfd() to "actions"
-Add fwhm() to "actions"
-IDEA: stretch(curve) funcrtion
-...
DONE
----
-IDEA: Fits writer --> write(path, filenamePattern) as pipeline!, Rename images() to read()
-Replace test image since reduced image leads to bad pixel-filter remove the stars...
-Real workd example 3 with clustering?
-Add bad pixel remover/interpolator (hot- and cold pixel algorithm removal by specifying a threshold? Or only for hot a threshold and for dead pixels a 0)
-Next steps
-Change project structure as proposed by https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1204r0.html
-TODO: Deprecated cmake message?
-TODO: mIcon... missing (mail...)?
-TODO: Dep. to QGIS required?
[ 58%] Building CXX object source/focus_finder/gui/CMakeFiles/focus_finder_gui.dir/profile_settings_dialog.cpp.o
/home/devnull/workspace/fofi_git/fofi/build/source/focus_finder/gui/focus_finder_gui_autogen/include/ui_profile_settings_dialog.h:28:10: error: 'qgscollapsiblegroupbox.h' file not found [clang-diagnostic-error]
#include "qgscollapsiblegroupbox.h"
--> Get rid of this dep.?
-Remove HACK - FocusCurveRecordSetT - load()
//get<FocusMeasureTypeT>()
FocusMeasureTypeT::TypeE focusMeasureType = FocusMeasureTypeT::HFD; // TODO: LOAD
float focusMeasureLimit = 18.0F; // TODO: Load
// TODO: Load creation_timestamp....
-Make use of stored curve in focus finder.
-Move device deplays to profile (sep. delay for each device?)
-Focus-controller: TODO: Should this be configurable? -> Yes, part of profile...?!... Just need a good name... const float STEP_FACTOR = 3.0F;
-Handle cancel exception in "focus curve recorder" and "focus finder"
-Remove hardcoded exposure times (e.g. in focus curve recorder -> maybe this field should be inegrated also into the focus curve recorder frame!)
-Recorder should listen to position events from focuser -> draw a line of current position...
-Use stored focus curve / function from prifle in focus finder
-Should Hfd, Fwhm vert, Fwhm horz all be calculated right after recording (during the recording process), or just the one which is needed??
-AboutDialog -> draw program version on image!
-On INDI-Server disconnect (or camera disconnect, or camera device removal), stop exposure
-Make indi server configurabe - better: make INDI one way to connect to devices
-Extend curve fitting so that certain parameters can be "fixed" (-> difficult / more effort)
-Use boost log to filter out logs by component (-> different channels?),
-MainWindow
-Selected POI should overwrite ROI?! (if both are selected?)
-Fully integrate FocusFinderExecutor + actual FocusFinder with events (?)
-ManageDeviceProfilesDialog
-Implement New + edit profile -> see libreoffice document...
-Extend persistence of boost tree to SizeT, enums etc.
-ProfileManager - Add directory listener to get notified when profile was added or removed (same as renamed).
-Idea: add a blue info icon behind each input field which explains the field when hovering over it with the mouse
-Idea: Visualize some things in the dialog - e.g. the star window with a graphics and star, which changes depnding on input paramerters
-Close ManageDeviceProfilesDialog if MainWindow is closed
-Focus / FocusCntlPanel
-Idea: Also mFfl should allow registering to an event that is fired when focus finder process has started! Then this panel can be disabled (same for camera cntl panel).
-Idea: In focus cntl panel - maybe indicate absolute position of focus by a line and a dot where left is minimu, right is maximum and dot is the current position... but maybe this should go to a sep panel...
-Add listener - when temperature has changed...
-FocusCntlPanel - listen for up/down arrow key -> move focus up / down 1 step (or maybe 10 steps)... page up, page down also (10x more..)
-Others
-Cooler device simulator
-Integrate into UI
-Finish device dialog to connect devices
-Impl. first indi device against device IF
-Implement binning - dummy camera, selection in GUI, etc.
-3D star profile - see example - https://doc.qt.io/qt-5/qtdatavisualization-surface-example.html
-LP
-Always display last "corrected" star image im "focus curve recorder"
-Remove camera delay hack -> hardcoded 1s exposure time... was 0 for some reason, check if "repeat checkbox" has any effect when recording a curve...
-atik driver now has it's own xml file - not only drivers.xml any longer... check INDI...
-Camera error handling - e.g. when setting a 0 as exposure time, no obvious feedback is given to the user / progress wheel continues running.... but there was an error message in the log
-"Image stretcher" sometimes shows black stars... and linear scaling is more or less useless
-Star detection algorithm often shows that there are 7 or 8 stars selected -> max-entropy binarization fails -> clustering does not work reliable
-Fails with "Insufficient data points" exc. even before one can press save / apply!
-One place to set the "Focus measure limit"! In the GUI! -> profile!
-Do not calculate all values (FwhmT & HFD) by default when loading the curve record (and also not when recording). Just calc the one which is/was requested
-Display curve problem: change of pos is small, curve appears like a line... -> auto scale...
-DEBUG
-Problematic curve with simulator:
--- FocusCurveT ---
> Focus measure type: FWHM_AVERAGE
> Focus measure limit: 12
> Fitting curve type: HYPERBOLIC
> Curve parms: A_IDX = 3.05521
B_IDX = 0.000517702
C_IDX = 40835.7
D_IDX = 3.74167
> [minPos, maxPos]=[25000, 48000]
After running again, it worked...:
[2020-01-07 21:45:53.288767]: Calculated focus curve parameters:
--- FocusCurveT ---
> Focus measure type: FWHM_AVERAGE
> Focus measure limit: 12
> Fitting curve type: HYPERBOLIC
> Curve parms: A_IDX = 33060.9
B_IDX = 39.7046
C_IDX = 36493.3
D_IDX = -36.5154
> [minPos, maxPos]=[25000, 48000]