Kstars

stellarsolverprofile.cpp
1 /*
2  SPDX-FileCopyrightText: 2017 Jasem Mutlaq <[email protected]>
3  SPDX-FileCopyrightText: 2017 Robert Lancaster <[email protected]>
4 
5  SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 
8 #include "stellarsolverprofile.h"
9 
10 #include <stellarsolver.h>
11 #include <KLocalizedString>
12 
13 namespace Ekos
14 {
15 
16 QList<Parameters> getDefaultFocusOptionsProfiles()
17 {
18  QList<Parameters> profileList;
19 
20  Parameters focusDefault;
21  focusDefault.listName = "1-Focus-Default";
22  focusDefault.description = i18n("Default focus star-extraction.");
23  focusDefault.initialKeep = 250;
24  focusDefault.keepNum = 100;
25  focusDefault.minarea = 20;
26  focusDefault.maxEllipse = 1.5;
27  focusDefault.convFilterType = SSolver::CONV_GAUSSIAN;
28  focusDefault.fwhm = 1;
29  focusDefault.r_min = 5;
30  focusDefault.maxSize = 10;
31  focusDefault.removeBrightest = 10;
32  focusDefault.removeDimmest = 20;
33  focusDefault.saturationLimit = 90;
34  profileList.append(focusDefault);
35 
36  Parameters stars;
37  stars.listName = "2-AllStars";
38  stars.description = i18n("Profile for the source extraction of all the stars in an image.");
39  stars.maxEllipse = 1.5;
40  stars.convFilterType = SSolver::CONV_GAUSSIAN;
41  stars.fwhm = 1;
42  stars.r_min = 2;
43  profileList.append(stars);
44 
45  Parameters smallStars;
46  smallStars.listName = "3-SmallSizedStars";
47  smallStars.description = i18n("Profile optimized for source extraction of smaller stars.");
48  smallStars.maxEllipse = 1.5;
49  smallStars.convFilterType = SSolver::CONV_GAUSSIAN;
50  smallStars.fwhm = 1;
51  smallStars.r_min = 2;
52  smallStars.maxSize = 5;
53  smallStars.initialKeep = 500;
54  smallStars.saturationLimit = 80;
55  profileList.append(smallStars);
56 
57  Parameters mid;
58  mid.listName = "4-MidSizedStars";
59  mid.description = i18n("Profile optimized for source extraction of medium sized stars.");
60  mid.maxEllipse = 1.5;
61  mid.minarea = 20;
62  mid.convFilterType = SSolver::CONV_GAUSSIAN;
63  mid.fwhm = 4;
64  mid.r_min = 5;
65  mid.removeDimmest = 20;
66  mid.minSize = 2;
67  mid.maxSize = 10;
68  mid.initialKeep = 500;
69  mid.saturationLimit = 80;
70  profileList.append(mid);
71 
72  Parameters big;
73  big.listName = "5-BigSizedStars";
74  big.description = i18n("Profile optimized for source extraction of larger stars.");
75  big.maxEllipse = 1.5;
76  big.minarea = 40;
77  big.convFilterType = SSolver::CONV_GAUSSIAN;
78  big.fwhm = 8;
79  big.r_min = 20;
80  big.minSize = 5;
81  big.initialKeep = 500;
82  big.removeDimmest = 50;
83  profileList.append(big);
84 
85  return profileList;
86 }
87 
88 QList<SSolver::Parameters> getDefaultGuideOptionsProfiles()
89 {
90  QList<SSolver::Parameters> profileList;
91 
92  Parameters guideDefault;
93  guideDefault.listName = "1-Guide-Default";
94  guideDefault.description = i18n("Default guider star-extraction.");
95  guideDefault.initialKeep = 250;
96  guideDefault.keepNum = 100;
97  guideDefault.minarea = 10;
98  guideDefault.maxSize = 8;
99  guideDefault.saturationLimit = 98;
100  guideDefault.removeBrightest = 0;
101  guideDefault.removeDimmest = 0;
102  profileList.append(guideDefault);
103 
104  SSolver::Parameters stars;
105  stars.listName = "2-AllStars";
106  stars.description = i18n("Profile for the source extraction of all the stars in an image.");
107  stars.maxEllipse = 1.5;
108  stars.convFilterType = SSolver::CONV_GAUSSIAN;
109  stars.fwhm = 1;
110  stars.r_min = 2;
111  profileList.append(stars);
112 
113  SSolver::Parameters smallStars;
114  smallStars.listName = "3-SmallSizedStars";
115  smallStars.description = i18n("Profile optimized for source extraction of smaller stars.");
116  smallStars.maxEllipse = 1.5;
117  smallStars.convFilterType = SSolver::CONV_GAUSSIAN;
118  smallStars.fwhm = 1;
119  smallStars.r_min = 2;
120  smallStars.maxSize = 5;
121  smallStars.initialKeep = 500;
122  smallStars.saturationLimit = 80;
123  profileList.append(smallStars);
124 
125  SSolver::Parameters mid;
126  mid.listName = "4-MidSizedStars";
127  mid.description = i18n("Profile optimized for source extraction of medium sized stars.");
128  mid.maxEllipse = 1.5;
129  mid.minarea = 20;
130  mid.convFilterType = SSolver::CONV_GAUSSIAN;
131  mid.fwhm = 4;
132  mid.r_min = 5;
133  mid.removeDimmest = 20;
134  mid.minSize = 2;
135  mid.maxSize = 10;
136  mid.initialKeep = 500;
137  mid.saturationLimit = 80;
138  profileList.append(mid);
139 
140  SSolver::Parameters big;
141  big.listName = "5-BigSizedStars";
142  big.description = i18n("Profile optimized for source extraction of larger stars.");
143  big.maxEllipse = 1.5;
144  big.minarea = 40;
145  big.convFilterType = SSolver::CONV_GAUSSIAN;
146  big.fwhm = 8;
147  big.r_min = 20;
148  big.minSize = 5;
149  big.initialKeep = 500;
150  big.removeDimmest = 50;
151  profileList.append(big);
152 
153  return profileList;
154 }
155 
156 QList<SSolver::Parameters> getDefaultAlignOptionsProfiles()
157 {
158  QList<SSolver::Parameters> profileList;
159 
160  SSolver::Parameters defaultProfile;
161  defaultProfile.listName = "1-Default";
162  defaultProfile.description = i18n("Default profile. Generic and not optimized for any specific purpose.");
163  defaultProfile.convFilterType = SSolver::CONV_GAUSSIAN;
164  defaultProfile.fwhm = 1;
165  profileList.append(defaultProfile);
166 
167  SSolver::Parameters fastSolving;
168  fastSolving.listName = "2-SingleThreadSolving";
169  fastSolving.description = i18n("Profile intended for Plate Solving telescopic sized images in a single CPU Thread");
170  fastSolving.multiAlgorithm = NOT_MULTI;
171  fastSolving.minwidth = 0.1;
172  fastSolving.maxwidth = 10;
173  fastSolving.keepNum = 50;
174  fastSolving.initialKeep = 500;
175  fastSolving.maxEllipse = 1.5;
176  fastSolving.convFilterType = SSolver::CONV_GAUSSIAN;
177  fastSolving.fwhm = 4;
178  profileList.append(fastSolving);
179 
180  SSolver::Parameters parLargeSolving;
181  parLargeSolving.listName = "3-LargeScaleSolving";
182  parLargeSolving.description = i18n("Profile intended for Plate Solving camera lens sized images");
183  parLargeSolving.minwidth = 10;
184  parLargeSolving.maxwidth = 180;
185  parLargeSolving.keepNum = 50;
186  parLargeSolving.initialKeep = 500;
187  parLargeSolving.maxEllipse = 1.5;
188  parLargeSolving.convFilterType = SSolver::CONV_GAUSSIAN;
189  parLargeSolving.fwhm = 4;
190  profileList.append(parLargeSolving);
191 
192  SSolver::Parameters fastSmallSolving;
193  fastSmallSolving.listName = "4-SmallScaleSolving";
194  fastSmallSolving.description = i18n("Profile intended for Plate Solving telescopic sized images");
195  fastSmallSolving.minwidth = 0.1;
196  fastSmallSolving.maxwidth = 10;
197  fastSmallSolving.keepNum = 50;
198  fastSmallSolving.initialKeep = 500;
199  fastSmallSolving.maxEllipse = 1.5;
200  fastSmallSolving.convFilterType = SSolver::CONV_GAUSSIAN;
201  fastSmallSolving.fwhm = 4;
202  profileList.append(fastSmallSolving);
203 
204  return profileList;
205 }
206 
207 QList<Parameters> getDefaultHFROptionsProfiles()
208 {
209  QList<Parameters> profileList;
210 
211  Parameters hfrDefault;
212  hfrDefault.listName = "1-HFR-Default";
213  hfrDefault.description = i18n("Default. Set for typical HFR estimation.");
214  hfrDefault.initialKeep = 250;
215  hfrDefault.keepNum = 100;
216 
217  hfrDefault.minarea = 20;
218  hfrDefault.maxEllipse = 1.5;
219  hfrDefault.convFilterType = SSolver::CONV_GAUSSIAN;
220  hfrDefault.fwhm = 2;
221  hfrDefault.r_min = 5;
222  hfrDefault.maxSize = 10;
223 
224  hfrDefault.removeBrightest = 10;
225  hfrDefault.removeDimmest = 20;
226  hfrDefault.saturationLimit = 90;
227 
228  profileList.append(hfrDefault);
229 
230 
231  Parameters big;
232  big.listName = "2-BigSizedStars";
233  big.description = i18n("Set for typical HFR estimation on big stars.");
234  big.initialKeep = 250;
235  big.keepNum = 100;
236 
237  big.minarea = 40;
238  big.maxEllipse = 1.5;
239  big.convFilterType = SSolver::CONV_GAUSSIAN;
240  big.fwhm = 8;
241  big.r_min = 20;
242  big.maxSize = 0;
243 
244  big.removeBrightest = 0;
245  big.removeDimmest = 50;
246  big.saturationLimit = 99;
247 
248  profileList.append(big);
249 
250  Parameters most;
251  most.listName = "3-MostStars";
252  most.description = i18n("Set for HFR estimation on most stars.");
253  most.initialKeep = 1000;
254  most.keepNum = 1000;
255 
256  most.minarea = 10;
257  most.maxEllipse = 0;
258  most.convFilterType = SSolver::CONV_GAUSSIAN;
259  most.fwhm = 1;
260  most.r_min = 3.5;
261  most.minSize = 0;
262  most.maxSize = 0;
263 
264  most.removeBrightest = 0;
265  most.removeDimmest = 0;
266  most.saturationLimit = 0;
267  profileList.append(most);
268 
269  return profileList;
270 }
271 
272 }
void append(const T &value)
Ekos is an advanced Astrophotography tool for Linux. It is based on a modular extensible framework to...
Definition: align.cpp:70
QString i18n(const char *text, const TYPE &arg...)
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 12 2022 04:00:58 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.