setiastrosuitepro 1.6.2__py3-none-any.whl → 1.6.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of setiastrosuitepro might be problematic. Click here for more details.

Files changed (162) hide show
  1. setiastro/images/abeicon.svg +16 -0
  2. setiastro/images/acv_icon.png +0 -0
  3. setiastro/images/colorwheel.svg +97 -0
  4. setiastro/images/cosmic.svg +40 -0
  5. setiastro/images/cosmicsat.svg +24 -0
  6. setiastro/images/first_quarter.png +0 -0
  7. setiastro/images/full_moon.png +0 -0
  8. setiastro/images/graxpert.svg +19 -0
  9. setiastro/images/last_quarter.png +0 -0
  10. setiastro/images/linearfit.svg +32 -0
  11. setiastro/images/new_moon.png +0 -0
  12. setiastro/images/pixelmath.svg +42 -0
  13. setiastro/images/rotatearbitrary.png +0 -0
  14. setiastro/images/waning_crescent_1.png +0 -0
  15. setiastro/images/waning_crescent_2.png +0 -0
  16. setiastro/images/waning_crescent_3.png +0 -0
  17. setiastro/images/waning_crescent_4.png +0 -0
  18. setiastro/images/waning_crescent_5.png +0 -0
  19. setiastro/images/waning_gibbous_1.png +0 -0
  20. setiastro/images/waning_gibbous_2.png +0 -0
  21. setiastro/images/waning_gibbous_3.png +0 -0
  22. setiastro/images/waning_gibbous_4.png +0 -0
  23. setiastro/images/waning_gibbous_5.png +0 -0
  24. setiastro/images/waxing_crescent_1.png +0 -0
  25. setiastro/images/waxing_crescent_2.png +0 -0
  26. setiastro/images/waxing_crescent_3.png +0 -0
  27. setiastro/images/waxing_crescent_4.png +0 -0
  28. setiastro/images/waxing_crescent_5.png +0 -0
  29. setiastro/images/waxing_gibbous_1.png +0 -0
  30. setiastro/images/waxing_gibbous_2.png +0 -0
  31. setiastro/images/waxing_gibbous_3.png +0 -0
  32. setiastro/images/waxing_gibbous_4.png +0 -0
  33. setiastro/images/waxing_gibbous_5.png +0 -0
  34. setiastro/qml/ResourceMonitor.qml +84 -82
  35. setiastro/saspro/__main__.py +20 -1
  36. setiastro/saspro/_generated/build_info.py +2 -2
  37. setiastro/saspro/abe.py +37 -4
  38. setiastro/saspro/aberration_ai.py +237 -21
  39. setiastro/saspro/acv_exporter.py +379 -0
  40. setiastro/saspro/add_stars.py +33 -6
  41. setiastro/saspro/backgroundneutral.py +114 -37
  42. setiastro/saspro/blemish_blaster.py +4 -1
  43. setiastro/saspro/blink_comparator_pro.py +548 -275
  44. setiastro/saspro/clahe.py +4 -1
  45. setiastro/saspro/continuum_subtract.py +4 -1
  46. setiastro/saspro/convo.py +13 -7
  47. setiastro/saspro/cosmicclarity.py +129 -18
  48. setiastro/saspro/crop_dialog_pro.py +134 -8
  49. setiastro/saspro/curve_editor_pro.py +109 -42
  50. setiastro/saspro/doc_manager.py +246 -16
  51. setiastro/saspro/exoplanet_detector.py +120 -28
  52. setiastro/saspro/frequency_separation.py +1158 -204
  53. setiastro/saspro/function_bundle.py +16 -16
  54. setiastro/saspro/ghs_dialog_pro.py +81 -16
  55. setiastro/saspro/graxpert.py +1 -0
  56. setiastro/saspro/gui/main_window.py +519 -289
  57. setiastro/saspro/gui/mixins/dock_mixin.py +276 -42
  58. setiastro/saspro/gui/mixins/geometry_mixin.py +105 -5
  59. setiastro/saspro/gui/mixins/menu_mixin.py +28 -1
  60. setiastro/saspro/gui/mixins/theme_mixin.py +160 -14
  61. setiastro/saspro/gui/mixins/toolbar_mixin.py +416 -27
  62. setiastro/saspro/gui/mixins/update_mixin.py +138 -36
  63. setiastro/saspro/gui/mixins/view_mixin.py +42 -0
  64. setiastro/saspro/halobgon.py +4 -0
  65. setiastro/saspro/histogram.py +5 -1
  66. setiastro/saspro/image_combine.py +4 -0
  67. setiastro/saspro/image_peeker_pro.py +4 -0
  68. setiastro/saspro/imageops/starbasedwhitebalance.py +23 -52
  69. setiastro/saspro/imageops/stretch.py +582 -62
  70. setiastro/saspro/isophote.py +4 -0
  71. setiastro/saspro/layers.py +13 -9
  72. setiastro/saspro/layers_dock.py +183 -3
  73. setiastro/saspro/legacy/image_manager.py +154 -20
  74. setiastro/saspro/legacy/numba_utils.py +67 -47
  75. setiastro/saspro/legacy/xisf.py +240 -98
  76. setiastro/saspro/live_stacking.py +180 -79
  77. setiastro/saspro/luminancerecombine.py +228 -27
  78. setiastro/saspro/mask_creation.py +174 -15
  79. setiastro/saspro/mfdeconv.py +113 -35
  80. setiastro/saspro/mfdeconvcudnn.py +119 -70
  81. setiastro/saspro/mfdeconvsport.py +112 -35
  82. setiastro/saspro/morphology.py +4 -0
  83. setiastro/saspro/multiscale_decomp.py +748 -255
  84. setiastro/saspro/numba_utils.py +72 -57
  85. setiastro/saspro/ops/commands.py +18 -18
  86. setiastro/saspro/ops/script_editor.py +10 -2
  87. setiastro/saspro/ops/scripts.py +122 -0
  88. setiastro/saspro/perfect_palette_picker.py +37 -3
  89. setiastro/saspro/plate_solver.py +84 -49
  90. setiastro/saspro/psf_viewer.py +119 -37
  91. setiastro/saspro/remove_stars_preset.py +55 -13
  92. setiastro/saspro/resources.py +97 -11
  93. setiastro/saspro/rgbalign.py +4 -0
  94. setiastro/saspro/selective_color.py +83 -21
  95. setiastro/saspro/sfcc.py +364 -152
  96. setiastro/saspro/shortcuts.py +253 -49
  97. setiastro/saspro/signature_insert.py +692 -33
  98. setiastro/saspro/stacking_suite.py +1610 -574
  99. setiastro/saspro/star_alignment.py +522 -453
  100. setiastro/saspro/star_spikes.py +4 -0
  101. setiastro/saspro/star_stretch.py +38 -3
  102. setiastro/saspro/stat_stretch.py +743 -128
  103. setiastro/saspro/status_log_dock.py +1 -1
  104. setiastro/saspro/subwindow.py +786 -360
  105. setiastro/saspro/supernovaasteroidhunter.py +1 -1
  106. setiastro/saspro/swap_manager.py +77 -42
  107. setiastro/saspro/translations/all_source_strings.json +1588 -516
  108. setiastro/saspro/translations/ar_translations.py +915 -684
  109. setiastro/saspro/translations/de_translations.py +442 -463
  110. setiastro/saspro/translations/es_translations.py +277 -47
  111. setiastro/saspro/translations/fr_translations.py +279 -47
  112. setiastro/saspro/translations/hi_translations.py +253 -21
  113. setiastro/saspro/translations/integrate_translations.py +3 -2
  114. setiastro/saspro/translations/it_translations.py +1211 -161
  115. setiastro/saspro/translations/ja_translations.py +3340 -3107
  116. setiastro/saspro/translations/pt_translations.py +3315 -3337
  117. setiastro/saspro/translations/ru_translations.py +351 -117
  118. setiastro/saspro/translations/saspro_ar.qm +0 -0
  119. setiastro/saspro/translations/saspro_ar.ts +15902 -138
  120. setiastro/saspro/translations/saspro_de.qm +0 -0
  121. setiastro/saspro/translations/saspro_de.ts +14428 -133
  122. setiastro/saspro/translations/saspro_es.qm +0 -0
  123. setiastro/saspro/translations/saspro_es.ts +11503 -7821
  124. setiastro/saspro/translations/saspro_fr.qm +0 -0
  125. setiastro/saspro/translations/saspro_fr.ts +11168 -7812
  126. setiastro/saspro/translations/saspro_hi.qm +0 -0
  127. setiastro/saspro/translations/saspro_hi.ts +14733 -135
  128. setiastro/saspro/translations/saspro_it.qm +0 -0
  129. setiastro/saspro/translations/saspro_it.ts +14347 -7821
  130. setiastro/saspro/translations/saspro_ja.qm +0 -0
  131. setiastro/saspro/translations/saspro_ja.ts +14860 -137
  132. setiastro/saspro/translations/saspro_pt.qm +0 -0
  133. setiastro/saspro/translations/saspro_pt.ts +14904 -137
  134. setiastro/saspro/translations/saspro_ru.qm +0 -0
  135. setiastro/saspro/translations/saspro_ru.ts +11766 -168
  136. setiastro/saspro/translations/saspro_sw.qm +0 -0
  137. setiastro/saspro/translations/saspro_sw.ts +15115 -135
  138. setiastro/saspro/translations/saspro_uk.qm +0 -0
  139. setiastro/saspro/translations/saspro_uk.ts +11206 -6729
  140. setiastro/saspro/translations/saspro_zh.qm +0 -0
  141. setiastro/saspro/translations/saspro_zh.ts +10581 -7812
  142. setiastro/saspro/translations/sw_translations.py +282 -56
  143. setiastro/saspro/translations/uk_translations.py +264 -35
  144. setiastro/saspro/translations/zh_translations.py +282 -47
  145. setiastro/saspro/view_bundle.py +17 -17
  146. setiastro/saspro/wavescale_hdr.py +4 -1
  147. setiastro/saspro/wavescalede.py +4 -1
  148. setiastro/saspro/whitebalance.py +84 -12
  149. setiastro/saspro/widgets/common_utilities.py +28 -21
  150. setiastro/saspro/widgets/minigame/game.js +11 -6
  151. setiastro/saspro/widgets/resource_monitor.py +133 -57
  152. setiastro/saspro/widgets/spinboxes.py +28 -13
  153. setiastro/saspro/wimi.py +92 -721
  154. setiastro/saspro/wims.py +46 -36
  155. setiastro/saspro/window_shelf.py +2 -2
  156. setiastro/saspro/xisf.py +101 -11
  157. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/METADATA +8 -7
  158. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/RECORD +162 -128
  159. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/WHEEL +0 -0
  160. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/entry_points.txt +0 -0
  161. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/licenses/LICENSE +0 -0
  162. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/licenses/license.txt +0 -0
@@ -1,19 +1,48 @@
1
1
  {
2
2
  "ABEDialog": [
3
3
  "# sample points:",
4
+ "ABE",
5
+ "Add Sample",
4
6
  "Apply",
7
+ "Auto Generate Samples",
8
+ "Automatic Background Extraction",
5
9
  "Automatic Background Extraction (ABE)",
10
+ "Background Model",
6
11
  "Clear Exclusions",
12
+ "Clear Samples",
7
13
  "Close",
14
+ "Correction",
8
15
  "Create background document",
16
+ "Divide",
17
+ "Done",
9
18
  "Downsample factor:",
10
19
  "Enable RBF refinement (after polynomial)",
20
+ "Error",
21
+ "Generate Background Model",
22
+ "Grid Size",
23
+ "Iterations",
11
24
  "Patch size (px):",
25
+ "Polynomial Degree",
12
26
  "Polynomial degree:",
13
27
  "Preview",
14
28
  "Preview background instead of corrected",
29
+ "Processing...",
30
+ "Protect Stars",
15
31
  "RBF Refinement",
16
- "Smooth (x0.01):"
32
+ "Remove Sample",
33
+ "Reset",
34
+ "Sample Points",
35
+ "Sample Radius",
36
+ "Samples",
37
+ "Show Grid",
38
+ "Show Samples",
39
+ "Smooth (x0.01):",
40
+ "Smoothness",
41
+ "Star Detection",
42
+ "Subtract",
43
+ "Threshold",
44
+ "Tolerance",
45
+ "Warning"
17
46
  ],
18
47
  "AberrationAIDialog": [
19
48
  "Auto GPU (if available)",
@@ -28,25 +57,76 @@
28
57
  "R.A.'s Aberration Correction (AI)",
29
58
  "Run"
30
59
  ],
60
+ "AberrationCorrectionDialog": [
61
+ "Aberration Correction",
62
+ "Analyzing stars...",
63
+ "Apply",
64
+ "Applying correction...",
65
+ "Astigmatism Correction",
66
+ "Chromatic Aberration",
67
+ "Close",
68
+ "Coma Correction",
69
+ "Distortion",
70
+ "Enable AI Correction",
71
+ "Field Curvature",
72
+ "Load Model",
73
+ "Model",
74
+ "Preview",
75
+ "Processing...",
76
+ "Radius",
77
+ "Reset",
78
+ "Strength"
79
+ ],
31
80
  "AboutDialog": [
81
+ "About",
32
82
  "About Seti Astro Suite",
83
+ "All rights reserved",
84
+ "Build",
33
85
  "Build:",
86
+ "Check for Updates",
34
87
  "Click here to donate",
88
+ "Close",
35
89
  "Collaborators: Fabio Tempera",
90
+ "Copyright",
36
91
  "Copyright © 2025 Seti Astro",
92
+ "Credits",
93
+ "Documentation",
37
94
  "Donations:",
95
+ "License",
96
+ "Support",
97
+ "Version",
98
+ "Website",
38
99
  "Website:",
39
100
  "Written by Franklin Marek"
40
101
  ],
41
102
  "AddStarsDialog": [
103
+ "Add",
104
+ "Add Stars",
42
105
  "Add Stars to Image",
43
106
  "Apply",
107
+ "Blend Mode",
44
108
  "Blend Ratio (Screen/Add Intensity):",
45
109
  "Blend Type:",
46
110
  "Cancel",
111
+ "Close",
112
+ "Create new image",
113
+ "Lighten",
114
+ "Linear Dodge",
47
115
  "Load from File",
116
+ "Preview",
117
+ "Processing...",
48
118
  "Refresh Views",
119
+ "Replace active image",
120
+ "Reset",
121
+ "Screen",
122
+ "Select starless view",
123
+ "Select stars view",
124
+ "Star Brightness",
125
+ "Star Saturation",
126
+ "Star Size",
127
+ "Starless Image",
49
128
  "Starless View:",
129
+ "Stars-Only Image",
50
130
  "Stars-Only View:"
51
131
  ],
52
132
  "AfterAlignWorker": [
@@ -56,6 +136,7 @@
56
136
  "AstroSuiteProMainWindow": [
57
137
  "&About",
58
138
  "&Edit",
139
+ "&Exit",
59
140
  "&File",
60
141
  "&Functions",
61
142
  "&Geometry",
@@ -70,35 +151,21 @@
70
151
  "&Tools",
71
152
  "&View",
72
153
  "&What's In My...",
73
- "About...",
74
- "Clear All Shortcuts",
75
- "Clear List",
76
- "Export Shortcuts...",
77
- "Group A",
78
- "Group B",
79
- "Group C",
80
- "Group D",
81
- "Import Shortcuts...",
82
- "Keyboard Shortcut Cheat Sheet...",
83
- "No recent images",
84
- "No recent projects",
85
- "None",
86
- "Open Recent Images",
87
- "Open Recent Projects",
88
- "Preferences...",
89
- "&Exit",
90
154
  "1:1",
91
155
  "ABE...",
92
156
  "Aberration Correction (AI)...",
93
- "Add Stars...",
157
+ "About...",
94
158
  "Add diffraction spikes to detected stars",
159
+ "Add dragged view as a new layer (on top)",
95
160
  "Add signatures/overlays and bake them into the active image",
161
+ "Add Stars...",
96
162
  "Adjust specific hue ranges with CMY/RGB controls",
97
163
  "Advanced diffraction spikes with halos, flares and rainbow effects",
98
- "Align R and B channels to G using astroalign (affine/homography/poly)",
99
164
  "Align images via astroalign / triangles",
100
- "Apply Mask",
165
+ "Align R and B channels to G using astroalign (affine/homography/poly)",
101
166
  "Apply a mask document to the active image",
167
+ "Apply Mask",
168
+ "Apply that image to the other as a mask",
102
169
  "Apply the current Display-Stretch to the image and add an undo step",
103
170
  "Apply the same stretch to all RGB channels",
104
171
  "Apply white balance (Star-Based, Manual, or Auto)",
@@ -106,6 +173,7 @@
106
173
  "Arrange subwindows in a near-square grid",
107
174
  "AstroBin Exporter...",
108
175
  "AstroSpike...",
176
+ "Attach dragged image as mask to the selected layer",
109
177
  "Auto-fit on Resize",
110
178
  "Automatic Background Extraction",
111
179
  "Background Neutralization...",
@@ -119,65 +187,87 @@
119
187
  "Blink Comparator...",
120
188
  "Build mosaics from overlapping frames",
121
189
  "Bundles",
122
- "CLAHE...",
123
- "Cascade Views",
124
190
  "Cascade all subwindows",
191
+ "Cascade Views",
125
192
  "Check for Updates...",
193
+ "CLAHE...",
194
+ "Clear All Shortcuts",
126
195
  "Clear All Views",
196
+ "Clear Console",
197
+ "Clear List",
127
198
  "Close all views and clear shortcuts",
128
199
  "Close all views and documents, keep desktop shortcuts",
129
200
  "Combine narrowband to RGB with optional OSC stars",
130
201
  "Combine three mono images into RGB",
202
+ "Command Search",
131
203
  "Compare a stack of images by blinking",
204
+ "Console / Status",
132
205
  "Continuum Subtract (NB - scaled broadband)",
133
206
  "Continuum Subtract...",
134
207
  "Contrast Limited Adaptive Histogram Equalization",
135
208
  "Convolution / Deconvolution...",
209
+ "Copy All",
136
210
  "Copy Astrometric Solution...",
211
+ "Copy Selected",
137
212
  "Copy View (zoom/pan)",
213
+ "Copy Zoom and Pan",
138
214
  "Cosmic Clarity",
139
215
  "Cosmic Clarity Satellite...",
140
216
  "Cosmic Clarity UI...",
141
- "Create Mask...",
142
- "Create Sample Scripts...",
217
+ "Create a desktop shortcut for that action",
143
218
  "Create a mask from the active image",
144
219
  "Create a new mono document using the selected luminance method",
145
220
  "Create and run bundles of functions/shortcuts",
146
221
  "Create bundles of views; drop shortcuts to apply to all",
222
+ "Create Mask...",
223
+ "Create Sample Scripts...",
147
224
  "Crop / rotate with handles",
148
225
  "Crop...",
149
226
  "Curves Editor...",
150
227
  "Debayer...",
228
+ "Delete selected shortcut buttons",
151
229
  "Demosaic a Bayer-mosaic mono image to RGB",
152
230
  "Detect exoplanet transits from time-series subs",
153
231
  "Diffraction Spikes...",
154
232
  "Display-Stretch",
155
233
  "Documentation...",
234
+ "Draw a crop rectangle",
235
+ "Duplicate Image",
156
236
  "Enhance faint/dark structures with wavelet-guided masking",
157
237
  "Erosion, dilation, opening, and closing.",
158
238
  "Evaluate expressions using open view names",
159
239
  "Exoplanet Detector...",
240
+ "Explorer",
241
+ "Export Shortcuts...",
160
242
  "Extract Luminance",
161
243
  "Extract R/G/B as three mono documents",
162
- "FITS Header Batch Modifier...",
163
- "FITS Header Modifier...",
164
244
  "Find transients/anomalies across frames",
165
245
  "Fit",
166
246
  "Fit galaxy isophotes and reveal residuals",
167
247
  "Fit image to current window",
248
+ "FITS Header Batch Modifier...",
249
+ "FITS Header Modifier...",
168
250
  "Flip Horizontal",
169
- "Flip Vertical",
170
251
  "Flip image left<->right",
171
252
  "Flip image top<->bottom",
253
+ "Flip Vertical",
254
+ "Focus the command search bar; Enter runs first match",
172
255
  "Frequency Separation...",
256
+ "Function Bundles",
173
257
  "Function Bundles...",
174
258
  "Functions",
175
- "GLIMR -- Isophote Modeler...",
176
259
  "Generalized hyperbolic stretch (α/beta/gamma, LP/HP, pivot)",
177
260
  "Geometry",
261
+ "GLIMR -- Isophote Modeler...",
262
+ "Group A",
263
+ "Group B",
264
+ "Group C",
265
+ "Group D",
178
266
  "Halo-B-Gon...",
179
267
  "Hard (target 0.50, σ 2)",
180
268
  "Hard-Display-Stretch",
269
+ "Header Viewer",
270
+ "Headless apply the shortcut's command/preset to a view",
181
271
  "Hide Mask Overlay",
182
272
  "Histogram...",
183
273
  "History Explorer...",
@@ -186,53 +276,64 @@
186
276
  "Image Combine...",
187
277
  "Image Inspector and Focal Plane Analysis",
188
278
  "Image Peeker...",
279
+ "Import Shortcuts...",
189
280
  "Inspect and restore from the slot's history",
190
281
  "Inspect star PSF/HFR and flux histograms (SEP)",
191
282
  "Interactive blemish removal on the active view",
192
283
  "Invert",
193
- "Invert Mask",
194
284
  "Invert image colors",
285
+ "Invert Mask",
286
+ "Invert the Image",
287
+ "Keyboard Shortcut Cheat Sheet...",
288
+ "Layers",
195
289
  "Linear Fit...",
196
290
  "Link Pan/Zoom",
197
291
  "Link RGB channels",
198
- "Live Stacking...",
199
292
  "Live monitor and stack incoming frames",
200
- "Load Project...",
293
+ "Live Stacking...",
201
294
  "Load a .sas project (views, histories, shortcuts)",
295
+ "Load Project...",
296
+ "Loading a project will close current views and replace desktop shortcuts.\nContinue?",
202
297
  "Make Display-Stretch Permanent",
203
298
  "Masks",
204
299
  "Match image levels using Linear Fit",
205
300
  "Mid (target 0.40, σ 3)",
206
301
  "Morphological Operations...",
207
302
  "Mosaic Master...",
303
+ "Move selected shortcut buttons",
304
+ "Multi-select shortcut buttons",
208
305
  "Multiscale Decomposition...",
209
306
  "Multiscale detail/residual decomposition with per-layer controls",
210
307
  "NB->RGB Stars...",
211
308
  "Neutralize background color balance using a sampled region",
212
309
  "New Project",
310
+ "No recent images",
311
+ "No recent projects",
312
+ "None",
213
313
  "Normal (target 0.30, σ 5)",
214
314
  "Open Convolution / Deconvolution",
215
- "Open SFCC (Pickles + Filters + Sensor QE)",
315
+ "Open files dialog",
316
+ "Open image(s)",
317
+ "Open Recent Images",
318
+ "Open Recent Projects",
216
319
  "Open Scripts Folder...",
217
320
  "Open Scripts Forum (Discord)...",
218
- "Open User Scripts (GitHub)...",
219
- "Open image(s)",
321
+ "Open SFCC (Pickles + Filters + Sensor QE)",
322
+ "Open the built-in script editor",
220
323
  "Open the Curves Editor for the active image",
221
324
  "Open the SASpro user scripts folder",
222
325
  "Open the Seti Astro Suite Pro online documentation",
223
- "Open the built-in script editor",
326
+ "Open User Scripts (GitHub)...",
224
327
  "Open...",
225
- "PSF Viewer...",
226
328
  "Paste View",
227
329
  "Perfect Palette Picker...",
228
330
  "Pick the perfect palette for your image",
229
331
  "Pixel Math...",
230
332
  "Plan targets by altitude, transit time, and lunar separation",
231
333
  "Plate Solver...",
334
+ "Preferences...",
232
335
  "Presets",
233
- "RGB Align...",
234
- "RGB Combination...",
235
- "RGB Extract",
336
+ "PSF Viewer...",
236
337
  "Recombine Luminance...",
237
338
  "Redo",
238
339
  "Reload Scripts",
@@ -247,20 +348,27 @@
247
348
  "Rescale image by a factor",
248
349
  "Rescale...",
249
350
  "Rescan the scripts folder and reload .py files",
351
+ "Resize crop rectangle",
352
+ "RGB Align...",
353
+ "RGB Combination...",
354
+ "RGB Extract",
250
355
  "Rotate 180°",
251
356
  "Rotate 90° Clockwise",
252
357
  "Rotate 90° Counterclockwise",
358
+ "Rotate crop rectangle",
253
359
  "Rotate image 180°",
254
360
  "Rotate image 90° clockwise",
255
361
  "Rotate image 90° counterclockwise",
256
362
  "Run GraXpert background extraction on the active image",
257
363
  "Run star removal on the active image",
258
- "SCNR-style green channel removal.",
364
+ "Save all views, histories, and shortcuts to a .sas file",
259
365
  "Save As...",
260
366
  "Save Project...",
261
- "Save all views, histories, and shortcuts to a .sas file",
262
367
  "Save the active image",
368
+ "SCNR-style green channel removal.",
263
369
  "Script Editor...",
370
+ "Select All Lines",
371
+ "Select all shortcut buttons",
264
372
  "Selective Color Correction...",
265
373
  "Set Sigma...",
266
374
  "Set Target Median...",
@@ -278,20 +386,28 @@
278
386
  "Stacking! Darks, Flats, Lights, Calibration, Drizzle, and more!!",
279
387
  "Star Stretch...",
280
388
  "Star Stuff",
389
+ "Start a new project? This closes all views and clears desktop shortcuts.",
281
390
  "Statistical Stretch...",
391
+ "Statistics...",
282
392
  "Stellar Alignment...",
283
393
  "Stellar Register...",
284
394
  "Stretch the image using median/SD statistics",
285
395
  "Subtract per-channel minimum.\nClick: active view\nAlt+Drag: drop onto a view",
286
396
  "Supernova / Asteroid Hunter...",
397
+ "Switch to next active view",
398
+ "Switch to previously active view",
399
+ "System Monitor",
400
+ "Tile all subwindows",
287
401
  "Tile Horizontally",
288
402
  "Tile Vertically",
289
403
  "Tile Views",
290
- "Tile all subwindows",
404
+ "Toggle Display Auto-Stretch",
291
405
  "Toggle display auto-stretch for the active window",
292
406
  "Toggle hard profile for Display-Stretch (H)",
293
407
  "Tools",
294
408
  "Undo",
409
+ "View",
410
+ "View Bundles",
295
411
  "View Bundles...",
296
412
  "View histogram and basic stats for the active image",
297
413
  "View/Edit FITS headers",
@@ -302,11 +418,13 @@
302
418
  "What's In My Sky...",
303
419
  "What's In My...",
304
420
  "White Balance...",
421
+ "Window Shelf",
305
422
  "Write a ready-to-edit sample script into the scripts folder",
306
423
  "Zoom In",
307
- "Zoom Out",
308
424
  "Zoom in",
425
+ "Zoom Out",
309
426
  "Zoom out",
427
+ "Zoom to 100% (1:1)",
310
428
  "Zoom to 100% (pixel-for-pixel)"
311
429
  ],
312
430
  "AstrobinExportTab": [
@@ -315,28 +433,28 @@
315
433
  "# Subs",
316
434
  "(e.g. 4408)",
317
435
  "0–9",
318
- "API Key",
319
- "API Secret",
320
436
  "Accessories",
321
437
  "Acquisition details",
322
438
  "Add Files…",
323
439
  "Add watermark",
324
440
  "All selected files are already in the list.",
441
+ "API Key",
442
+ "API Secret",
325
443
  "Apply",
326
444
  "AstroBin Export",
327
445
  "Astrobin Export",
328
446
  "Astrobin Filter ID",
329
447
  "Astrobin Link",
330
448
  "Bandwidth",
449
+ "bias",
331
450
  "Bias (#)",
451
+ "binning",
332
452
  "Bortle",
453
+ "bortle",
333
454
  "Bortle scale",
334
455
  "Brand",
335
456
  "Browse Filters",
336
457
  "Browse...",
337
- "CSV Files (*.csv);;All Files (*)",
338
- "CSV Load Error",
339
- "CSV copied to clipboard.",
340
458
  "Camera",
341
459
  "Catalog CSV loaded.",
342
460
  "Clear",
@@ -350,10 +468,20 @@
350
468
  "Could not save filter mapping CSV: {0}",
351
469
  "Credentials invalid",
352
470
  "Credentials valid",
471
+ "CSV copied to clipboard.",
472
+ "CSV Files (*.csv);;All Files (*)",
473
+ "CSV Load Error",
474
+ "darks",
353
475
  "Darks (#)",
354
476
  "Data source",
477
+ "date",
355
478
  "Deep sky",
356
479
  "Description",
480
+ "duration",
481
+ "e.g. 2.10",
482
+ "e.g. 21.30",
483
+ "e.g. 4.0",
484
+ "e.g. 4408",
357
485
  "Enter your AstroBin API key",
358
486
  "Enter your AstroBin API secret",
359
487
  "Equipment",
@@ -361,56 +489,68 @@
361
489
  "Export settings",
362
490
  "Exposure (s)",
363
491
  "Exposure: {0}",
364
- "FITS Files (*.fits *.fit *.fts);;All Files (*.*)",
365
- "FITS/XISF (*.fit *.fits *.xisf);;All Files (*)",
492
+ "f/number",
366
493
  "Failed to load filter mappings: {0}",
367
494
  "Failed to save filter mappings: {0}",
368
495
  "Files (Object → Filter → Exposure)",
369
496
  "Filter",
497
+ "filter",
370
498
  "Filter Browser",
371
499
  "Filter mappings loaded successfully.",
372
500
  "Filter mappings saved successfully.",
373
501
  "Filter: {0}",
374
502
  "Filters",
375
503
  "Filters Found:",
504
+ "FITS Files (*.fits *.fit *.fts);;All Files (*.*)",
505
+ "FITS/XISF (*.fit *.fits *.xisf);;All Files (*)",
376
506
  "Flat-darks (#)",
507
+ "flatDarks",
508
+ "flats",
377
509
  "Flats (#)",
510
+ "fNumber",
378
511
  "From active view",
379
512
  "From file",
513
+ "gain",
380
514
  "Gear",
381
515
  "Global inputs (used if FITS headers are missing/zero)",
382
516
  "Group nights noon → noon (local time)",
517
+ "h",
383
518
  "ID",
519
+ "Image format",
384
520
  "Image Information",
385
521
  "Image Selection",
386
- "Image format",
387
522
  "Input Files",
388
523
  "Integration summary copied!",
524
+ "iso",
389
525
  "Load Catalog",
526
+ "Load Filter Mappings from CSV",
390
527
  "Load FITS Headers",
391
528
  "Load FITS via 'Select Folder…' or 'Add Files…' to begin.",
392
529
  "Load FITS/XISF via 'Select Folder…' or 'Add Files…' to begin.",
393
- "Load Filter Mappings from CSV",
394
530
  "Load Telescope/Camera from CSV",
395
531
  "Loaded {0} file(s)",
396
532
  "Loaded {0} filters.",
397
533
  "Loading filters from Astrobin...",
398
534
  "Location",
535
+ "m",
399
536
  "Manage Filter IDs…",
400
537
  "Maximum dimension",
401
538
  "Mean FWHM",
402
539
  "Mean SQM",
540
+ "meanFwhm",
541
+ "meanSqm",
403
542
  "Mount",
404
543
  "Name",
405
544
  "No .fit/.fits/.xisf files found.",
406
545
  "No FITS files selected.",
407
546
  "No Images",
408
- "No New Files",
409
547
  "No integration data to copy.",
410
548
  "No mappings set",
549
+ "No New Files",
411
550
  "Noctilucent clouds",
412
551
  "Northern lights",
413
552
  "Nothing to copy",
553
+ "number",
414
554
  "Object: {0}",
415
555
  "Open AstroBin Equipment Explorer (Filters)",
416
556
  "Own data",
@@ -420,28 +560,31 @@
420
560
  "Recompute",
421
561
  "Remote source",
422
562
  "Resize",
423
- "SQM value",
563
+ "s",
564
+ "Save credentials",
424
565
  "Save Filter Mapping CSV",
425
566
  "Save Filter Mappings to CSV",
426
- "Save credentials",
427
567
  "Search:",
428
568
  "Seeing",
429
569
  "Select",
430
570
  "Select Equipment CSV",
571
+ "Select Filter Mapping CSV",
431
572
  "Select FITS Files",
432
573
  "Select FITS/XISF Files",
433
- "Select Filter Mapping CSV",
434
574
  "Select Folder Containing FITS/XISF Files",
435
575
  "Select Folder…",
436
576
  "Select image to export",
577
+ "sensorCooling",
437
578
  "Size",
438
579
  "Software",
439
580
  "Solar system",
581
+ "SQM value",
440
582
  "Star trails",
441
583
  "Subject type",
442
584
  "Success",
443
585
  "Telescope",
444
586
  "Telescope/Camera Selection:",
587
+ "temperature",
445
588
  "There is no CSV content yet.",
446
589
  "Title",
447
590
  "Total Frames:",
@@ -460,50 +603,84 @@
460
603
  "Watermark opacity",
461
604
  "Watermark position",
462
605
  "Watermark text",
463
- "Wide field",
464
- "bias",
465
- "binning",
466
- "bortle",
467
- "darks",
468
- "date",
469
- "duration",
470
- "e.g. 2.10",
471
- "e.g. 21.30",
472
- "e.g. 4.0",
473
- "e.g. 4408",
474
- "f/number",
475
- "fNumber",
476
- "filter",
477
- "flatDarks",
478
- "flats",
479
- "gain",
480
- "h",
481
- "iso",
482
- "m",
483
- "meanFwhm",
484
- "meanSqm",
485
- "number",
486
- "s",
487
- "sensorCooling",
488
- "temperature"
606
+ "Wide field"
489
607
  ],
490
608
  "AstrobinExporterDialog": [
491
609
  "AstroBin Exporter"
492
610
  ],
493
611
  "BackgroundNeutralizationDialog": [
612
+ "Apply",
494
613
  "Apply Neutralization",
495
614
  "Background Neutralization",
615
+ "Blue",
496
616
  "Cancel",
617
+ "Close",
618
+ "Current Background",
619
+ "Custom",
497
620
  "Enable Auto-Stretch",
498
- "Find Background"
621
+ "Find Background",
622
+ "Green",
623
+ "Neutral Gray",
624
+ "Pick Region",
625
+ "Preview",
626
+ "Processing...",
627
+ "Red",
628
+ "Region Size",
629
+ "Reset",
630
+ "Sample Region",
631
+ "Target Background",
632
+ "Target Color"
499
633
  ],
500
634
  "BatchConvertDialog": [
635
+ "16-bit",
636
+ "32-bit float",
637
+ "8-bit",
638
+ "Add Files...",
639
+ "Add Folder...",
501
640
  "Batch Convert",
641
+ "Bit Depth",
502
642
  "Bit depth:",
643
+ "Browse...",
503
644
  "Cancel",
645
+ "Clear All",
646
+ "Close",
647
+ "Complete",
648
+ "Convert",
649
+ "Converted {0} files",
650
+ "Converting file {0} of {1}",
651
+ "Custom directory",
652
+ "Input Files",
653
+ "Output Directory",
654
+ "Output Format",
504
655
  "Output format:",
656
+ "Output Settings",
657
+ "Processing...",
658
+ "Remove Selected",
659
+ "Same as input",
505
660
  "Start"
506
661
  ],
662
+ "BatchFITSDialog": [
663
+ "Action",
664
+ "Add Files...",
665
+ "Add Folder...",
666
+ "Add Keyword",
667
+ "Apply",
668
+ "Batch FITS Header Modifier",
669
+ "Cancel",
670
+ "Clear All",
671
+ "Close",
672
+ "Comment",
673
+ "Delete",
674
+ "Header Keywords",
675
+ "Input Files",
676
+ "Keyword",
677
+ "Modified {0} files",
678
+ "Processing...",
679
+ "Remove Keyword",
680
+ "Remove Selected",
681
+ "Set",
682
+ "Value"
683
+ ],
507
684
  "BatchFITSHeaderDialog": [
508
685
  "Add if missing (for Add/Update)",
509
686
  "Add/Update",
@@ -528,117 +705,7 @@
528
705
  "{0} files selected"
529
706
  ],
530
707
  "BatchRenamerDialog": [
531
- "(optional) Rename into this folder; leave empty to rename in place",
532
- "Add FITS files",
533
- "Add Files...",
534
- "Add Files…",
535
- "Add Folder...",
536
- "All files renamed.",
537
- "Apply Rename",
538
- "As is",
539
- "Available FITS keywords (double-click to insert):",
540
- "Available tokens",
541
- "Available tokens: {name}, {date}, {time}, {counter}, {ext}",
542
- "Batch File Renamer",
543
- "Batch Rename",
544
- "Batch Rename from FITS",
545
- "Browse...",
546
- "Browse…",
547
- "Cancel",
548
- "Case",
549
- "Case sensitive",
550
- "Choose Destination Folder",
551
- "Clear All",
552
- "Clear Selections",
553
- "Collisions",
554
- "Complete",
555
- "Copy files",
556
- "Counter Padding",
557
- "Counter Start",
558
- "Current Name",
559
- "Custom folder",
560
- "Date format",
561
- "Destination:",
562
- "Done",
563
- "Done with errors",
564
- "Dry Run",
565
- "ERROR: {0}",
566
- "Error",
567
- "Error renaming files: {0}",
568
- "FITS files (*.fit *.fits *.fts *.fz);;All files (*)",
569
- "Failed to rename {0} files",
570
- "File already exists",
571
- "Filename pattern",
572
- "Files renamed successfully.",
573
- "Filter Pattern",
574
- "Find",
575
- "Include Subfolders",
576
- "Index start:",
577
- "Insert",
578
- "Insert token",
579
- "Lowercase",
580
- "Move files",
581
- "New Name",
582
- "New name",
583
- "No files found matching the pattern.",
584
- "No files to rename.",
585
- "No previous rename operation to undo.",
586
- "Old path",
587
- "Options",
588
- "Original Name",
589
- "Output",
590
- "Overwrite",
591
- "Overwrite all",
592
- "Overwrite?",
593
- "Padding",
594
- "Pattern",
595
- "Preview",
596
- "Preview Changes",
597
- "Processing",
598
- "Remove Selected",
599
- "Rename",
600
- "Rename All",
601
- "Rename Collision",
602
- "Rename Pattern",
603
- "Renamed {0} files",
604
- "Renaming files...",
605
- "Renaming...",
606
- "Replace",
607
- "Replace with",
608
- "Same folder",
609
- "Scan Folder…",
610
- "Select Folder",
611
- "Select Source Folder",
612
- "Select a folder or add files…",
613
- "Separator",
614
- "Skip",
615
- "Skip all",
616
- "Some files could not be renamed ({0} errors).",
617
- "Some files would have the same name after renaming. Please adjust the pattern.",
618
- "Source Files",
619
- "Source Folder",
620
- "Source:",
621
- "Start number",
622
- "Status",
623
- "Success",
624
- "Template:",
625
- "Time format",
626
- "Title case",
627
- "Two or more files would map to the same name. Adjust your pattern.",
628
- "Undo Last Rename",
629
- "Uppercase",
630
- "Use regex",
631
- "Warning",
632
- "append .{ext} if missing",
633
- "e.g. *.fits, *.tif",
634
- "e.g. LIGHT_{FILTER}_{EXPOSURE:.0f}s_{DATE-OBS:%Y%m%d}_{#03}.{ext}",
635
- "e.g. {name}_{date}_{counter}",
636
- "lowercase",
637
- "name collision",
638
- "ok",
639
- "renamed",
640
- "spaces→_",
641
- "will overwrite"
708
+ "Clear Selections"
642
709
  ],
643
710
  "BatchSettingsDialog": [
644
711
  "Apply to All",
@@ -652,6 +719,27 @@
652
719
  "Output Format",
653
720
  "Set Type, Exposure, and Filter for All Files"
654
721
  ],
722
+ "BlemishBlasterDialog": [
723
+ "Apply",
724
+ "Blemish Blaster",
725
+ "Brush Hardness",
726
+ "Brush Size",
727
+ "Clone",
728
+ "Close",
729
+ "Heal",
730
+ "Mode",
731
+ "Opacity",
732
+ "Pan",
733
+ "Patch",
734
+ "Preview",
735
+ "Redo",
736
+ "Reset",
737
+ "Set Source Point",
738
+ "Show source overlay",
739
+ "Source",
740
+ "Undo",
741
+ "Zoom"
742
+ ],
655
743
  "BlemishBlasterDialogPro": [
656
744
  "Apply to Document",
657
745
  "Auto-stretch preview",
@@ -666,6 +754,20 @@
666
754
  "Target median:",
667
755
  "Undo"
668
756
  ],
757
+ "BlinkComparatorDialog": [
758
+ "Add Images",
759
+ "Align Images",
760
+ "Blink Comparator",
761
+ "Clear All",
762
+ "Close",
763
+ "Delay (ms)",
764
+ "Loop",
765
+ "Pause",
766
+ "Play",
767
+ "Remove Image",
768
+ "Speed",
769
+ "Stop"
770
+ ],
669
771
  "BlinkComparatorPro": [
670
772
  "Blink Comparator"
671
773
  ],
@@ -681,11 +783,11 @@
681
783
  "Align images",
682
784
  "Aligning frames...",
683
785
  "Aligning...",
684
- "Alignment Method:",
685
786
  "Alignment complete",
686
787
  "Alignment complete.",
687
788
  "Alignment failed",
688
789
  "Alignment failed: {0}",
790
+ "Alignment Method:",
689
791
  "All",
690
792
  "Apply to All Frames",
691
793
  "Are you sure you want to clear all loaded images?",
@@ -720,8 +822,8 @@
720
822
  "Delay (ms)",
721
823
  "Delete All Flagged Images",
722
824
  "Delete Flagged",
723
- "Delete Selected Items",
724
825
  "Delete flagged frame(s)?",
826
+ "Delete Selected Items",
725
827
  "Deleted {0} flagged images.",
726
828
  "Difference Mode",
727
829
  "Difference mode",
@@ -740,21 +842,19 @@
740
842
  "Export All as FITS",
741
843
  "Export All as PNG",
742
844
  "Export All as TIFF",
743
- "Export Blink Video",
744
- "Export Frames",
745
- "Export GIF",
746
- "Export Video",
747
- "Export Video…",
748
845
  "Export animation",
846
+ "Export Blink Video",
749
847
  "Export canceled.",
750
848
  "Export cancelled.",
849
+ "Export Frames",
850
+ "Export GIF",
751
851
  "Export marks",
752
852
  "Export only selected frames",
853
+ "Export Video",
753
854
  "Export video",
855
+ "Export Video…",
754
856
  "Exporting video...",
755
857
  "Exposure: {0}",
756
- "FITS header",
757
- "FPS:",
758
858
  "Failed to create document:\n{0}",
759
859
  "Failed to load frame: {0}",
760
860
  "Failed to move {0}: {1}",
@@ -765,20 +865,22 @@
765
865
  "First",
766
866
  "First Frame",
767
867
  "Fit to Preview",
868
+ "FITS header",
768
869
  "Flag",
769
870
  "Flag All",
770
871
  "Flag Selected",
771
872
  "Flagged frames moved to: {0}",
873
+ "FPS:",
772
874
  "Frame",
773
- "Frame Rate:",
774
875
  "Frame rate",
876
+ "Frame Rate:",
775
877
  "Frame {0} of {1}",
776
878
  "Frames exported to: {0}",
777
879
  "Frames loaded successfully.",
778
880
  "Full Affine",
779
- "GIF Files (*.gif)",
780
881
  "GIF export failed: {0}",
781
882
  "GIF exported: {0}",
883
+ "GIF Files (*.gif)",
782
884
  "Hide Flagged",
783
885
  "Highlight differences",
784
886
  "Homography",
@@ -789,8 +891,8 @@
789
891
  "Images (*.png *.tif *.tiff *.fits *.fit *.xisf *.cr2 *.nef *.arw *.dng *.raf *.orf *.rw2 *.pef);;All Files (*)",
790
892
  "Individual Stretch",
791
893
  "Individual stretch",
792
- "Invert Flags",
793
894
  "Invert difference",
895
+ "Invert Flags",
794
896
  "Last",
795
897
  "Last Frame",
796
898
  "Link stretch",
@@ -817,33 +919,33 @@
817
919
  "Moved {0} flagged images.",
818
920
  "Next",
819
921
  "Next Frame",
922
+ "No compatible video codec found.\n\nTip: install FFmpeg or `pip install imageio[ffmpeg]` for a portable fallback.",
820
923
  "No Flagged Images",
821
924
  "No Frames",
822
- "No Images",
823
- "No Images Found",
824
- "No New Images",
825
- "No Prefix",
826
- "No Selection",
827
- "No compatible video codec found.\n\nTip: install FFmpeg or `pip install imageio[ffmpeg]` for a portable fallback.",
828
925
  "No frames loaded.",
829
926
  "No frames were written (codec/back-end issue?).",
830
927
  "No image is currently selected to flag.",
831
928
  "No image loaded. Cannot fit to preview.",
832
929
  "No image selected.",
930
+ "No Images",
833
931
  "No images",
932
+ "No Images Found",
834
933
  "No images loaded",
835
934
  "No individual frames selected.",
836
935
  "No items selected for deletion.",
837
936
  "No items selected for moving.",
838
937
  "No items selected for renaming.",
938
+ "No New Images",
839
939
  "No new images selected or already loaded.",
840
940
  "No new images were selected or all selected images are already loaded.",
941
+ "No Prefix",
841
942
  "No prefix entered. This will not change any filenames.\n\nContinue anyway?",
943
+ "No Selection",
842
944
  "No supported image files were found in the selected directory.",
843
945
  "Normalize All",
844
946
  "Nothing to export.",
845
- "OK",
846
947
  "Object: {0}",
948
+ "OK",
847
949
  "Only one frame",
848
950
  "Opacity:",
849
951
  "Open Images",
@@ -867,13 +969,13 @@
867
969
  "Remove Selected",
868
970
  "Rename",
869
971
  "Rename Flagged Images",
972
+ "Rename flagged images",
870
973
  "Rename Flagged Images…",
871
974
  "Rename Image",
872
- "Rename flagged images",
873
975
  "Renamed {0} flagged image{1}.",
874
976
  "Rendering video…",
875
- "Reset Stretch",
876
977
  "Reset alignment",
978
+ "Reset Stretch",
877
979
  "Resolution",
878
980
  "Reverse Order",
879
981
  "Rotate All",
@@ -893,13 +995,13 @@
893
995
  "Send to Stacking → Integration",
894
996
  "Send to Stacking → Lights",
895
997
  "Set as Reference",
896
- "Show Difference",
897
- "Show Flagged Only",
898
- "Show Metrics",
899
998
  "Show crosshair",
999
+ "Show Difference",
900
1000
  "Show filename",
1001
+ "Show Flagged Only",
901
1002
  "Show grid",
902
1003
  "Show histogram",
1004
+ "Show Metrics",
903
1005
  "Show timestamp",
904
1006
  "Side by side",
905
1007
  "Signed Difference",
@@ -928,10 +1030,10 @@
928
1030
  "Video (*.mp4 *.avi)",
929
1031
  "Video Codec:",
930
1032
  "Video Export (optional)",
931
- "Video Files (*.mp4 *.avi *.mov)",
932
- "Video Options",
933
1033
  "Video export failed: {0}",
934
1034
  "Video exported: {0}",
1035
+ "Video Files (*.mp4 *.avi *.mov)",
1036
+ "Video Options",
935
1037
  "Warning",
936
1038
  "You're about to export a video with a single frame. Continue?",
937
1039
  "Zoom 100%",
@@ -943,11 +1045,22 @@
943
1045
  "→ Stacking: Integration",
944
1046
  "→ Stacking: Lights"
945
1047
  ],
1048
+ "CLAHEDialog": [
1049
+ "Apply",
1050
+ "Apply to Luminance only",
1051
+ "CLAHE",
1052
+ "Clip Limit",
1053
+ "Close",
1054
+ "Grid Size",
1055
+ "Preview",
1056
+ "Processing...",
1057
+ "Reset"
1058
+ ],
946
1059
  "CLAHEDialogPro": [
947
1060
  "Apply",
1061
+ "Cancel",
948
1062
  "CLAHE",
949
1063
  "CLAHE Parameters",
950
- "Cancel",
951
1064
  "Clip Limit:",
952
1065
  "Reset",
953
1066
  "Tile Size (px):"
@@ -961,18 +1074,46 @@
961
1074
  "CheatSheetDialog": [
962
1075
  "Action",
963
1076
  "Additional & Mouse & Drag",
1077
+ "All",
964
1078
  "Base Keyboard",
1079
+ "Category",
1080
+ "Cheat Sheet",
965
1081
  "Cheat sheet copied to clipboard.",
966
1082
  "Close",
967
1083
  "Context",
968
1084
  "Copied",
969
1085
  "Copy",
1086
+ "Edit",
970
1087
  "Effect",
1088
+ "File",
971
1089
  "Gesture",
1090
+ "Image",
972
1091
  "Keyboard Shortcut Cheat Sheet",
1092
+ "Keyboard Shortcuts",
1093
+ "Print",
1094
+ "Search",
973
1095
  "Shortcut",
1096
+ "Tools",
1097
+ "View",
974
1098
  "Where"
975
1099
  ],
1100
+ "ContinuumSubtractDialog": [
1101
+ "Apply",
1102
+ "Auto Calculate",
1103
+ "Broadband Image",
1104
+ "Close",
1105
+ "Continuum Subtract",
1106
+ "Create new image",
1107
+ "Narrowband Image",
1108
+ "Output",
1109
+ "Preview",
1110
+ "Processing...",
1111
+ "Replace active image",
1112
+ "Reset",
1113
+ "Scale Factor",
1114
+ "Select broadband view",
1115
+ "Select narrowband view"
1116
+ ],
976
1117
  "ContinuumSubtractTab": [
977
1118
  "Clear Loaded Images",
978
1119
  "Continuum Sources",
@@ -987,12 +1128,52 @@
987
1128
  "Convolution",
988
1129
  "Convolution / Deconvolution",
989
1130
  "Deconvolution",
990
- "PSF Estimator",
991
1131
  "Preview",
1132
+ "PSF Estimator",
992
1133
  "Push",
993
1134
  "TV Denoise",
994
1135
  "Undo"
995
1136
  ],
1137
+ "ConvoDialog": [
1138
+ "Apply",
1139
+ "Box",
1140
+ "Close",
1141
+ "Convolution",
1142
+ "Convolution / Deconvolution",
1143
+ "Custom",
1144
+ "Deconvolution",
1145
+ "Gaussian",
1146
+ "Generate PSF",
1147
+ "Iterations",
1148
+ "Kernel",
1149
+ "Load PSF",
1150
+ "Mode",
1151
+ "Preview",
1152
+ "Processing...",
1153
+ "PSF",
1154
+ "Regularization",
1155
+ "Reset",
1156
+ "Sigma",
1157
+ "Size"
1158
+ ],
1159
+ "CosmicClarityDialog": [
1160
+ "Apply",
1161
+ "Close",
1162
+ "Cosmic Clarity",
1163
+ "Denoise",
1164
+ "Detail",
1165
+ "Detect Trails",
1166
+ "GPU Acceleration",
1167
+ "Load Model",
1168
+ "Model",
1169
+ "Preview",
1170
+ "Processing...",
1171
+ "Remove Trails",
1172
+ "Reset",
1173
+ "Satellite Trail Removal",
1174
+ "Sharpen",
1175
+ "Strength"
1176
+ ],
996
1177
  "CosmicClarityDialogPro": [
997
1178
  "Close",
998
1179
  "Cosmic Clarity",
@@ -1003,11 +1184,45 @@
1003
1184
  "Use GPU:",
1004
1185
  "Yes"
1005
1186
  ],
1187
+ "CrashDialog": [
1188
+ "An error has occurred",
1189
+ "Close",
1190
+ "Copy to Clipboard",
1191
+ "Crash Report",
1192
+ "Don't Send",
1193
+ "Error Details",
1194
+ "Restart Application",
1195
+ "Send Report"
1196
+ ],
1006
1197
  "CrashHandler": [
1007
1198
  "Details are available below and in saspro.log.",
1008
1199
  "Unhandled Exception",
1009
1200
  "Unhandled Thread Exception"
1010
1201
  ],
1202
+ "CropDialog": [
1203
+ "16:9",
1204
+ "3:2",
1205
+ "4:3",
1206
+ "Angle",
1207
+ "Apply",
1208
+ "Aspect Ratio",
1209
+ "Center",
1210
+ "Close",
1211
+ "Crop",
1212
+ "Custom",
1213
+ "Fill",
1214
+ "Fit",
1215
+ "Height",
1216
+ "Lock Aspect Ratio",
1217
+ "Original",
1218
+ "Preview",
1219
+ "Reset",
1220
+ "Rotation",
1221
+ "Square (1:1)",
1222
+ "Width",
1223
+ "X Offset",
1224
+ "Y Offset"
1225
+ ],
1011
1226
  "CropDialogPro": [
1012
1227
  "Applied crop to all open images. Any Astrometric Solutions has been updated.",
1013
1228
  "Apply",
@@ -1018,10 +1233,10 @@
1018
1233
  "Batch Crop",
1019
1234
  "Batch Crop (all open)",
1020
1235
  "Bottom",
1021
- "CRVAL: ({0:.6f}, {1:.6f}) → ({2:.6f}, {3:.6f})\n",
1022
1236
  "Close",
1023
1237
  "Confirm Batch",
1024
1238
  "Crop Tool",
1239
+ "CRVAL: ({0:.6f}, {1:.6f}) → ({2:.6f}, {3:.6f})\n",
1025
1240
  "Draw & finalize a crop first.",
1026
1241
  "Fit residuals: RMS {0:.3f}\" (p95 {1:.3f}\")",
1027
1242
  "Fit to View",
@@ -1033,10 +1248,10 @@
1033
1248
  "Margins (px):",
1034
1249
  "Model: {0} Image: {1}\n",
1035
1250
  "No Images",
1036
- "No Previous",
1037
- "No Selection",
1038
1251
  "No open images to crop.",
1252
+ "No Previous",
1039
1253
  "No previous crop stored.",
1254
+ "No Selection",
1040
1255
  "Original",
1041
1256
  "Right",
1042
1257
  "Selection: {0}×{1} px",
@@ -1052,6 +1267,31 @@
1052
1267
  "CurveEditor": [
1053
1268
  "Inflection @ K={0:.3f}"
1054
1269
  ],
1270
+ "CurveEditorDialog": [
1271
+ "Add Point",
1272
+ "Apply",
1273
+ "Blue",
1274
+ "Channel",
1275
+ "Close",
1276
+ "Curve Editor",
1277
+ "Delete Preset",
1278
+ "Green",
1279
+ "Input",
1280
+ "Linear Interpolation",
1281
+ "Load Preset",
1282
+ "Luminance",
1283
+ "Output",
1284
+ "Presets",
1285
+ "Preview",
1286
+ "Red",
1287
+ "Remove Point",
1288
+ "Reset All",
1289
+ "Reset Channel",
1290
+ "RGB",
1291
+ "Save Preset",
1292
+ "Show Histogram",
1293
+ "Smooth Curve"
1294
+ ],
1055
1295
  "CurvesDialogPro": [
1056
1296
  "Apply to Document",
1057
1297
  "Curves Editor",
@@ -1066,9 +1306,40 @@
1066
1306
  "Finalizing…"
1067
1307
  ],
1068
1308
  "DebayerDialog": [
1309
+ "AHD",
1310
+ "Apply",
1311
+ "Auto-detect",
1312
+ "Bayer Pattern",
1069
1313
  "Bayer pattern",
1314
+ "BGGR",
1315
+ "Bilinear",
1316
+ "Close",
1317
+ "DCB",
1070
1318
  "Debayer",
1071
- "Method"
1319
+ "GBRG",
1320
+ "GRBG",
1321
+ "Method",
1322
+ "Preview",
1323
+ "Processing...",
1324
+ "Reset",
1325
+ "RGGB",
1326
+ "Super Pixel",
1327
+ "VNG"
1328
+ ],
1329
+ "DistortionCorrectionDialog": [
1330
+ "Apply",
1331
+ "Barrel",
1332
+ "Close",
1333
+ "Distortion Correction",
1334
+ "Load Profile",
1335
+ "Mode",
1336
+ "Pincushion",
1337
+ "Polynomial",
1338
+ "Preview",
1339
+ "Processing...",
1340
+ "Reset",
1341
+ "Save Profile",
1342
+ "Strength"
1072
1343
  ],
1073
1344
  "DistortionGridDialog": [
1074
1345
  "Astrometric Distortion & Histogram",
@@ -1086,6 +1357,43 @@
1086
1357
  "Show System Log Panel",
1087
1358
  "System Log"
1088
1359
  ],
1360
+ "DraggableToolBar": [
1361
+ "Clear Selection",
1362
+ "Create Desktop Shortcut",
1363
+ "Delete Selected",
1364
+ "Function Bundles…",
1365
+ "Hide this icon",
1366
+ "Lock Toolbar Icons",
1367
+ "Reset hidden icons",
1368
+ "Show hidden…",
1369
+ "Tip: Alt+Drag to create",
1370
+ "View Bundles…"
1371
+ ],
1372
+ "ExoPlanetDialog": [
1373
+ "Add Files...",
1374
+ "Add Reference",
1375
+ "Analysis",
1376
+ "Aperture Radius",
1377
+ "Clear All",
1378
+ "Close",
1379
+ "Detect Transit",
1380
+ "Exoplanet Detector",
1381
+ "Export Data",
1382
+ "Light Curve",
1383
+ "Load Data",
1384
+ "No transit detected",
1385
+ "Processing...",
1386
+ "Reference Stars",
1387
+ "Remove Reference",
1388
+ "Results",
1389
+ "Save Plot",
1390
+ "Select on Image",
1391
+ "Target Star",
1392
+ "Transit Depth",
1393
+ "Transit detected!",
1394
+ "Transit Detection",
1395
+ "Transit Duration"
1396
+ ],
1089
1397
  "ExoPlanetWindow": [
1090
1398
  "1: Load Raw Subs…",
1091
1399
  "1a: Calibrate && Align Subs",
@@ -1107,46 +1415,89 @@
1107
1415
  "Comment (optional)",
1108
1416
  "Could not save:\n{0}",
1109
1417
  "Delete Selected",
1418
+ "File:",
1110
1419
  "FITS (*.fits *.fit);;TIFF (*.tif *.tiff);;PNG (*.png);;JPEG (*.jpg *.jpeg);;XISF (*.xisf)",
1111
- "FITS Header Editor",
1112
1420
  "FITS files (*.fits *.fit *.fts *.fz)",
1113
- "File:",
1421
+ "FITS Header Editor",
1114
1422
  "HDU:",
1115
1423
  "Invalid FITS",
1116
1424
  "KEYWORD",
1117
1425
  "Keyword",
1118
- "No Image",
1119
- "No active image/document to save.",
1120
- "Open FITS",
1121
- "Open FITS…",
1426
+ "No active image/document to save.",
1427
+ "No Image",
1428
+ "Open FITS",
1429
+ "Open FITS…",
1430
+ "Reload",
1431
+ "Save",
1432
+ "Save a Copy As…",
1433
+ "Save Error",
1434
+ "Save Image As",
1435
+ "Saved a copy to:\n{0}",
1436
+ "Saved Copy",
1437
+ "This file does not appear to be a valid FITS:\n\n{0}\n\n{1}\n\nTip: Choose a FITS file via 'Open FITS…' or edit an in-memory header.",
1438
+ "Value"
1439
+ ],
1440
+ "FITSModifierDialog": [
1441
+ "Add Keyword",
1442
+ "Apply",
1443
+ "Boolean",
1444
+ "Cancel",
1445
+ "Close",
1446
+ "Comment",
1447
+ "FITS Header Modifier",
1448
+ "Float",
1449
+ "Integer",
1450
+ "Keyword",
1451
+ "Keywords",
1452
+ "Modified",
1122
1453
  "Reload",
1454
+ "Remove Keyword",
1123
1455
  "Save",
1124
- "Save Error",
1125
- "Save Image As",
1126
- "Save a Copy As…",
1127
- "Saved Copy",
1128
- "Saved a copy to:\n{0}",
1129
- "This file does not appear to be a valid FITS:\n\n{0}\n\n{1}\n\nTip: Choose a FITS file via 'Open FITS…' or edit an in-memory header.",
1456
+ "Save As...",
1457
+ "String",
1458
+ "Type",
1130
1459
  "Value"
1131
1460
  ],
1132
1461
  "FileMixin": [
1462
+ "All Files",
1463
+ "Cancel",
1464
+ "Clear Recent",
1465
+ "Close",
1466
+ "Close All",
1467
+ "Don't Save",
1468
+ "Exit",
1469
+ "Export As...",
1470
+ "Export...",
1133
1471
  "Failed to save:\n{e}",
1134
1472
  "Failed to save:\n{msg}",
1135
1473
  "File not found",
1474
+ "Image Files",
1136
1475
  "Load Project",
1476
+ "New",
1137
1477
  "New Project",
1138
1478
  "No documents to save.",
1139
- "Open Images",
1140
1479
  "Open failed",
1480
+ "Open Images",
1481
+ "Open Recent",
1482
+ "Open...",
1483
+ "Print...",
1141
1484
  "Project not found",
1485
+ "Save",
1486
+ "Save All",
1142
1487
  "Save As",
1143
- "Save Project",
1488
+ "Save As...",
1489
+ "Save changes before closing?",
1144
1490
  "Save failed",
1491
+ "Save Image",
1492
+ "Save Project",
1145
1493
  "Saving",
1146
1494
  "Saving project...",
1495
+ "Select Image File",
1147
1496
  "Start a new project? This closes all views and clears desktop shortcuts.",
1148
1497
  "The file does not exist:\n{path}\n\nRemove it from the recent images list?",
1149
- "The project file does not exist:\n{path}\n\nRemove it from the recent projects list?"
1498
+ "The project file does not exist:\n{path}\n\nRemove it from the recent projects list?",
1499
+ "Unsaved Changes",
1500
+ "Untitled"
1150
1501
  ],
1151
1502
  "FilterIdDialog": [
1152
1503
  "Add row",
@@ -1169,6 +1520,25 @@
1169
1520
  "Search or load the offline filters database.",
1170
1521
  "Select AstroBin Filters CSV"
1171
1522
  ],
1523
+ "FreqSepDialog": [
1524
+ "Add",
1525
+ "Apply",
1526
+ "Apply enhancement",
1527
+ "Blend Mode",
1528
+ "Close",
1529
+ "Create HF/LF layers",
1530
+ "Denoise LF",
1531
+ "Frequency Separation",
1532
+ "HF Scale",
1533
+ "High Frequency",
1534
+ "Linear Light",
1535
+ "Low Frequency",
1536
+ "Output",
1537
+ "Preview",
1538
+ "Processing...",
1539
+ "Radius",
1540
+ "Reset"
1541
+ ],
1172
1542
  "FrequencySeperationTab": [
1173
1543
  "<b>HF Enhancements</b>",
1174
1544
  "Apply - Split HF & LF",
@@ -1181,6 +1551,65 @@
1181
1551
  "Push HF",
1182
1552
  "Push LF"
1183
1553
  ],
1554
+ "FunctionBundleDialog": [
1555
+ "Apply to Active View",
1556
+ "Apply to View Bundle…",
1557
+ "Clear Steps",
1558
+ "Compress to Chip",
1559
+ "Delete",
1560
+ "Delete Chip",
1561
+ "Drag Bundle",
1562
+ "Drop shortcuts here to add steps",
1563
+ "Duplicate",
1564
+ "Edit Preset…",
1565
+ "Function Bundles",
1566
+ "New",
1567
+ "Remove Selected",
1568
+ "▲ Move Up",
1569
+ "▼ Move Down"
1570
+ ],
1571
+ "GHSDialog": [
1572
+ "Apply",
1573
+ "Close",
1574
+ "Color Preservation",
1575
+ "Generalized Hyperbolic Stretch",
1576
+ "GHS",
1577
+ "Highlight Protection (HP)",
1578
+ "Inverse",
1579
+ "Load Preset",
1580
+ "Local Intensity (b)",
1581
+ "Luminance Mask",
1582
+ "Presets",
1583
+ "Preview",
1584
+ "Processing...",
1585
+ "Reset",
1586
+ "Save Preset",
1587
+ "Shadow Protection (LP)",
1588
+ "Stretch Factor (D)",
1589
+ "Symmetry Point (SP)"
1590
+ ],
1591
+ "GeometryDialog": [
1592
+ "Angle",
1593
+ "Apply",
1594
+ "Bicubic",
1595
+ "Bilinear",
1596
+ "Close",
1597
+ "Flip Horizontal",
1598
+ "Flip Vertical",
1599
+ "Geometry",
1600
+ "Height",
1601
+ "Interpolation",
1602
+ "Lanczos",
1603
+ "Lock Aspect Ratio",
1604
+ "Nearest",
1605
+ "Preview",
1606
+ "Processing...",
1607
+ "Reset",
1608
+ "Resize",
1609
+ "Rotation",
1610
+ "Scale",
1611
+ "Width"
1612
+ ],
1184
1613
  "GeometryMixin": [
1185
1614
  "Active view has no image.",
1186
1615
  "Enter scaling factor (e.g., 0.5 for 50%, 2 for 200%):",
@@ -1217,9 +1646,9 @@
1217
1646
  "Fix center",
1218
1647
  "Fix ellipticity",
1219
1648
  "Fix position angle",
1649
+ "Geometry",
1220
1650
  "GLIMR",
1221
1651
  "GLIMR - Galaxy Isophote Modeler",
1222
- "Geometry",
1223
1652
  "Intensity",
1224
1653
  "Isophote Fitting",
1225
1654
  "Isophote table",
@@ -1253,10 +1682,22 @@
1253
1682
  "No image",
1254
1683
  "Value"
1255
1684
  ],
1685
+ "HeaderViewerDialog": [
1686
+ "Close",
1687
+ "Comment",
1688
+ "Copy",
1689
+ "Copy All",
1690
+ "Export...",
1691
+ "FITS Header Viewer",
1692
+ "Keyword",
1693
+ "Refresh",
1694
+ "Search",
1695
+ "Value"
1696
+ ],
1256
1697
  "HeaderViewerDock": [
1257
1698
  "CSV (*.csv)",
1258
- "FITS Header",
1259
1699
  "Failed to save:\n{0}",
1700
+ "FITS Header",
1260
1701
  "Header (dict from document)",
1261
1702
  "Header (snapshot)",
1262
1703
  "Header Viewer",
@@ -1297,18 +1738,44 @@
1297
1738
  "Timestamp",
1298
1739
  "Undo"
1299
1740
  ],
1741
+ "ImagePeeker": [
1742
+ "Blue",
1743
+ "Close",
1744
+ "Curvature Map",
1745
+ "Focal Plane Analysis",
1746
+ "FWHM Map",
1747
+ "Generate Report",
1748
+ "Green",
1749
+ "Histogram",
1750
+ "Image Peeker",
1751
+ "Luminance",
1752
+ "Max",
1753
+ "Mean",
1754
+ "Median",
1755
+ "Min",
1756
+ "Pan",
1757
+ "Pixel Info",
1758
+ "Red",
1759
+ "Statistics",
1760
+ "Std Dev",
1761
+ "Tilt Analysis",
1762
+ "Value",
1763
+ "X",
1764
+ "Y",
1765
+ "Zoom"
1766
+ ],
1300
1767
  "ImagePeekerDialogPro": [
1301
- "ASTAP/Astrometry failed:\n{0}",
1302
1768
  "Analysis:",
1303
1769
  "Aperture (mm):",
1770
+ "ASTAP/Astrometry failed:\n{0}",
1304
1771
  "Astrometric Distortion Analysis",
1305
1772
  "Cannot determine pixel scale.",
1306
1773
  "Choose separation color",
1307
1774
  "Eccentricity Map",
1308
1775
  "Exit without Saving",
1309
- "FWHM Heatmap",
1310
- "Focal Plane Analysis",
1311
1776
  "Focal length (mm):",
1777
+ "Focal Plane Analysis",
1778
+ "FWHM Heatmap",
1312
1779
  "Grid parameters",
1313
1780
  "Grid size:",
1314
1781
  "Image Peeker",
@@ -1332,41 +1799,62 @@
1332
1799
  ],
1333
1800
  "ImagePreviewDialog": [
1334
1801
  "1:1 (100%)",
1802
+ "Actual Size",
1335
1803
  "AutoStretch (Off)",
1336
1804
  "AutoStretch (On)",
1805
+ "Close",
1337
1806
  "Fit to Preview",
1807
+ "Fit to Window",
1338
1808
  "Image Preview",
1809
+ "Info",
1810
+ "Open",
1811
+ "Pan",
1339
1812
  "Toggle AutoStretch",
1340
1813
  "Zoom In",
1341
1814
  "Zoom Out"
1342
1815
  ],
1343
1816
  "ImageSubWindow": [
1817
+ "100%",
1344
1818
  "Clear View Name (use doc name)",
1345
1819
  "Click: replay the last action on the base image.\nArrow: pick a specific past action to replay on the base image.",
1820
+ "Close",
1346
1821
  "Close Image?",
1347
1822
  "Create Preview (drag rectangle)",
1348
1823
  "Create Preview: click, then drag on the image to define a preview rectangle.",
1349
1824
  "Drag onto another window to copy zoom/pan.\nDouble-click to duplicate this view.",
1825
+ "Fit",
1350
1826
  "Full",
1827
+ "Maximize",
1828
+ "Minimize",
1829
+ "Modified",
1351
1830
  "New document name:",
1352
1831
  "New view name:",
1353
1832
  "Press Space + Click/Drag to probe pixels (WCS shown if available)",
1354
1833
  "Preview mode: drag a rectangle on the image to create a preview.",
1355
1834
  "Preview {0} ({1}×{2})",
1835
+ "Read-only",
1836
+ "Redo",
1356
1837
  "Redo (this view)",
1357
1838
  "Rename Document",
1358
1839
  "Rename Document…",
1359
1840
  "Rename View",
1360
1841
  "Rename View… (F2)",
1842
+ "Restore",
1843
+ "Save",
1844
+ "Save As...",
1361
1845
  "Send to Shelf",
1362
1846
  "Show pixel/WCS readout hint",
1363
1847
  "This image has edits that aren't applied/saved.\nClose anyway?",
1364
1848
  "This image has edits that aren’t applied/saved.\nClose anyway?",
1365
1849
  "Toggle WCS grid overlay (if WCS exists)",
1850
+ "Undo",
1366
1851
  "Undo (this view)",
1367
1852
  "Unlink from Linked Views",
1853
+ "Unsaved changes",
1368
1854
  "Untitled",
1369
- "View"
1855
+ "View",
1856
+ "Zoom In",
1857
+ "Zoom Out"
1370
1858
  ],
1371
1859
  "LivePreviewDialog": [
1372
1860
  "Live Mask Preview"
@@ -1375,29 +1863,109 @@
1375
1863
  "An unexpected error occurred.",
1376
1864
  "Application Error"
1377
1865
  ],
1866
+ "MainWindow": [
1867
+ "About",
1868
+ "Close",
1869
+ "Copy",
1870
+ "Cut",
1871
+ "Delete",
1872
+ "Documentation",
1873
+ "Edit",
1874
+ "Exit",
1875
+ "File",
1876
+ "Help",
1877
+ "Image",
1878
+ "New",
1879
+ "Open",
1880
+ "Paste",
1881
+ "Preferences",
1882
+ "Process",
1883
+ "Processing",
1884
+ "Ready",
1885
+ "Redo",
1886
+ "Save",
1887
+ "Save As",
1888
+ "Select All",
1889
+ "Tools",
1890
+ "Undo",
1891
+ "View",
1892
+ "Welcome to SetiAstro Suite Pro",
1893
+ "Window"
1894
+ ],
1378
1895
  "MaskCreationDialog": [
1896
+ "Apply",
1897
+ "Center",
1898
+ "Close",
1899
+ "Create Mask",
1900
+ "Custom Mask",
1901
+ "Detection Threshold",
1379
1902
  "Edge Blur (px):",
1380
1903
  "Ellipse",
1904
+ "End Point",
1905
+ "Feather",
1381
1906
  "Freehand",
1907
+ "Gradient",
1908
+ "Gradient Mask",
1909
+ "Grow Radius",
1910
+ "High",
1911
+ "Invert",
1912
+ "Linear",
1913
+ "Load Mask...",
1914
+ "Low",
1915
+ "Luminance Mask",
1382
1916
  "Mask Creation",
1383
- "Select Entire Image"
1917
+ "Mask Type",
1918
+ "Preview",
1919
+ "Processing...",
1920
+ "Radial",
1921
+ "Radial Mask",
1922
+ "Radius",
1923
+ "Range",
1924
+ "Range Mask",
1925
+ "Reset",
1926
+ "Save Mask...",
1927
+ "Select Entire Image",
1928
+ "Settings",
1929
+ "Smoothness",
1930
+ "Star Detection",
1931
+ "Star Mask",
1932
+ "Star Size",
1933
+ "Start Point"
1384
1934
  ],
1385
1935
  "MaskMixin": [
1936
+ "Apply Mask",
1386
1937
  "Choose Mask Image",
1387
1938
  "Could not resolve mask document.",
1939
+ "Create Mask",
1940
+ "Hide Mask",
1941
+ "Invert Mask",
1942
+ "Load Mask...",
1388
1943
  "Mask",
1944
+ "Mask Active",
1389
1945
  "Mask Overlay",
1390
1946
  "No active document.",
1391
1947
  "No active mask on this image.",
1392
1948
  "No active mask to remove.",
1393
1949
  "No image",
1950
+ "No Mask",
1394
1951
  "Open an image first.",
1395
1952
  "Open another image to use as a mask.",
1953
+ "Remove Mask",
1954
+ "Save Mask...",
1955
+ "Show Mask",
1396
1956
  "Use this image as mask:"
1397
1957
  ],
1398
1958
  "MaskPreviewDialog": [
1959
+ "Apply",
1960
+ "Blue",
1961
+ "Cancel",
1962
+ "Close",
1963
+ "Color",
1964
+ "Green",
1399
1965
  "Mask Preview",
1400
- "Push as New Document…"
1966
+ "Opacity",
1967
+ "Push as New Document…",
1968
+ "Red"
1401
1969
  ],
1402
1970
  "MenuMixin": [
1403
1971
  "&About",
@@ -1433,6 +2001,33 @@
1433
2001
  "Open Recent Projects",
1434
2002
  "Preferences..."
1435
2003
  ],
2004
+ "MetricsDialog": [
2005
+ "Bit Depth",
2006
+ "Blue",
2007
+ "Channel",
2008
+ "Close",
2009
+ "Color Space",
2010
+ "Copy",
2011
+ "Export...",
2012
+ "Green",
2013
+ "Height",
2014
+ "Histogram",
2015
+ "Image Metrics",
2016
+ "Image Size",
2017
+ "Luminance",
2018
+ "MAD",
2019
+ "Maximum",
2020
+ "Mean",
2021
+ "Median",
2022
+ "Minimum",
2023
+ "Red",
2024
+ "Refresh",
2025
+ "RGB",
2026
+ "Show Histogram",
2027
+ "Standard Deviation",
2028
+ "Statistics",
2029
+ "Width"
2030
+ ],
1436
2031
  "MetricsPanel": [
1437
2032
  "Background",
1438
2033
  "Cancel",
@@ -1450,9 +2045,54 @@
1450
2045
  "Frame Metrics",
1451
2046
  "Instructions:\n • Use the filter dropdown to restrict by FILTER.\n • Click a dot to flag/unflag a frame.\n • Shift-click a dot to preview the image.\n • Drag the red lines to set thresholds."
1452
2047
  ],
2048
+ "MinorBodyDialog": [
2049
+ "Altitude",
2050
+ "Asteroid",
2051
+ "Calculate",
2052
+ "Close",
2053
+ "Comet",
2054
+ "Date/Time",
2055
+ "Dec",
2056
+ "Distance",
2057
+ "Elongation",
2058
+ "Export Path",
2059
+ "Latitude",
2060
+ "Location",
2061
+ "Longitude",
2062
+ "Magnitude",
2063
+ "Minor Body Ephemeris",
2064
+ "Object Name",
2065
+ "Phase Angle",
2066
+ "Plot on Image",
2067
+ "RA",
2068
+ "Results",
2069
+ "Search"
2070
+ ],
1453
2071
  "MinorBodyWorker": [
1454
2072
  "Minor-body search: preparing catalog query..."
1455
2073
  ],
2074
+ "MorphologyDialog": [
2075
+ "Apply",
2076
+ "Black Hat",
2077
+ "Close",
2078
+ "Closing",
2079
+ "Cross",
2080
+ "Dilation",
2081
+ "Ellipse",
2082
+ "Erosion",
2083
+ "Gradient",
2084
+ "Iterations",
2085
+ "Morphological Operations",
2086
+ "Opening",
2087
+ "Operation",
2088
+ "Preview",
2089
+ "Processing...",
2090
+ "Rectangle",
2091
+ "Reset",
2092
+ "Size",
2093
+ "Structure Element",
2094
+ "Top Hat"
2095
+ ],
1456
2096
  "MorphologyDialogPro": [
1457
2097
  "Apply",
1458
2098
  "Cancel",
@@ -1504,18 +2144,58 @@
1504
2144
  "Variables"
1505
2145
  ],
1506
2146
  "PlateSolver": [
2147
+ "Active document has no image data.",
2148
+ "Active Image",
2149
+ "Apply WCS",
2150
+ "arcsec/pixel",
1507
2151
  "ASTAP path is not set (see Preferences) or file not found.",
1508
2152
  "ASTAP returned a non-zero exit code.",
1509
2153
  "ASTAP timed out.",
1510
- "Active document has no image data.",
1511
2154
  "Astrometry.net API Key",
1512
2155
  "Astrometry.net calibration not received in time.",
1513
2156
  "Astrometry.net job ID not received in time.",
1514
2157
  "Astrometry.net login failed.",
1515
2158
  "Astrometry.net upload failed.",
2159
+ "Auto-detect",
2160
+ "Cancel",
2161
+ "Center Dec",
2162
+ "Center RA",
2163
+ "Close",
2164
+ "Copy to Clipboard",
2165
+ "Dec (J2000)",
2166
+ "deg",
1516
2167
  "Enter your Astrometry.net API key:",
2168
+ "Failed",
1517
2169
  "Failed to start ASTAP: {0}",
2170
+ "Field Height",
2171
+ "Field Width",
2172
+ "From File...",
2173
+ "Hints",
2174
+ "Image",
2175
+ "Local",
1518
2176
  "No active document to plate-solve.",
2177
+ "No solution found",
2178
+ "Online",
2179
+ "Pixel Scale",
2180
+ "Plate Solver",
2181
+ "Processing...",
2182
+ "RA (J2000)",
2183
+ "Radius",
2184
+ "Ready",
2185
+ "requests not available for astrometry.net API.",
2186
+ "Results",
2187
+ "RMS Error",
2188
+ "Rotation",
2189
+ "Scale",
2190
+ "Solution found!",
2191
+ "Solve",
2192
+ "solve-field not configured.",
2193
+ "solve-field returned no header.",
2194
+ "Solver",
2195
+ "Solver Settings",
2196
+ "Solving...",
2197
+ "Stars Matched",
2198
+ "Status",
1519
2199
  "Status:",
1520
2200
  "Status: ASTAP failed ({0}). Falling back to Astrometry.net…",
1521
2201
  "Status: ASTAP failed to start.",
@@ -1532,8 +2212,13 @@
1532
2212
  "Status: Plate solve completed.",
1533
2213
  "Status: Preparing full-res 16-bit FITS for web solve…",
1534
2214
  "Status: Preparing plate solve…",
2215
+ "Status: process did not exit normally.",
2216
+ "Status: process timed out.",
1535
2217
  "Status: Running local solve-field…",
1536
2218
  "Status: Solution received.",
2219
+ "Status: solve-field failed to start.",
2220
+ "Status: solve-field failed.",
2221
+ "Status: solve-field timed out.",
1537
2222
  "Status: Solved via Astrometry.net.",
1538
2223
  "Status: Solved with ASTAP.",
1539
2224
  "Status: Solving with ASTAP…",
@@ -1543,26 +2228,23 @@
1543
2228
  "Status: Uploading image to Astrometry.net…",
1544
2229
  "Status: Waiting for job assignment…",
1545
2230
  "Status: Waiting for solution…",
1546
- "Status: process did not exit normally.",
1547
- "Status: process timed out.",
1548
- "Status: solve-field failed to start.",
1549
- "Status: solve-field failed.",
1550
- "Status: solve-field timed out.",
1551
2231
  "Status: {0} retry {1}/{2}…",
2232
+ "Success",
1552
2233
  "Temp FITS for web upload is empty/tiny ({0} bytes).",
1553
- "requests not available for astrometry.net API.",
1554
- "solve-field not configured.",
1555
- "solve-field returned no header."
2234
+ "Timeout",
2235
+ "View in Aladin"
1556
2236
  ],
1557
2237
  "PlateSolverDialog": [
1558
2238
  " ✔ saved: ",
1559
- " ❌ Failed to load",
1560
2239
  " ❌ error: ",
2240
+ " ❌ Failed to load",
2241
+ "Active View",
2242
+ "Advanced Options",
2243
+ "Apply to Image",
1561
2244
  "ASTAP -fov. Compute uses image height × scale; Auto lets ASTAP infer.",
1562
2245
  "ASTAP -r. Auto lets ASTAP choose; Value forces a cone radius.",
1563
2246
  "ASTAP path missing.\nSet it in Preferences → ASTAP executable.",
1564
2247
  "ASTAP path missing. Set Preferences → ASTAP executable.",
1565
- "Active View",
1566
2248
  "Auto (-fov 0)",
1567
2249
  "Auto (-r 0)",
1568
2250
  "Auto (from header)",
@@ -1570,53 +2252,75 @@
1570
2252
  "Batch plate solving completed.",
1571
2253
  "Browse Input…",
1572
2254
  "Browse Output…",
2255
+ "Browse...",
1573
2256
  "Browse…",
2257
+ "Cancel",
1574
2258
  "Cannot read image:\n{0}",
1575
- "Choose Image",
2259
+ "Center Dec",
2260
+ "Center RA",
1576
2261
  "Choose a file to solve.",
1577
2262
  "Choose an image…",
2263
+ "Choose Image",
1578
2264
  "Choose input directory",
1579
2265
  "Choose output directory",
1580
2266
  "Close",
1581
2267
  "Compute from scale",
1582
2268
  "Dec (e.g. +40:42:43 or 40.7123)",
1583
- "FITS files (*.fits *.fit)",
1584
- "FOV:",
2269
+ "Downsample",
2270
+ "e.g. 1.80",
2271
+ "e.g. 5.0",
2272
+ "Export Annotation",
1585
2273
  "Failed to save: {0}",
1586
2274
  "File",
2275
+ "FITS files (*.fits *.fit)",
1587
2276
  "Found {0} files. Starting batch…",
2277
+ "FOV:",
2278
+ "Image Source",
1588
2279
  "Images (*.fits *.fit *.xisf *.tif *.tiff *.png *.jpg *.jpeg);;All files (*)",
1589
2280
  "Input directory",
2281
+ "Load from file",
1590
2282
  "Manual",
1591
2283
  "Manual RA/Dec/Scale:",
2284
+ "Max",
2285
+ "Max Stars",
2286
+ "Min",
1592
2287
  "Mode:",
1593
2288
  "No acceptable image files found.",
1594
2289
  "No active image view.",
1595
2290
  "None (blind)",
1596
2291
  "Output directory",
1597
2292
  "Pixel scale in arcseconds/pixel (e.g., 1.46).",
2293
+ "Pixel Scale Range",
2294
+ "Plate Solve",
1598
2295
  "Plate Solver",
1599
2296
  "Please choose a valid input directory.",
1600
2297
  "Please choose a valid output directory.",
1601
2298
  "RA (e.g. 22:32:14 or 338.1385)",
1602
2299
  "Save Error",
1603
2300
  "Save Plate-Solved FITS",
2301
+ "Save WCS",
1604
2302
  "Scale [\" / px] (e.g. 1.46)",
2303
+ "Search Parameters",
2304
+ "Search Radius",
1605
2305
  "Search radius:",
1606
2306
  "Seed mode:",
1607
2307
  "Seeding & Constraints",
1608
2308
  "Selected file does not exist.",
2309
+ "Solution",
2310
+ "Solve",
1609
2311
  "Solve the currently active image view.",
1610
2312
  "Solved (not saved).",
1611
2313
  "Solved FITS saved:\n{0}",
1612
2314
  "Solved with ASTAP (WCS + SIP applied to active doc).",
2315
+ "Solver Configuration",
2316
+ "Solver Type",
1613
2317
  "Start",
1614
2318
  "Status:",
1615
2319
  "Unsupported or unreadable image.",
2320
+ "Use active view",
1616
2321
  "Use FITS header, your manual RA/Dec/scale, or blind solve.",
1617
- "Value (deg)",
1618
- "e.g. 1.80",
1619
- "e.g. 5.0"
2322
+ "Use image hints",
2323
+ "Value (deg)"
1620
2324
  ],
1621
2325
  "PreviewPane": [
1622
2326
  "AutoStretch",
@@ -1625,12 +2329,29 @@
1625
2329
  "Zoom Out"
1626
2330
  ],
1627
2331
  "RGBAlignDialog": [
2332
+ "Affine",
1628
2333
  "Align",
2334
+ "Align B to G",
2335
+ "Align R to G",
1629
2336
  "Alignment model:",
2337
+ "Apply",
2338
+ "Blue",
1630
2339
  "Close",
1631
2340
  "Create new document (keep original)",
2341
+ "Green",
2342
+ "Homography",
2343
+ "Method",
2344
+ "Polynomial",
2345
+ "Polynomial Order",
2346
+ "Preview",
2347
+ "Processing...",
2348
+ "Red",
2349
+ "Reference Channel",
2350
+ "Reset",
1632
2351
  "RGB Align",
2352
+ "RGB Alignment",
1633
2353
  "SEP sigma:",
2354
+ "Show before/after",
1634
2355
  "Trial detect stars"
1635
2356
  ],
1636
2357
  "RGBCombinationDialogPro": [
@@ -1645,23 +2366,42 @@
1645
2366
  "Load Green…",
1646
2367
  "Load Individual Files",
1647
2368
  "Load Red…",
1648
- "RGB Combination",
1649
2369
  "Red:",
1650
2370
  "Red: Not selected",
2371
+ "RGB Combination",
1651
2372
  "Select Open Views for R / G / B",
1652
2373
  "Select RGB Combination Mode",
1653
2374
  "Use Open Views"
1654
2375
  ],
2376
+ "RGBCombineDialog": [
2377
+ "Add luminance",
2378
+ "Apply",
2379
+ "Blue Channel",
2380
+ "Close",
2381
+ "Create new image",
2382
+ "Green Channel",
2383
+ "Luminance",
2384
+ "Output",
2385
+ "Preview",
2386
+ "Processing...",
2387
+ "Red Channel",
2388
+ "Reset",
2389
+ "RGB Combination",
2390
+ "Select blue view",
2391
+ "Select green view",
2392
+ "Select luminance view",
2393
+ "Select red view"
2394
+ ],
1655
2395
  "ReferenceFrameReviewDialog": [
1656
2396
  "Cancel",
1657
2397
  "Disable Autostretch",
1658
2398
  "Enable Autostretch",
1659
2399
  "Error",
1660
- "FITS Files (*.fits *.fit);;All Files (*)",
1661
2400
  "Failed to load the reference image.",
2401
+ "FITS Files (*.fits *.fit);;All Files (*)",
1662
2402
  "Reference Frame Review",
1663
- "Reference Preview",
1664
2403
  "Reference image not loaded.",
2404
+ "Reference Preview",
1665
2405
  "Select New Reference Frame",
1666
2406
  "Unable to load preview.",
1667
2407
  "Use This Reference Frame",
@@ -1693,65 +2433,243 @@
1693
2433
  "Selective Color Correction"
1694
2434
  ],
1695
2435
  "SettingsDialog": [
2436
+ "(Not required) Additional Model Paths for Denoise and Satellites",
2437
+ "About",
2438
+ "Adobe DNG demosaic:",
2439
+ "AHD (default)",
2440
+ "Apply",
1696
2441
  "ASTAP executable:",
2442
+ "Astrometry.net API key",
1697
2443
  "Astrometry.net API key:",
2444
+ "Astrometry.net Fallback:",
2445
+ "Auto",
2446
+ "Auto (system)",
2447
+ "Auto-detect (use FITS header)",
2448
+ "Auto-save",
2449
+ "Best (bilinear, slower)",
2450
+ "Browse...",
2451
+ "Browse…",
2452
+ "Bundle folder is stored under the SASP data folder",
2453
+ "Bundles folder",
2454
+ "Cancel",
1698
2455
  "Check Now…",
2456
+ "Check this if your mono camera produces FITS that look like color mosaics",
2457
+ "Chinese",
1699
2458
  "Choose Background…",
2459
+ "Choose SASP Data Folder",
2460
+ "Choose…",
1700
2461
  "Clear",
1701
2462
  "Compute autostretch on a 16-bit histogram (smoother gradients).",
2463
+ "Cosmic Clarity",
2464
+ "Cosmic Clarity Denoise Path:",
2465
+ "Cosmic Clarity Executable Path (XL model included)",
1702
2466
  "Cosmic Clarity folder:",
2467
+ "Cosmic Clarity Path:",
2468
+ "Cosmic Clarity Satellite Path:",
2469
+ "Cosmic Clarity Settings",
2470
+ "Cosmic Clarity Stellar Path:",
2471
+ "CPU",
1703
2472
  "Customize…",
2473
+ "Dark",
2474
+ "Dark (default)",
2475
+ "Debayer mono files using FITS header BAYERPAT/COLORTYP",
2476
+ "Debayer Mono FITS",
2477
+ "Debayer Pattern",
2478
+ "Default Image Directory",
2479
+ "Default: 128. Smaller tiles use less memory but may be slower.",
2480
+ "Default: 2048. Smaller = less memory but slower preview renders.",
2481
+ "Default: 2048. Smaller = less memory, slower.",
2482
+ "Default: 256. Larger can be faster but uses more memory.",
2483
+ "Default: 3. Number of images to keep in memory.",
2484
+ "Default: 4 (or half your CPU cores).",
2485
+ "Default: 4. Too many workers can exceed GPU memory.",
2486
+ "Default: Half your CPU cores (min 2).",
2487
+ "Denoise Model Downloaded",
2488
+ "DHT (high quality)",
2489
+ "Display",
2490
+ "Display-Stretch: Soft/Hard Profile",
2491
+ "Download Denoise Model",
2492
+ "Download Error",
2493
+ "Download Satellite Model",
2494
+ "Downloading Denoise Model…",
2495
+ "Downloading Satellite Model…",
2496
+ "Draft",
1704
2497
  "Edit custom colors and font",
2498
+ "Enable auto-save",
2499
+ "Enable GPU",
2500
+ "English",
2501
+ "Failed to download model:\n{0}",
2502
+ "Fast (nearest, pixelated)",
2503
+ "Files",
2504
+ "French",
2505
+ "General",
2506
+ "German",
2507
+ "GPU Acceleration",
2508
+ "GPU Device",
2509
+ "GraXpert",
2510
+ "GraXpert Executable Path",
1705
2511
  "GraXpert executable:",
2512
+ "GraXpert Path:",
2513
+ "GraXpert Settings",
2514
+ "Grid line color:",
2515
+ "Grid Overlay",
2516
+ "Hard",
2517
+ "High",
1706
2518
  "High-quality autostretch (16-bit; better gradients)",
2519
+ "Image cache size (slots):",
2520
+ "Image Quality",
2521
+ "Image Viewer",
2522
+ "Inference Device:",
2523
+ "Interface",
2524
+ "Interval (minutes)",
2525
+ "Italian",
2526
+ "Japanese",
2527
+ "Language",
2528
+ "Language changed. Please manually restart the application to apply the new language.",
2529
+ "Language:",
2530
+ "Light",
2531
+ "Local Astrometry.net (solve-field):",
2532
+ "Maximum steps",
2533
+ "MB",
2534
+ "Memory Limit",
2535
+ "Memory settings",
2536
+ "MF Deconvolution Tile size (px):",
2537
+ "MF Parallel workers:",
2538
+ "Multi-Frame Deconvolution",
2539
+ "None (skip fallback)",
2540
+ "Normal",
2541
+ "Note: Some settings require restarting SASpro to take effect.",
2542
+ "Number of parallel image workers:",
2543
+ "Number of parallel stacking workers:",
2544
+ "OK",
2545
+ "Performance",
1707
2546
  "Pick a PNG or JPG to use as the application background",
2547
+ "Plate Solving",
2548
+ "Plate-Solve Engine",
2549
+ "Portuguese",
2550
+ "PPG (fast)",
2551
+ "Preferences",
2552
+ "Preview Quality",
2553
+ "Preview Tile size (px):",
2554
+ "Processing",
2555
+ "RAW Handling",
2556
+ "rawpy extra args (advanced, JSON list):",
1708
2557
  "Remove custom background and restore default",
2558
+ "Rendering Quality:",
2559
+ "Restart required",
1709
2560
  "Restore default updates URL",
2561
+ "Restore Defaults",
1710
2562
  "Run an update check immediately",
2563
+ "SASP Data Folder:",
2564
+ "Satellite Model Downloaded",
1711
2565
  "Save desktop shortcuts on exit",
1712
- "StarNet executable:",
1713
- "English",
1714
- "French",
1715
- "Italian",
2566
+ "Seti Astro Suite Pro",
2567
+ "Seti Astro User ID",
2568
+ "Settings",
2569
+ "Show grid overlay in image views",
2570
+ "Soft (default)",
2571
+ "Some changes require a restart to take effect.",
1716
2572
  "Spanish",
1717
- "Chinese",
1718
- "German",
1719
- "Portuguese",
1720
- "Japanese",
1721
- "Language:",
2573
+ "Stacking Suite",
2574
+ "Stacking Suite Tile size (px):",
2575
+ "StarNet executable:",
2576
+ "System",
2577
+ "The application will now restart to apply the language change.",
2578
+ "The Denoise model has been downloaded to:\n{0}",
2579
+ "The Satellite model has been downloaded to:\n{0}",
2580
+ "Theme",
1722
2581
  "Theme:",
1723
- "Restart required",
1724
- "The application will now restart to apply the language change."
2582
+ "Threads",
2583
+ "Tile size (px):",
2584
+ "Undo History",
2585
+ "Use Astrometry.net (web) as fallback",
2586
+ "Web fallback (free quota)",
2587
+ "Your numeric user ID from setiastrophotography.com:"
2588
+ ],
2589
+ "ShortcutButton": [
2590
+ "Delete"
1725
2591
  ],
1726
2592
  "SignatureInsertDialogPro": [
1727
- "Signature / Insert"
2593
+ "Add Image",
2594
+ "Add Shape",
2595
+ "Add Text",
2596
+ "Apply to Active Document",
2597
+ "Arrow (down)",
2598
+ "Arrow (left)",
2599
+ "Arrow (poly)",
2600
+ "Arrow (right)",
2601
+ "Arrow (up)",
2602
+ "Bold",
2603
+ "Border:",
2604
+ "Choose Image",
2605
+ "Choose…",
2606
+ "Color:",
2607
+ "Delete Overlay",
2608
+ "Ellipse",
2609
+ "Enter text:",
2610
+ "Failed to read the active view; cannot apply overlays.",
2611
+ "Fill:",
2612
+ "Fit to Preview",
2613
+ "Font size:",
2614
+ "Font:",
2615
+ "Height:",
2616
+ "Image",
2617
+ "Image Files (*.png *.jpg *.jpeg *.bmp *.gif *.tif *.tiff);;All Files (*)",
2618
+ "Italic",
2619
+ "Line",
2620
+ "Move Down",
2621
+ "Move Up",
2622
+ "No active document to apply overlays.",
2623
+ "None",
2624
+ "Outline:",
2625
+ "Overlays (text, images, shapes)",
2626
+ "Overlays applied to active document.",
2627
+ "Processing...",
2628
+ "px",
2629
+ "Ready",
2630
+ "Rectangle",
2631
+ "Render at full resolution",
2632
+ "Selected overlay",
2633
+ "Select…",
2634
+ "Shape",
2635
+ "Signature / Insert",
2636
+ "Signature Insert",
2637
+ "Size:",
2638
+ "Text",
2639
+ "Triangle",
2640
+ "Type:",
2641
+ "Width:",
2642
+ "Zoom In",
2643
+ "Zoom Out"
1728
2644
  ],
1729
2645
  "Splash": [
1730
2646
  " • Build {0}",
1731
2647
  " • Running locally from source code",
1732
2648
  "Building main window...",
1733
- "Configuring Qt message handler...",
1734
2649
  "Configuring matplotlib...",
1735
2650
  "Configuring multiprocessing...",
2651
+ "Configuring Qt message handler...",
1736
2652
  "Creating image manager...",
2653
+ "Initializing GPU…",
1737
2654
  "Initializing Python runtime...",
1738
2655
  "Installing crash handlers...",
2656
+ "Loading image libraries...",
2657
+ "Loading image manager...",
2658
+ "Loading main window module...",
1739
2659
  "Loading MDI widgets...",
1740
2660
  "Loading NumPy...",
1741
2661
  "Loading OpenCV...",
1742
2662
  "Loading PyQt6 components...",
1743
2663
  "Loading PyTorch runtime...",
1744
- "Loading UI utilities...",
1745
- "Loading image libraries...",
1746
- "Loading image manager...",
1747
- "Loading main window module...",
1748
2664
  "Loading reproject library...",
1749
2665
  "Loading resources...",
1750
2666
  "Loading standard libraries...",
2667
+ "Loading UI utilities...",
1751
2668
  "Modules loaded, finalizing...",
1752
2669
  "Ready!",
1753
2670
  "Setting up logging...",
1754
2671
  "Showing main window...",
2672
+ "Splash",
1755
2673
  "Starting...",
1756
2674
  "Suppressing warnings...",
1757
2675
  "Version {0}"
@@ -1759,24 +2677,24 @@
1759
2677
  "StackingSuiteDialog": [
1760
2678
  "\n\n(Comet Star Removal is currently OFF in Settings.)",
1761
2679
  "\n\nLinux tip:\n • Install python3.12 or 3.11 via your package manager\n • Then relaunch the app.",
1762
- "\n\nWindows tip:\n • Install Python 3.12/3.11/3.10 (x64) from python.org\n • Then relaunch the app.",
1763
2680
  "\n\nmacOS tip (Apple Silicon):\n • Install Python 3.12: brew install python@3.12\n • Then relaunch the app so it can create its runtime with 3.12.",
2681
+ "\n\nWindows tip:\n • Install Python 3.12/3.11/3.10 (x64) from python.org\n • Then relaunch the app.",
1764
2682
  " ✓ [{0}/{1}] starless saved",
1765
- " With <~40–55% fill, expect visible patching even with many frames)",
1766
- " With <~40–55% fill, expect visible patching even with many frames.",
1767
2683
  " bbox(ref)→reg: ({0:.1f},{1:.1f}) to ({2:.1f},{3:.1f}); canvas {4}×{5} @ {6}×",
1768
2684
  " originals needed (sample): {0}",
1769
2685
  " sasd FILEs (sample): {0}",
2686
+ " With <~40–55% fill, expect visible patching even with many frames)",
2687
+ " With <~40–55% fill, expect visible patching even with many frames.",
1770
2688
  " • Tile source: STARLESS (pre-aligned)",
1771
2689
  " ↳ Integration done in {0:.1f}s.",
1772
2690
  " ⚠️ Starless reader path mismatch at i={0}; got {1}, expected {2}. Using index order.",
1773
2691
  " • {0} → {1}",
1774
2692
  " ↳ tile {0} done in {1:.3f}s (~{2:.1f} MPx/s)",
1775
- " ◦ DarkStar comet star removal…",
1776
- " ◦ StarNet comet star removal…",
1777
2693
  " ◦ applying rejection algorithm: {0}",
2694
+ " ◦ DarkStar comet star removal…",
1778
2695
  " ◦ seed xy={0:.1f},{1:.1f} within {2}×{3}? {4}",
1779
2696
  " ◦ seeding first registered frame with _comet_ref_xy",
2697
+ " ◦ StarNet comet star removal…",
1780
2698
  " ◦ user cancelled or no edits — using auto centroids",
1781
2699
  " ◦ user confirmed/edited {0} centroids",
1782
2700
  " ◦ using user seed on {0}",
@@ -1803,10 +2721,8 @@
1803
2721
  "3× (extreme)",
1804
2722
  "64-bit float",
1805
2723
  "64-bit uses ~2× RAM; 32-bit is faster/lighter.",
2724
+ "[Stacking] tile {0}/{1} ts.shape={2}, N={3}, C={4}",
1806
2725
  "ABE Mode:",
1807
- "AHD",
1808
- "AIRMASS",
1809
- "APTDIA",
1810
2726
  "About CUDA",
1811
2727
  "Acceleration",
1812
2728
  "Accept max shift (px):",
@@ -1819,6 +2735,7 @@
1819
2735
  "Add Dark Directory",
1820
2736
  "Add Dark Files",
1821
2737
  "Add Dark Frames",
2738
+ "Add files to the stacking queue",
1822
2739
  "Add Files...",
1823
2740
  "Add Flat Directory",
1824
2741
  "Add Flat Files",
@@ -1827,7 +2744,6 @@
1827
2744
  "Add Light Directory",
1828
2745
  "Add Light Files",
1829
2746
  "Add Light Frames",
1830
- "Add files to the stacking queue",
1831
2747
  "Add to {0} tab",
1832
2748
  "Added {0}/{1} Light frames",
1833
2749
  "Adding Blink files to Image Integration…",
@@ -1842,31 +2758,34 @@
1842
2758
  "Affine (fast)",
1843
2759
  "After installation, restart the app for changes to take effect.",
1844
2760
  "After installing CUDA, restart the app.",
2761
+ "AHD",
2762
+ "AIRMASS",
1845
2763
  "Algorithm:",
1846
2764
  "Aligning stars…",
1847
2765
  "Aligning stars… ({0}/{1})",
1848
2766
  "Alignment",
1849
2767
  "Alignment Mode:",
1850
2768
  "Alignment Settings",
1851
- "All Supported Files",
1852
2769
  "All stacking finished successfully.\n",
2770
+ "All Supported Files",
1853
2771
  "Also output Stars+Comet blend",
1854
2772
  "Analyze",
1855
2773
  "Analyzing frames...",
1856
2774
  "Apply Bias Subtraction (For CCD Users)",
1857
- "Apply Pedestal",
1858
- "Apply Settings",
1859
2775
  "Apply color matrix",
1860
2776
  "Apply cosmetic correction",
1861
2777
  "Apply debayer",
1862
2778
  "Apply distortion model",
1863
2779
  "Apply filter",
1864
2780
  "Apply hot pixel removal",
2781
+ "Apply Pedestal",
2782
+ "Apply Settings",
1865
2783
  "Apply this choice to all remaining mismatches of this kind",
1866
- "Apply to Group",
1867
2784
  "Apply to all frames",
2785
+ "Apply to Group",
1868
2786
  "Applying calibration...",
1869
2787
  "Applying rejection...",
2788
+ "APTDIA",
1870
2789
  "Are you sure you want to cancel stacking?",
1871
2790
  "Are you sure you want to remove all frames?",
1872
2791
  "Assigning best Master Dark/Flat…",
@@ -1875,14 +2794,11 @@
1875
2794
  "Auto (not set)",
1876
2795
  "Auto (use all cores)",
1877
2796
  "Auto Crop",
2797
+ "Auto crop",
1878
2798
  "Auto Noise Map",
1879
2799
  "Auto Star Mask",
1880
2800
  "Auto Weight",
1881
- "Auto crop",
1882
2801
  "Auto-Accept Best Reference",
1883
- "Auto-Select Best Reference",
1884
- "Auto-Select Closest Master Dark",
1885
- "Auto-Select by Metadata",
1886
2802
  "Auto-accept measured reference",
1887
2803
  "Auto-crop output",
1888
2804
  "Auto-cropped files saved:",
@@ -1892,23 +2808,27 @@
1892
2808
  "Auto-match calibration frames",
1893
2809
  "Auto-name",
1894
2810
  "Auto-register & integrate after calibration",
2811
+ "Auto-Select Best Reference",
2812
+ "Auto-Select by Metadata",
2813
+ "Auto-Select Closest Master Dark",
1895
2814
  "Average",
1896
- "BAYERPAT",
1897
- "BGGR",
1898
2815
  "Backend: CPU (Python version not supported for GPU install)",
1899
2816
  "Backend: installing…",
1900
2817
  "Backend: {0}",
1901
2818
  "Background",
1902
- "Background Normalization",
1903
2819
  "Background level",
1904
2820
  "Background matching",
1905
2821
  "Background model",
2822
+ "Background Normalization",
1906
2823
  "Batch Convert Files to Debayered FITS (.fit)",
1907
2824
  "Bayer Pattern",
2825
+ "BAYERPAT",
1908
2826
  "Before saving: min = {0:.4f}, max = {1:.4f}",
1909
2827
  "Best",
1910
2828
  "Best Quality",
2829
+ "BGGR",
1911
2830
  "Bias",
2831
+ "bias",
1912
2832
  "Bias Subtracted",
1913
2833
  "Bias: {0}",
1914
2834
  "Bicubic",
@@ -1916,22 +2836,13 @@
1916
2836
  "Bilinear",
1917
2837
  "Bilinear Interpolation",
1918
2838
  "Binning",
1919
- "Biweight Estimator",
1920
2839
  "Biweight constant:",
2840
+ "Biweight Estimator",
1921
2841
  "Blend Ratio:",
1922
2842
  "Blending method",
1923
2843
  "Both (comet + stars)",
1924
2844
  "Browse",
1925
2845
  "Browse...",
1926
- "CCD-TEMP",
1927
- "CFA Drizzle",
1928
- "CFA Drizzle (Bayer)",
1929
- "CFA Drizzle is enabled but at least one group has only {0} frames.\n\nCFA Drizzle typically needs ≥{1} frames (scale {2:.0f}×) for good coverage.\nSwitch to Edge-Aware Interpolation for this run?",
1930
- "CFA Drizzle: Low Sample Count",
1931
- "CFA Edge-Aware Interp",
1932
- "CMOS users: Bias Subtraction is not needed.\nModern CMOS cameras use Correlated Double Sampling (CDS),\nmeaning bias is already subtracted at the sensor level.",
1933
- "CPU only",
1934
- "CUDA Installation Info",
1935
2846
  "Cache size (MB)",
1936
2847
  "Calculate from frames",
1937
2848
  "Calculating alignment...",
@@ -1939,47 +2850,59 @@
1939
2850
  "Calibrated Light Frames",
1940
2851
  "Calibrating...",
1941
2852
  "Calibration",
1942
- "Calibration Settings",
1943
2853
  "Calibration complete",
1944
2854
  "Calibration mismatch",
2855
+ "Calibration Settings",
1945
2856
  "Camera",
1946
2857
  "Cancel",
1947
2858
  "Cancel the current operation",
1948
2859
  "Cannot write to output directory",
1949
2860
  "Caps Astroalign max_control_points (typical 500–1500). Lower = faster, higher = more robust.",
1950
2861
  "Capture Date",
2862
+ "CCD-TEMP",
2863
+ "CFA Drizzle",
2864
+ "CFA Drizzle (Bayer)",
2865
+ "CFA Drizzle is enabled but at least one group has only {0} frames.\n\nCFA Drizzle typically needs ≥{1} frames (scale {2:.0f}×) for good coverage.\nSwitch to Edge-Aware Interpolation for this run?",
2866
+ "CFA Drizzle: Low Sample Count",
2867
+ "CFA Edge-Aware Interp",
1951
2868
  "Choose the initial seed image for MFDeconv:\n• Robust μ–σ: running mean with sigma clipping (RAM-friendly, default)\n• Median: tiled median stack (more outlier-resistant; heavier I/O, esp. for XISF)",
1952
- "Chunk Size:",
1953
2869
  "Chunk size",
2870
+ "Chunk Size:",
1954
2871
  "Circular",
2872
+ "circular",
1955
2873
  "Circular (disk)",
1956
2874
  "Clear",
1957
2875
  "Clear All",
1958
- "Clear List",
1959
- "Clear Selection",
1960
2876
  "Clear all files from queue",
1961
2877
  "Clear existing session?",
2878
+ "Clear List",
2879
+ "Clear Selection",
1962
2880
  "Click to select files",
1963
2881
  "Clip (lo/hi):",
1964
2882
  "Clip high",
1965
2883
  "Clip low",
1966
2884
  "Close",
1967
- "Cold Pixel Removal",
1968
- "Cold Threshold:",
2885
+ "CMOS users: Bias Subtraction is not needed.\nModern CMOS cameras use Correlated Double Sampling (CDS),\nmeaning bias is already subtracted at the sensor level.",
1969
2886
  "Cold pixel detection",
2887
+ "Cold Pixel Removal",
1970
2888
  "Cold pixel replacement",
1971
2889
  "Cold pixel threshold (σ)",
2890
+ "Cold Threshold:",
1972
2891
  "Cold σ:",
2892
+ "color",
1973
2893
  "Color matrix",
1974
2894
  "Color mode:",
1975
2895
  "Columns",
1976
2896
  "Combine panels",
1977
2897
  "Comet (High-Clip Percentile tuning)",
2898
+ "Comet alignment",
1978
2899
  "Comet Center",
1979
2900
  "Comet Detection:",
1980
2901
  "Comet Mode",
1981
2902
  "Comet Star Removal (Optional)",
1982
- "Comet alignment",
2903
+ "compass Reference PA: (unknown)",
2904
+ "compass Reference PA: {0:.2f}°",
2905
+ "compass Tree snapshot → groups: {0}, leaves seen: {1}, paths kept: {2}",
1983
2906
  "Complete",
1984
2907
  "Confirm action",
1985
2908
  "Controls down-weighting strength.",
@@ -2000,7 +2923,10 @@
2000
2923
  "Could not load {0} to create memmap cache.",
2001
2924
  "Could not load:\n{0}\n\n{1}",
2002
2925
  "Coverage:",
2926
+ "CPU only",
2927
+ "Create comet-aligned version",
2003
2928
  "Create Comet-Only Stack",
2929
+ "Create log file",
2004
2930
  "Create Master",
2005
2931
  "Create Master Bias",
2006
2932
  "Create Master Calibration Files",
@@ -2009,51 +2935,52 @@
2009
2935
  "Create Master Flat",
2010
2936
  "Create Master Flats",
2011
2937
  "Create Masters",
2012
- "Create Stars+Comet Blend",
2013
- "Create comet-aligned version",
2014
- "Create log file",
2015
2938
  "Create star-aligned version",
2939
+ "Create Stars+Comet Blend",
2016
2940
  "Creating master bias...",
2017
2941
  "Creating master dark...",
2018
2942
  "Creating master flat...",
2943
+ "Crop final image to pixels covered by ≥ Coverage % of frames",
2019
2944
  "Crop Method:",
2020
2945
  "Crop Padding (px):",
2021
- "Crop final image to pixels covered by ≥ Coverage % of frames",
2022
2946
  "Crop to common area",
2023
2947
  "Cross Correlation",
2024
- "Current Status: {0}",
2025
- "Current Step",
2948
+ "CUDA Installation Info",
2026
2949
  "Current frame",
2027
2950
  "Current stacking settings saved to profile '{0}'.",
2951
+ "Current Status: {0}",
2952
+ "Current Step",
2028
2953
  "Custom",
2029
- "Custom Weight",
2030
2954
  "Custom directory",
2031
2955
  "Custom matrix",
2032
- "DCB",
2033
- "DEBUG: File '{0}' does not exist on disk.",
2034
- "DEC",
2956
+ "Custom Weight",
2035
2957
  "Dark",
2958
+ "dark",
2036
2959
  "Dark Flat",
2037
2960
  "Dark Flats",
2038
2961
  "Dark Frames",
2039
2962
  "Dark Subtracted: {0}",
2040
- "DarkStar",
2963
+ "darkflat",
2041
2964
  "Darks",
2965
+ "DarkStar",
2042
2966
  "Date",
2967
+ "DCB",
2043
2968
  "Dead column detection",
2044
2969
  "Dead row detection",
2045
2970
  "Debayer",
2971
+ "Debayer before calibration",
2046
2972
  "Debayer Method",
2047
2973
  "Debayer Settings",
2048
- "Debayer before calibration",
2049
2974
  "Debug Mode",
2975
+ "DEBUG: File '{0}' does not exist on disk.",
2976
+ "DEC",
2050
2977
  "Dec rate (arcsec/min)",
2051
2978
  "Deconvolution Iterations:",
2052
2979
  "Deconvolution Strength:",
2053
2980
  "Deconvolving '{0}' ({1} frames)…",
2054
2981
  "Default",
2055
- "Defect Map Files",
2056
2982
  "Defect map",
2983
+ "Defect Map Files",
2057
2984
  "Delete",
2058
2985
  "Delete profile",
2059
2986
  "Delete stacking profile '{0}'?",
@@ -2078,11 +3005,11 @@
2078
3005
  "Downsample:",
2079
3006
  "Drag and drop files here",
2080
3007
  "Drizzle",
3008
+ "Drizzle cfg → scale={0}×, pixfrac={1:.3f}, kernel={2}",
2081
3009
  "Drizzle Integration",
2082
3010
  "Drizzle Kernel:",
2083
3011
  "Drizzle Scale:",
2084
3012
  "Drizzle Settings",
2085
- "Drizzle cfg → scale={0}×, pixfrac={1:.3f}, kernel={2}",
2086
3013
  "Drizzle: False",
2087
3014
  "Drizzle: True, Scale: {0:g}x, Drop: {1:.2f}",
2088
3015
  "Drizzle: True, Scale: {0}, Drop: {1:.2f}",
@@ -2091,37 +3018,37 @@
2091
3018
  "Drop Fraction (pixfrac):",
2092
3019
  "Drop Shrink:",
2093
3020
  "Drop Size (Pixfrac)",
2094
- "EGAIN",
2095
- "EQUINOX",
2096
- "ESD threshold:",
2097
- "EXPTIME",
3021
+ "e.g. M31",
2098
3022
  "Eccentricity",
3023
+ "EGAIN",
2099
3024
  "Elapsed time",
2100
3025
  "Ellipse scale:",
2101
3026
  "Enable ABE Pre-Processing",
3027
+ "Enable advanced cosmetic tuning",
2102
3028
  "Enable Auto Crop",
3029
+ "Enable comet mode",
2103
3030
  "Enable Comet Stacking",
2104
3031
  "Enable Cosmetic Correction",
3032
+ "Enable cosmetic correction",
2105
3033
  "Enable Drizzle",
2106
3034
  "Enable GPU Acceleration",
2107
3035
  "Enable GPU/MPS via PyTorch when supported; falls back to CPU automatically.",
3036
+ "Enable local normalization",
2108
3037
  "Enable MF Deconvolution",
2109
3038
  "Enable MFDeconv during integration",
3039
+ "Enable mosaic mode",
2110
3040
  "Enable MPS (Apple Silicon)",
2111
3041
  "Enable Registration",
2112
- "Enable Star Trails",
2113
- "Enable advanced cosmetic tuning",
2114
- "Enable comet mode",
2115
- "Enable cosmetic correction",
2116
- "Enable local normalization",
2117
- "Enable mosaic mode",
2118
3042
  "Enable scoring",
3043
+ "Enable Star Trails",
2119
3044
  "Enter new group name:",
2120
3045
  "Enter session label (e.g., Night1, RedFilterSet2):",
2121
3046
  "Enter session name:",
3047
+ "EQUINOX",
2122
3048
  "Error",
2123
3049
  "Error converting {0}: {1}",
2124
3050
  "Error: {0}",
3051
+ "ESD threshold:",
2125
3052
  "Estimated remaining",
2126
3053
  "Exclude from Stack",
2127
3054
  "Exclude from stacking",
@@ -2131,17 +3058,8 @@
2131
3058
  "Exposure Time",
2132
3059
  "Exposure Tolerance (sec):",
2133
3060
  "Exposure Tolerance (seconds):",
3061
+ "EXPTIME",
2134
3062
  "Extreme Studentized Deviate (ESD)",
2135
- "FITS",
2136
- "FITS Files",
2137
- "FITS Files (*.fit *.fits);;All Files (*)",
2138
- "FITS Files (*.fits *.fit *.fts *.fits.gz *.fit.gz *.fz)",
2139
- "FITS Files (*.fits *.fit *.fz *.xisf *.tif *.tiff *.png *.jpg *.jpeg)",
2140
- "FITS Files (*.fits *.fit)",
2141
- "FITS Images (*.fits *.fit);;All Files (*)",
2142
- "FOCALLEN",
2143
- "FWHM",
2144
- "FWHM (lower is better)",
2145
3063
  "Failed to calibrate frame",
2146
3064
  "Failed to load",
2147
3065
  "Failed to load frame",
@@ -2169,74 +3087,84 @@
2169
3087
  "Filter={0} Exp={1}",
2170
3088
  "Finalizing...",
2171
3089
  "First Frame",
3090
+ "FITS",
3091
+ "FITS Files",
3092
+ "FITS Files (*.fit *.fits);;All Files (*)",
3093
+ "FITS Files (*.fits *.fit *.fts *.fits.gz *.fit.gz *.fz)",
3094
+ "FITS Files (*.fits *.fit *.fz *.xisf *.tif *.tiff *.png *.jpg *.jpeg)",
3095
+ "FITS Files (*.fits *.fit)",
3096
+ "FITS Images (*.fits *.fit);;All Files (*)",
2172
3097
  "Flat",
3098
+ "flat",
2173
3099
  "Flat Applied: {0}",
2174
3100
  "Flat Frames",
2175
3101
  "Flats",
2176
3102
  "Flipping Image",
3103
+ "FOCALLEN",
3104
+ "folder change",
2177
3105
  "For OSC dual-band data: SII/OIII → R=SII, G=OIII; Ha/OIII → R=Ha, G=OIII",
2178
3106
  "Found '{0}' with IMAGETYP = {1}\nwhich looks like **{2}**, not {3}.\n\nWhat would you like to do?",
2179
3107
  "Fraction trimmed on each end before averaging.",
3108
+ "Frame dimensions mismatch",
2180
3109
  "Frame Filtering",
2181
3110
  "Frame Scoring",
2182
- "Frame dimensions mismatch",
2183
3111
  "Frames per group:\n",
2184
3112
  "Frames processed",
2185
3113
  "From WCS",
2186
- "GBRG",
2187
- "GPU Device:",
2188
- "GPU acceleration not available",
2189
- "GPU device",
2190
- "GPU still not being used?",
2191
- "GRBG",
3114
+ "FWHM",
3115
+ "FWHM (lower is better)",
2192
3116
  "Gain",
2193
3117
  "Gain Clip Max:",
2194
3118
  "Gain Clip Min:",
2195
3119
  "Gaussian",
3120
+ "gaussian",
2196
3121
  "Gaussian σ (px):",
3122
+ "GBRG",
2197
3123
  "Generalized ESD",
2198
3124
  "Generalized Extreme Studentized Deviate",
2199
3125
  "Generate defect map",
2200
3126
  "Generate panel stacks",
2201
- "Gradient Removal (Pre-Integration)",
3127
+ "GPU acceleration not available",
3128
+ "GPU device",
3129
+ "GPU Device:",
3130
+ "GPU still not being used?",
2202
3131
  "Gradient matching",
2203
3132
  "Gradient removal (ABE Poly²): mode={0}, samples={1}, downsample={2}, patch={3}, min_strength={4:.2f}%, gain_clip=[{5},{6}]",
3133
+ "Gradient Removal (Pre-Integration)",
3134
+ "GRBG",
2204
3135
  "Grid size",
2205
3136
  "Group '{0}' has {1} file(s) after filtering.",
2206
3137
  "Group By",
2207
- "Group Name:",
2208
3138
  "Group by dither position",
3139
+ "Group Name:",
2209
3140
  "H:",
2210
3141
  "Half Size",
2211
3142
  "Height",
2212
3143
  "High Octane",
3144
+ "High-clip k / Percentile p:",
2213
3145
  "High-Octane (Let 'er rip)",
2214
3146
  "High-Octane (Let ’er rip)",
2215
- "High-clip k / Percentile p:",
2216
3147
  "High/Low σ used by sigma-based rejection.",
2217
3148
  "High:",
2218
3149
  "Homography (full)",
2219
3150
  "Homography (projective)",
2220
- "Hot Pixel Removal",
2221
- "Hot Threshold:",
2222
3151
  "Hot pixel detection",
3152
+ "Hot Pixel Removal",
2223
3153
  "Hot pixel replacement",
2224
3154
  "Hot pixel threshold",
2225
3155
  "Hot pixel threshold (σ)",
3156
+ "Hot Threshold:",
2226
3157
  "Hot σ:",
2227
3158
  "Huber δ sets the cutoff between 'quadratic' (treat as normal) and 'linear' (treat as outlier) behavior.\n• |residual| ≤ δ → quadratic (more aggressive corrections)\n• |residual| > δ → linear (gentler, more robust)\nNegative values mean 'scale by RMS': e.g., δ = -2 uses 2×RMS.\nSmaller |δ| (closer to 0) → more pixels counted as outliers → more conservative.\nExamples: κ=1.1 & δ=-0.7 = gentle; κ=2 & δ=-2 = more aggressive.",
2228
3159
  "Huber δ sets the cutoff between ‘quadratic’ (treat as normal) and ‘linear’ (treat as outlier) behavior.\n• |residual| ≤ δ → quadratic (more aggressive corrections)\n• |residual| > δ → linear (gentler, more robust)\nNegative values mean ‘scale by RMS’: e.g., δ = -2 uses 2×RMS.\nSmaller |δ| (closer to 0) → more pixels counted as outliers → more conservative.\nExamples: κ=1.1 & δ=-0.7 = gentle; κ=2 & δ=-2 = more aggressive.",
2229
3160
  "Huber δ:",
2230
- "IMAGETYP",
2231
- "INSTRUME",
2232
- "IQR Clipping",
2233
- "ISO",
2234
- "If GPU still not being used — click for fix steps",
2235
3161
  "If checked, the best measured frame is accepted automatically.",
2236
3162
  "If enabled, saves the seed and every iteration image into a subfolder next to the final output.",
3163
+ "If GPU still not being used — click for fix steps",
2237
3164
  "Image Files",
2238
3165
  "Image Integration",
2239
3166
  "Images (*.fit *.fits *.tif *.tiff *.png *.jpg *.jpeg)",
3167
+ "IMAGETYP",
2240
3168
  "Import Settings",
2241
3169
  "Important: GPU stacking requires both CUDA and PyTorch-GPU.",
2242
3170
  "Include in Stack",
@@ -2246,6 +3174,7 @@
2246
3174
  "Install/Update GPU Acceleration…",
2247
3175
  "Installing GPU Acceleration",
2248
3176
  "Installing NVIDIA CUDA for Stacking Suite",
3177
+ "INSTRUME",
2249
3178
  "Insufficient frames for stacking",
2250
3179
  "Integrate Only",
2251
3180
  "Integrate Previously Registered Images",
@@ -2253,12 +3182,14 @@
2253
3182
  "Integrating tile {0}/{1} [y:{2}:{3} x:{4}:{5} size={6}×{7}] mode={8}…",
2254
3183
  "Integrating...",
2255
3184
  "Integration Algorithm",
3185
+ "Integration complete for group '{0}'.",
2256
3186
  "Integration Method",
2257
3187
  "Integration Method:",
2258
- "Integration complete for group '{0}'.",
2259
3188
  "Internal Precision:",
2260
3189
  "Interpolation",
2261
3190
  "Invalid session file",
3191
+ "IQR Clipping",
3192
+ "ISO",
2262
3193
  "Iterations",
2263
3194
  "Iterations (max):",
2264
3195
  "Iterations:",
@@ -2269,7 +3200,6 @@
2269
3200
  "Kernel",
2270
3201
  "Kernel width:",
2271
3202
  "Kernel:",
2272
- "LWP (Local Weighted Polynomial)",
2273
3203
  "Lanczos",
2274
3204
  "Lanczos Interpolation",
2275
3205
  "Lanczos-2",
@@ -2279,71 +3209,68 @@
2279
3209
  "Lanczos2",
2280
3210
  "Lanczos3",
2281
3211
  "Light",
3212
+ "light",
2282
3213
  "Light Frames",
2283
3214
  "Lighten (screen)",
2284
3215
  "Lights",
2285
3216
  "Linear",
2286
3217
  "Linear Fit Clipping",
2287
3218
  "Load",
2288
- "Load Master Dark",
2289
- "Load Master Flat",
2290
- "Load Session",
2291
3219
  "Load defect map",
2292
3220
  "Load defect map...",
3221
+ "Load Master Dark",
3222
+ "Load Master Flat",
2293
3223
  "Load profile",
2294
3224
  "Load profile '{0}'?\n\nThis will overwrite the current stacking configuration and restart the Stacking Suite.",
3225
+ "Load Session",
2295
3226
  "Loading frames...",
2296
3227
  "Local Normalization",
2297
3228
  "Lock Reference",
3229
+ "log10 of variance floor (DN²). -8 ≡ 1e-8.",
2298
3230
  "Low/High Sigma:",
2299
3231
  "Low:",
2300
3232
  "Lower = more aggressive (MAD-based).",
2301
3233
  "Lower = more aggressive outlier rejection.",
2302
3234
  "Lower = stronger masking near stars; 0 = hard mask, 0.2 = gentle.",
3235
+ "LWP (Local Weighted Polynomial)",
2303
3236
  "MAD Clipping",
2304
- "MF Deconvolution",
2305
- "MF Deconvolution Settings",
2306
- "MFDeconv Engine",
2307
- "MFDeconv Engine:",
2308
- "MFDeconv — Multi-Frame Deconvolution (ImageMM)",
2309
- "MFDeconv: Normal vs High Octane",
2310
3237
  "Manual",
3238
+ "Manual layout",
2311
3239
  "Manual Selection",
2312
3240
  "Manual Session:",
2313
3241
  "Manual Weight",
2314
- "Manual layout",
2315
3242
  "Mark as Reference",
2316
3243
  "Mask-based (accurate)",
2317
3244
  "Master Bias",
3245
+ "Master bias created",
2318
3246
  "Master Calibration Frames",
2319
3247
  "Master Dark",
3248
+ "Master dark created",
2320
3249
  "Master Dark Flat",
2321
3250
  "Master Dark Used",
2322
3251
  "Master Darks",
2323
3252
  "Master File",
2324
3253
  "Master Flat",
2325
- "Master Flats",
2326
- "Master bias created",
2327
- "Master dark created",
2328
3254
  "Master flat created",
3255
+ "Master Flats",
2329
3256
  "Match by Exposure",
2330
3257
  "Match by Filter",
2331
3258
  "Match by Gain/ISO",
2332
3259
  "Match by Temperature",
2333
3260
  "Match by:",
2334
3261
  "Max (brightest)",
2335
- "Max Shift (px):",
2336
- "Max Stars:",
2337
- "Max Value",
2338
3262
  "Max control points:",
2339
3263
  "Max ratio:",
3264
+ "Max Shift (px):",
2340
3265
  "Max star radius (px):",
2341
3266
  "Max stars kept:",
3267
+ "Max Stars:",
2342
3268
  "Max stars:",
3269
+ "Max Value",
2343
3270
  "Maximum",
2344
- "Maximum FWHM",
2345
3271
  "Maximum background",
2346
3272
  "Maximum eccentricity",
3273
+ "Maximum FWHM",
2347
3274
  "Maximum roundness deviation",
2348
3275
  "Maximum stars",
2349
3276
  "Mean",
@@ -2351,18 +3278,24 @@
2351
3278
  "Median",
2352
3279
  "Median (Sukhdeep et al.)",
2353
3280
  "Median Filter Radius:",
2354
- "Memory Limit (MB):",
2355
3281
  "Memory allocation failed",
3282
+ "Memory Limit (MB):",
2356
3283
  "Memory management",
2357
3284
  "Memory optimization",
2358
3285
  "Merge Groups",
2359
3286
  "Metadata",
3287
+ "MF Deconvolution",
3288
+ "MF Deconvolution Settings",
3289
+ "MFDeconv Engine",
3290
+ "MFDeconv Engine:",
3291
+ "MFDeconv — Multi-Frame Deconvolution (ImageMM)",
3292
+ "MFDeconv: Normal vs High Octane",
2360
3293
  "Min (darkest)",
2361
3294
  "Min Frames for Master:",
2362
- "Min Stars:",
2363
- "Min Strength:",
2364
3295
  "Min iters:",
2365
3296
  "Min star area (px):",
3297
+ "Min Stars:",
3298
+ "Min Strength:",
2366
3299
  "Minimum",
2367
3300
  "Minimum connected-pixel area to keep a detection as a star (px). Helps reject hot pixels/noise.",
2368
3301
  "Minimum score",
@@ -2373,39 +3306,41 @@
2373
3306
  "Model:",
2374
3307
  "Modified Z threshold:",
2375
3308
  "Modified Z-Score Clipping",
3309
+ "mono",
2376
3310
  "Mosaic Mode",
2377
3311
  "Motion vector",
2378
- "Multi-Frame Deconvolution",
2379
3312
  "Multi-band",
3313
+ "Multi-Frame Deconvolution",
2380
3314
  "Multi-frame Deconvolution",
2381
3315
  "Multi-frame deconvolving…",
2382
3316
  "Multiplicative",
2383
3317
  "Multiplicative with Scaling",
2384
3318
  "Naive (pixfrac=1)",
3319
+ "naive (square, pixfrac≈1)",
2385
3320
  "Nearest Neighbor",
2386
3321
  "New Group",
2387
3322
  "New Session",
2388
3323
  "New stacking profile",
2389
3324
  "New…",
2390
3325
  "No Calibration",
2391
- "No Distortion (rotate/translate/scale)",
2392
- "No Files",
2393
- "No Normalization",
2394
- "No Output Directory",
2395
- "No Rejection",
2396
- "No Weighting",
2397
3326
  "No calibration frames",
2398
3327
  "No comet center was selected. Registration has been cancelled so you can try again.",
3328
+ "No Distortion (rotate/translate/scale)",
2399
3329
  "No file chosen.",
2400
3330
  "No file selected",
3331
+ "No Files",
2401
3332
  "No files selected for split.",
2402
3333
  "No frames loaded",
2403
3334
  "No light frames",
2404
3335
  "No new reference selected; using previous reference.",
3336
+ "No Normalization",
3337
+ "No Output Directory",
2405
3338
  "No output directory is set. Do you want to select one now?",
2406
3339
  "No profile selected",
3340
+ "No Rejection",
2407
3341
  "No stacking folder selected",
2408
3342
  "No stars detected in frame",
3343
+ "No Weighting",
2409
3344
  "Noise Evaluation",
2410
3345
  "Noise level",
2411
3346
  "None",
@@ -2423,41 +3358,37 @@
2423
3358
  "Number of threads",
2424
3359
  "Number of threads:",
2425
3360
  "OBJECT",
2426
- "OFF",
2427
- "ON, Scale {0}, Drop {1:.2f}",
2428
3361
  "Observer",
3362
+ "OFF",
2429
3363
  "Offset",
3364
+ "ON, Scale {0}, Drop {1:.2f}",
2430
3365
  "Open Command Prompt and run the following.\n\nStep 1: uninstall PyTorch\nStep 2: install the correct build for your GPU",
2431
- "Open Log",
2432
3366
  "Open in viewer",
3367
+ "Open Log",
2433
3368
  "Open result when done",
2434
3369
  "Open the main window to see the Stacking Log dock.",
2435
3370
  "Output",
2436
3371
  "Output Bit Depth",
2437
3372
  "Output Directory",
3373
+ "Output directory does not exist",
3374
+ "Output directory is not set.",
2438
3375
  "Output Directory:",
2439
3376
  "Output Filename",
2440
3377
  "Output Format",
2441
- "Output Settings",
2442
- "Output directory does not exist",
2443
- "Output directory is not set.",
2444
3378
  "Output pixel size",
2445
3379
  "Output saved to:",
3380
+ "Output Settings",
2446
3381
  "Overall Progress",
2447
3382
  "Overlap",
2448
3383
  "Override Dark Frame",
2449
3384
  "Override Flat Frame",
2450
3385
  "Override Master Dark Selection",
2451
3386
  "Overwrite existing file?",
2452
- "PIXSIZE1",
2453
- "PIXSIZE2",
2454
- "PSF Estimation:",
2455
- "PSF FWHM:",
2456
3387
  "Panel layout",
2457
3388
  "Parallel Loading",
2458
3389
  "Parallel processing",
2459
- "Patch Size:",
2460
3390
  "Patch size (small):",
3391
+ "Patch Size:",
2461
3392
  "Path",
2462
3393
  "Pattern",
2463
3394
  "Pause",
@@ -2477,6 +3408,8 @@
2477
3408
  "Pick comet center…",
2478
3409
  "Pixel rejection (local)",
2479
3410
  "Pixels above this image quantile are treated as saturated and never replaced.",
3411
+ "PIXSIZE1",
3412
+ "PIXSIZE2",
2480
3413
  "Please choose a profile to load.",
2481
3414
  "Please select a conversion output directory first.",
2482
3415
  "Please set the stacking directory first using the wrench button.",
@@ -2485,9 +3418,10 @@
2485
3418
  "Point",
2486
3419
  "Polynomial 3rd-order",
2487
3420
  "Polynomial 4th-order",
2488
- "Polynomial Degree:",
2489
3421
  "Polynomial degree",
3422
+ "Polynomial Degree:",
2490
3423
  "Post-Alignment",
3424
+ "precision → {0}",
2491
3425
  "Prefix",
2492
3426
  "Preparing MF deconvolution…",
2493
3427
  "Preparing runtime…",
@@ -2507,13 +3441,14 @@
2507
3441
  "Progress",
2508
3442
  "Progress initialized: {0} tiles across groups.",
2509
3443
  "Protect core radius (px):",
3444
+ "PSF Estimation:",
3445
+ "PSF FWHM:",
2510
3446
  "Quality",
2511
3447
  "RA",
2512
3448
  "RA rate (arcsec/min)",
2513
3449
  "RANSAC Iterations:",
2514
- "RANSAC Threshold:",
2515
3450
  "RANSAC reproj (px):",
2516
- "RGGB",
3451
+ "RANSAC Threshold:",
2517
3452
  "Ready",
2518
3453
  "Recent Sessions",
2519
3454
  "Reconstruct on an r× super-res grid using SR PSFs.\nCompute cost grows roughly ~ r^4. Drizzle usually provides better results.",
@@ -2525,11 +3460,11 @@
2525
3460
  "Register Only",
2526
3461
  "Registering...",
2527
3462
  "Registration",
2528
- "Registration Method",
2529
- "Registration Settings",
2530
3463
  "Registration complete",
2531
3464
  "Registration failed for frame",
2532
3465
  "Registration in progress…",
3466
+ "Registration Method",
3467
+ "Registration Settings",
2533
3468
  "Regularization (lambda):",
2534
3469
  "Regularization:",
2535
3470
  "Reject a frame if its residual shift exceeds this many pixels after alignment.",
@@ -2540,53 +3475,50 @@
2540
3475
  "Rejection Method",
2541
3476
  "Rejection Method:",
2542
3477
  "Remove All",
2543
- "Remove Selected",
2544
3478
  "Remove background gradient (ABE Poly²)",
2545
3479
  "Remove from Group",
3480
+ "Remove Selected",
2546
3481
  "Remove selected files from queue",
2547
3482
  "Remove stars on comet-aligned frames",
2548
3483
  "Rename Group",
2549
3484
  "Requires 'Enable Drizzle'. Maps R/G/B CFA samples directly into channels (no interpolation).",
2550
3485
  "Reset All",
2551
- "Reset MFDeconv to Recommended",
2552
3486
  "Reset filter",
3487
+ "Reset MFDeconv to Recommended",
2553
3488
  "Reset to Defaults",
2554
3489
  "Restore MFDeconv star mask + variance map tuning to the recommended defaults.",
2555
3490
  "Restore Recommended",
2556
3491
  "Resume",
2557
3492
  "Review Reference Before Alignment",
3493
+ "RGGB",
2558
3494
  "Right Click to Assign Session Keys if desired",
2559
3495
  "Right-click for options",
2560
3496
  "Robust μ–σ (live stack)",
2561
3497
  "Roundness (closer to 1 is better)",
2562
3498
  "Rows",
2563
3499
  "Runs multi-frame deconvolution during integration. Turn off if testing.",
2564
- "SET-TEMP",
2565
- "SITELAT",
2566
- "SITELONG",
2567
- "SNR Weight",
2568
3500
  "Same as input",
2569
3501
  "Sample Points:",
2570
3502
  "Sample points:",
2571
3503
  "Saturation quantile:",
2572
3504
  "Save",
2573
- "Save Defect Map",
2574
- "Save Rejection Maps",
2575
- "Save Session",
2576
- "Save Session As...",
2577
- "Save Star-Trail Image",
2578
3505
  "Save all comet-aligned starless frames.\nRequires: 'Create comet stack' AND 'Remove stars on comet-aligned frames'.",
2579
3506
  "Save all comet-aligned starless frames.\nRequires: ‘Create comet stack’ AND ‘Remove stars on comet-aligned frames’.",
2580
3507
  "Save all starless comet-aligned frames",
2581
3508
  "Save calibrated frames",
3509
+ "Save Defect Map",
2582
3510
  "Save defect map",
2583
3511
  "Save defect map...",
2584
3512
  "Save intermediate files",
2585
3513
  "Save intermediate iterative images",
2586
3514
  "Save profile as…",
2587
3515
  "Save registered frames",
3516
+ "Save Rejection Maps",
2588
3517
  "Save rejection maps",
3518
+ "Save Session",
3519
+ "Save Session As...",
2589
3520
  "Save session before closing?",
3521
+ "Save Star-Trail Image",
2590
3522
  "Saved: {0} ({1}/{2})",
2591
3523
  "Scale",
2592
3524
  "Scale to Reference",
@@ -2604,6 +3536,7 @@
2604
3536
  "Select Defect Map",
2605
3537
  "Select Directory for Conversion",
2606
3538
  "Select Files for Conversion",
3539
+ "Select files to split:",
2607
3540
  "Select Flat Directory",
2608
3541
  "Select Flat Files",
2609
3542
  "Select Flat Frames",
@@ -2619,12 +3552,11 @@
2619
3552
  "Select Master Flat File(s)",
2620
3553
  "Select New Reference Frame",
2621
3554
  "Select Output Directory",
3555
+ "Select output directory for stacked images",
2622
3556
  "Select Reference Frame",
2623
3557
  "Select Reference Frame:",
2624
3558
  "Select Reference...",
2625
3559
  "Select Stacking Directory",
2626
- "Select files to split:",
2627
- "Select output directory for stacked images",
2628
3560
  "Selected",
2629
3561
  "Send to {0} tab",
2630
3562
  "Session",
@@ -2632,11 +3564,12 @@
2632
3564
  "Session Info",
2633
3565
  "Session loaded",
2634
3566
  "Session saved",
3567
+ "Set as reference frame",
2635
3568
  "Set Reference Frame",
2636
3569
  "Set Session Tag",
2637
3570
  "Set Session Tag...",
2638
3571
  "Set Stacking Directory & Sigma Clipping",
2639
- "Set as reference frame",
3572
+ "SET-TEMP",
2640
3573
  "Sharpness",
2641
3574
  "Show preview",
2642
3575
  "Show the Stacking Suite log window",
@@ -2647,51 +3580,55 @@
2647
3580
  "Simple",
2648
3581
  "Simple Average (No Rejection)",
2649
3582
  "Simple Median (No Rejection)",
3583
+ "SITELAT",
3584
+ "SITELONG",
2650
3585
  "Size: {0}",
2651
3586
  "Size: {0} | Session: {1}",
2652
3587
  "Size: {0}, Temp: {1}°C, Date: {2}",
2653
- "Skip Normal Integration (MFDeconv only)",
2654
3588
  "Skip file",
2655
3589
  "Skip if strength <",
3590
+ "Skip Normal Integration (MFDeconv only)",
2656
3591
  "Skip registration/alignment and use Maximum-Intensity projection for star trails",
2657
3592
  "Smoothness",
3593
+ "SNR Weight",
2658
3594
  "Solve downsample:",
2659
3595
  "Sort",
2660
3596
  "Sort by Quality",
2661
3597
  "Spline",
2662
3598
  "Spline-3",
2663
3599
  "Spline-5",
2664
- "Split Group",
2665
3600
  "Split dual-band OSC before integration",
3601
+ "Split Group",
2666
3602
  "Square",
3603
+ "square",
2667
3604
  "Square (pixfrac)",
2668
3605
  "Stack",
2669
3606
  "Stack Method:",
2670
3607
  "Stack Mode:",
2671
3608
  "Stacking & drizzle (if enabled)…",
3609
+ "Stacking cancelled by user",
2672
3610
  "Stacking Complete",
3611
+ "Stacking complete!",
2673
3612
  "Stacking Directory:",
2674
3613
  "Stacking Log",
2675
3614
  "Stacking Settings",
2676
3615
  "Stacking Suite",
2677
- "Stacking cancelled by user",
2678
- "Stacking complete!",
2679
3616
  "Stacking...",
2680
- "Star Detection Threshold:",
2681
- "Star Removal for Comet",
2682
- "Star Trail Mode",
2683
3617
  "Star detect σ:",
2684
3618
  "Star detection threshold in σ above background. Lower = more stars (faster saturation, more false positives); higher = fewer stars.",
3619
+ "Star Detection Threshold:",
2685
3620
  "Star guards:",
3621
+ "Star Removal for Comet",
2686
3622
  "Star saturation",
3623
+ "Star Trail Mode",
2687
3624
  "StarNet",
2688
3625
  "Stars",
2689
- "Stars Weight",
2690
3626
  "Stars detected",
3627
+ "Stars Weight",
2691
3628
  "Start the stacking process",
3629
+ "Starting integration for group '{0}' with {1} files.",
2692
3630
  "Starting Master Dark Creation...",
2693
3631
  "Starting Master Flat Creation...",
2694
- "Starting integration for group '{0}' with {1} files.",
2695
3632
  "Status",
2696
3633
  "Status: {0}",
2697
3634
  "Std Dev",
@@ -2712,10 +3649,8 @@
2712
3649
  "Super Resolution",
2713
3650
  "Super-resolution scale factor r (integer ≥2).",
2714
3651
  "Supported Files (*.fits *.fit *.fz *.fz *.fits.gz *.fit.gz *.tiff *.tif *.png *.jpg *.jpeg *.cr2 *.cr3 *.nef *.arw *.dng *.raf *.orf *.rw2 *.pef *.xisf)",
2715
- "TELESCOP",
2716
- "TIFF",
2717
- "TIFF (*.tif);;PNG (*.png);;JPEG (*.jpg *.jpeg);;FITS (*.fits);;XISF (*.xisf)",
2718
3652
  "Target Name",
3653
+ "TELESCOP",
2719
3654
  "Telescope",
2720
3655
  "Temperature",
2721
3656
  "Temperature Tolerance (°C):",
@@ -2723,6 +3658,8 @@
2723
3658
  "There are no files to convert.",
2724
3659
  "This app is running on Python {0}.{1}. GPU acceleration requires Python 3.10, 3.11, or 3.12.",
2725
3660
  "Thread Count:",
3661
+ "TIFF",
3662
+ "TIFF (*.tif);;PNG (*.png);;JPEG (*.jpg *.jpeg);;FITS (*.fits);;XISF (*.xisf)",
2726
3663
  "Time",
2727
3664
  "Timeout per frame (s):",
2728
3665
  "Too few matching stars",
@@ -2744,16 +3681,16 @@
2744
3681
  "Unknown",
2745
3682
  "Unmark Reference",
2746
3683
  "Unsaved session",
2747
- "Unsupported Python Version",
2748
3684
  "Unsupported image ndim={0} for {1}",
3685
+ "Unsupported Python Version",
2749
3686
  "Update clip (κ):",
2750
3687
  "Update preview automatically",
3688
+ "Use defect map",
2751
3689
  "Use GPU acceleration",
3690
+ "Use hardware acceleration if available",
2752
3691
  "Use Master Bias",
2753
3692
  "Use Master Dark",
2754
3693
  "Use Master Flat",
2755
- "Use defect map",
2756
- "Use hardware acceleration if available",
2757
3694
  "Use memory mapping",
2758
3695
  "Use memory-mapped files",
2759
3696
  "Use reference frame from this list",
@@ -2762,7 +3699,6 @@
2762
3699
  "Using Master Bias (for flats when needed): {0}",
2763
3700
  "Using Master Bias: {0}",
2764
3701
  "Using {0} kernel drizzle ({1}).",
2765
- "VNG",
2766
3702
  "VarMap floor (log10):",
2767
3703
  "VarMap sample stride:",
2768
3704
  "VarMap smooth σ:",
@@ -2770,12 +3706,13 @@
2770
3706
  "View frame header",
2771
3707
  "View frame info",
2772
3708
  "Visit the NVIDIA CUDA Downloads page in your browser to install CUDA Toolkit 12.x:\n\nhttps://developer.nvidia.com/cuda-downloads",
3709
+ "VNG",
2773
3710
  "W:",
2774
- "WCS Alignment",
2775
3711
  "Warning",
2776
3712
  "Warning: Could not read dimensions for {0}: {1}",
2777
- "Weight Radius:",
3713
+ "WCS Alignment",
2778
3714
  "Weight keyword",
3715
+ "Weight Radius:",
2779
3716
  "Weight:",
2780
3717
  "Weighted Average",
2781
3718
  "Weighted Windsorized Sigma Clipping",
@@ -2790,25 +3727,6 @@
2790
3727
  "XBINNING",
2791
3728
  "XISF",
2792
3729
  "YBINNING",
2793
- "[Stacking] tile {0}/{1} ts.shape={2}, N={3}, C={4}",
2794
- "bias",
2795
- "circular",
2796
- "color",
2797
- "compass Reference PA: (unknown)",
2798
- "compass Reference PA: {0:.2f}°",
2799
- "compass Tree snapshot → groups: {0}, leaves seen: {1}, paths kept: {2}",
2800
- "dark",
2801
- "darkflat",
2802
- "e.g. M31",
2803
- "flat",
2804
- "folder change",
2805
- "gaussian",
2806
- "light",
2807
- "log10 of variance floor (DN²). -8 ≡ 1e-8.",
2808
- "mono",
2809
- "naive (square, pixfrac≈1)",
2810
- "precision → {0}",
2811
- "square",
2812
3730
  "{0:g}s",
2813
3731
  "{0} file",
2814
3732
  "{0} file · {1}",
@@ -2861,9 +3779,9 @@
2861
3779
  "⚠️ (MF) Auto-crop of output failed: {0}",
2862
3780
  "⚠️ (MF) Global crop failed: {0}",
2863
3781
  "⚠️ Auto register/integrate failed: {0}",
2864
- "⚠️ CFA Drizzle: low-count fallback → using Edge-Aware Interpolation for this run.",
2865
3782
  "⚠️ Cannot load {0}; skipping.",
2866
3783
  "⚠️ Cannot read image size for {0}: {1}",
3784
+ "⚠️ CFA Drizzle: low-count fallback → using Edge-Aware Interpolation for this run.",
2867
3785
  "⚠️ Comet seed resolve failed: {0}",
2868
3786
  "⚠️ Comet star removal pre-process aborted: {0}",
2869
3787
  "⚠️ Could not ensure subfolders in '{0}': {1}",
@@ -2874,9 +3792,9 @@
2874
3792
  "⚠️ Could not load {0} to determine drizzle shape!",
2875
3793
  "⚠️ Could not read XISF {0}: {1}; treating as generic image",
2876
3794
  "⚠️ Degenerate tile shape {0} at tile {1} [y:{2}:{3} x:{4}:{5}] – using CPU for this tile.",
2877
- "⚠️ ERROR: Could not parse {0}",
2878
3795
  "⚠️ Error normalizing {0}: {1}",
2879
3796
  "⚠️ Error previewing {0}: {1}",
3797
+ "⚠️ ERROR: Could not parse {0}",
2880
3798
  "⚠️ Error: No alignment data available.",
2881
3799
  "⚠️ Failed to load {0}; skipping",
2882
3800
  "⚠️ Failed to open images (memmap): {0}",
@@ -2884,8 +3802,8 @@
2884
3802
  "⚠️ Failed to save transform file: {0}",
2885
3803
  "⚠️ Failed to write SASD v2 ({0}); writing affine-only fallback.",
2886
3804
  "⚠️ File not found: {0}, skipping.",
2887
- "⚠️ GPU rejection failed on tile {0}/{1} shape={2}: {3} – falling back to CPU for this and remaining tiles.",
2888
3805
  "⚠️ Global crop (mask-based) failed: {0}",
3806
+ "⚠️ GPU rejection failed on tile {0}/{1} shape={2}: {3} – falling back to CPU for this and remaining tiles.",
2889
3807
  "⚠️ Group '{0}' does not have enough frames to drizzle.",
2890
3808
  "⚠️ Group '{0}' does not have enough frames to stack.",
2891
3809
  "⚠️ Image registration failed: {0}",
@@ -2915,6 +3833,7 @@
2915
3833
  "⚠️ Per-group transform crop failed for '{0}': {1}",
2916
3834
  "⚠️ Preview error for {0}: {1}",
2917
3835
  "⚠️ PyTorch reports no GPU but you have an NVIDIA card – restarting may help.",
3836
+ "⚠️ rebuild_flat_tree: could not parse key '{0}': {1}",
2918
3837
  "⚠️ Reference file '{0}' not found, skipping group.",
2919
3838
  "⚠️ Skipping {0}s ({1}) - Not enough frames to stack.",
2920
3839
  "⚠️ Skipping {0}s ({1}) [{2}] [{3}] - Not enough frames to stack.",
@@ -2925,7 +3844,6 @@
2925
3844
  "⚠️ WARNING: No Master Calibration Files available.",
2926
3845
  "⚠️ WARNING: No Master Darks available.",
2927
3846
  "⚠️ Warning: {0}",
2928
- "⚠️ rebuild_flat_tree: could not parse key '{0}': {1}",
2929
3847
  "⚠️ {0}",
2930
3848
  "⚠️ {0} frame has no aligned counterpart – skipping {1}",
2931
3849
  "⚠️ {0} frames failed to align",
@@ -2944,8 +3862,8 @@
2944
3862
  "✂️ (MF) Transform crop → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2945
3863
  "✂️ Auto Crop Enabled. Calculating bounding box…",
2946
3864
  "✂️ Auto-crop: 0/{0} frames had usable transforms; skipping.",
2947
- "✂️ Auto-crop: Loading transforms...",
2948
3865
  "✂️ Auto-crop: could not load first aligned ref.",
3866
+ "✂️ Auto-crop: Loading transforms...",
2949
3867
  "✂️ Auto-crop: no common area found; skipping.",
2950
3868
  "✂️ Auto-crop: no transforms file at {0}",
2951
3869
  "✂️ Auto-crop: rasterized {0}/{1} frames; need {2} per-pixel.",
@@ -2960,9 +3878,9 @@
2960
3878
  "✂️ Mask-based crop (global) → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2961
3879
  "✂️ No stable rect found for this group; per-image fallback will be used.",
2962
3880
  "✂️ No transforms/geometry available for fast global crop; falling back to mask-based.",
3881
+ "✂️ Saved auto-cropped image for '{0}': {1}",
2963
3882
  "✂️ Saved CometBlend (auto-cropped) → {0}",
2964
3883
  "✂️ Saved CometOnly (auto-cropped) → {0}",
2965
- "✂️ Saved auto-cropped image for '{0}': {1}",
2966
3884
  "✂️ Transform crop (global) → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2967
3885
  "✂️ Transform crop produced no stable global rect; falling back to mask-based.",
2968
3886
  "✂️ Using fixed crop rect for '{0}': ({1},{2})–({3},{4})",
@@ -2984,15 +3902,15 @@
2984
3902
  "✅ Frame weights computed!",
2985
3903
  "✅ Group '{0}' not set for drizzle. Integrated image already saved.",
2986
3904
  "✅ Group '{0}' stacked {1} frame(s)! Saved: {2}",
2987
- "✅ MFDeconv complete for all groups. Skipping normal integration as requested.",
2988
- "✅ MFDeconv complete for all groups. Skipping normal integration.",
3905
+ "✅ Master bias saved",
3906
+ "✅ Master dark saved",
2989
3907
  "✅ Master Dark saved and added to UI: {0}",
2990
3908
  "✅ Master Dark saved: {0}",
3909
+ "✅ Master flat saved",
2991
3910
  "✅ Master Flat saved: {0}",
2992
3911
  "✅ Master Light saved for group '{0}': {1}",
2993
- "✅ Master bias saved",
2994
- "✅ Master dark saved",
2995
- "✅ Master flat saved",
3912
+ "✅ MFDeconv complete for all groups. Skipping normal integration as requested.",
3913
+ "✅ MFDeconv complete for all groups. Skipping normal integration.",
2996
3914
  "✅ Ready",
2997
3915
  "✅ Removed {0} file(s)",
2998
3916
  "✅ SASD v2: loaded {0} transform(s).",
@@ -3178,6 +4096,19 @@
3178
4096
  "Strength:",
3179
4097
  "Target median:"
3180
4098
  ],
4099
+ "StatisticsDialog": [
4100
+ "App Statistics",
4101
+ "Close",
4102
+ "Days",
4103
+ "Hours",
4104
+ "Images Opened:",
4105
+ "Minutes",
4106
+ "Time Spent:",
4107
+ "Tools Opened:"
4108
+ ],
4109
+ "StatusLogDock": [
4110
+ "Stacking Log"
4111
+ ],
3181
4112
  "StatusLogWindow": [
3182
4113
  "Clear",
3183
4114
  "Stacking Suite Log"
@@ -3208,15 +4139,15 @@
3208
4139
  "1:1",
3209
4140
  "ABE...",
3210
4141
  "Aberration Correction (AI)...",
3211
- "Add Stars...",
3212
4142
  "Add diffraction spikes to detected stars",
3213
4143
  "Add signatures/overlays and bake them into the active image",
4144
+ "Add Stars...",
3214
4145
  "Adjust specific hue ranges with CMY/RGB controls",
3215
4146
  "Advanced diffraction spikes with halos, flares and rainbow effects",
3216
- "Align R and B channels to G using astroalign (affine/homography/poly)",
3217
4147
  "Align images via astroalign / triangles",
3218
- "Apply Mask",
4148
+ "Align R and B channels to G using astroalign (affine/homography/poly)",
3219
4149
  "Apply a mask document to the active image",
4150
+ "Apply Mask",
3220
4151
  "Apply the current Display-Stretch to the image and add an undo step",
3221
4152
  "Apply the same stretch to all RGB channels",
3222
4153
  "Apply white balance (Star-Based, Manual, or Auto)",
@@ -3237,10 +4168,10 @@
3237
4168
  "Blink Comparator...",
3238
4169
  "Build mosaics from overlapping frames",
3239
4170
  "Bundles",
3240
- "CLAHE...",
3241
- "Cascade Views",
3242
4171
  "Cascade all subwindows",
4172
+ "Cascade Views",
3243
4173
  "Check for Updates...",
4174
+ "CLAHE...",
3244
4175
  "Clear All Views",
3245
4176
  "Close all views and clear shortcuts",
3246
4177
  "Close all views and documents, keep desktop shortcuts",
@@ -3256,12 +4187,12 @@
3256
4187
  "Cosmic Clarity",
3257
4188
  "Cosmic Clarity Satellite...",
3258
4189
  "Cosmic Clarity UI...",
3259
- "Create Mask...",
3260
- "Create Sample Scripts...",
3261
4190
  "Create a mask from the active image",
3262
4191
  "Create a new mono document using the selected luminance method",
3263
4192
  "Create and run bundles of functions/shortcuts",
3264
4193
  "Create bundles of views; drop shortcuts to apply to all",
4194
+ "Create Mask...",
4195
+ "Create Sample Scripts...",
3265
4196
  "Crop / rotate with handles",
3266
4197
  "Crop...",
3267
4198
  "Curves Editor...",
@@ -3277,22 +4208,22 @@
3277
4208
  "Exoplanet Detector...",
3278
4209
  "Extract Luminance",
3279
4210
  "Extract R/G/B as three mono documents",
3280
- "FITS Header Batch Modifier...",
3281
- "FITS Header Modifier...",
3282
4211
  "Find transients/anomalies across frames",
3283
4212
  "Fit",
3284
4213
  "Fit galaxy isophotes and reveal residuals",
3285
4214
  "Fit image to current window",
4215
+ "FITS Header Batch Modifier...",
4216
+ "FITS Header Modifier...",
3286
4217
  "Flip Horizontal",
3287
- "Flip Vertical",
3288
4218
  "Flip image left<->right",
3289
4219
  "Flip image top<->bottom",
4220
+ "Flip Vertical",
3290
4221
  "Frequency Separation...",
3291
4222
  "Function Bundles...",
3292
4223
  "Functions",
3293
- "GLIMR -- Isophote Modeler...",
3294
4224
  "Generalized hyperbolic stretch (α/beta/gamma, LP/HP, pivot)",
3295
4225
  "Geometry",
4226
+ "GLIMR -- Isophote Modeler...",
3296
4227
  "Halo-B-Gon...",
3297
4228
  "Hard (target 0.50, σ 2)",
3298
4229
  "Hard-Display-Stretch",
@@ -3308,15 +4239,15 @@
3308
4239
  "Inspect star PSF/HFR and flux histograms (SEP)",
3309
4240
  "Interactive blemish removal on the active view",
3310
4241
  "Invert",
3311
- "Invert Mask",
3312
4242
  "Invert image colors",
4243
+ "Invert Mask",
3313
4244
  "Linear Fit...",
3314
4245
  "Link Pan/Zoom",
3315
4246
  "Link RGB channels",
3316
- "Live Stacking...",
3317
4247
  "Live monitor and stack incoming frames",
3318
- "Load Project...",
4248
+ "Live Stacking...",
3319
4249
  "Load a .sas project (views, histories, shortcuts)",
4250
+ "Load Project...",
3320
4251
  "Make Display-Stretch Permanent",
3321
4252
  "Masks",
3322
4253
  "Match image levels using Linear Fit",
@@ -3330,17 +4261,16 @@
3330
4261
  "New Project",
3331
4262
  "Normal (target 0.30, σ 5)",
3332
4263
  "Open Convolution / Deconvolution",
3333
- "Open SFCC (Pickles + Filters + Sensor QE)",
4264
+ "Open image(s)",
3334
4265
  "Open Scripts Folder...",
3335
4266
  "Open Scripts Forum (Discord)...",
3336
- "Open User Scripts (GitHub)...",
3337
- "Open image(s)",
4267
+ "Open SFCC (Pickles + Filters + Sensor QE)",
4268
+ "Open the built-in script editor",
3338
4269
  "Open the Curves Editor for the active image",
3339
4270
  "Open the SASpro user scripts folder",
3340
4271
  "Open the Seti Astro Suite Pro online documentation",
3341
- "Open the built-in script editor",
4272
+ "Open User Scripts (GitHub)...",
3342
4273
  "Open...",
3343
- "PSF Viewer...",
3344
4274
  "Paste View",
3345
4275
  "Perfect Palette Picker...",
3346
4276
  "Pick the perfect palette for your image",
@@ -3348,9 +4278,7 @@
3348
4278
  "Plan targets by altitude, transit time, and lunar separation",
3349
4279
  "Plate Solver...",
3350
4280
  "Presets",
3351
- "RGB Align...",
3352
- "RGB Combination...",
3353
- "RGB Extract",
4281
+ "PSF Viewer...",
3354
4282
  "Recombine Luminance...",
3355
4283
  "Redo",
3356
4284
  "Reload Scripts",
@@ -3365,6 +4293,9 @@
3365
4293
  "Rescale image by a factor",
3366
4294
  "Rescale...",
3367
4295
  "Rescan the scripts folder and reload .py files",
4296
+ "RGB Align...",
4297
+ "RGB Combination...",
4298
+ "RGB Extract",
3368
4299
  "Rotate 180°",
3369
4300
  "Rotate 90° Clockwise",
3370
4301
  "Rotate 90° Counterclockwise",
@@ -3373,11 +4304,11 @@
3373
4304
  "Rotate image 90° counterclockwise",
3374
4305
  "Run GraXpert background extraction on the active image",
3375
4306
  "Run star removal on the active image",
3376
- "SCNR-style green channel removal.",
4307
+ "Save all views, histories, and shortcuts to a .sas file",
3377
4308
  "Save As...",
3378
4309
  "Save Project...",
3379
- "Save all views, histories, and shortcuts to a .sas file",
3380
4310
  "Save the active image",
4311
+ "SCNR-style green channel removal.",
3381
4312
  "Script Editor...",
3382
4313
  "Selective Color Correction...",
3383
4314
  "Set Sigma...",
@@ -3402,10 +4333,10 @@
3402
4333
  "Stretch the image using median/SD statistics",
3403
4334
  "Subtract per-channel minimum.\nClick: active view\nAlt+Drag: drop onto a view",
3404
4335
  "Supernova / Asteroid Hunter...",
4336
+ "Tile all subwindows",
3405
4337
  "Tile Horizontally",
3406
4338
  "Tile Vertically",
3407
4339
  "Tile Views",
3408
- "Tile all subwindows",
3409
4340
  "Toggle display auto-stretch for the active window",
3410
4341
  "Toggle hard profile for Display-Stretch (H)",
3411
4342
  "Tools",
@@ -3422,8 +4353,8 @@
3422
4353
  "White Balance...",
3423
4354
  "Write a ready-to-edit sample script into the scripts folder",
3424
4355
  "Zoom In",
3425
- "Zoom Out",
3426
4356
  "Zoom in",
4357
+ "Zoom Out",
3427
4358
  "Zoom out",
3428
4359
  "Zoom to 100% (pixel-for-pixel)"
3429
4360
  ],
@@ -3451,8 +4382,8 @@
3451
4382
  "New version",
3452
4383
  "No download link available for this platform.",
3453
4384
  "No updates available",
3454
- "Release Notes:\n{0}",
3455
4385
  "Release notes",
4386
+ "Release Notes:\n{0}",
3456
4387
  "Remind me later",
3457
4388
  "Restart later",
3458
4389
  "Restart now",
@@ -3463,17 +4394,107 @@
3463
4394
  "Unable to check for updates.\n\n{err}",
3464
4395
  "Up to Date",
3465
4396
  "Update Available",
4397
+ "Update available",
4398
+ "Update available: {0}",
3466
4399
  "Update Check Failed",
3467
4400
  "Update Failed",
4401
+ "Update installed",
3468
4402
  "Update JSON is invalid.\n\n{je}",
3469
4403
  "Update JSON missing the 'version' field.",
3470
- "Update available",
3471
- "Update available: {0}",
3472
- "Update installed",
3473
4404
  "What's new",
3474
4405
  "You are running the latest version",
3475
4406
  "You're already running the latest version."
3476
4407
  ],
4408
+ "ViewBundleDialog": [
4409
+ "Add Directory (Recursive)…",
4410
+ "Add Files…",
4411
+ "Add from Open…",
4412
+ "Bundles",
4413
+ "Choose views to add:",
4414
+ "Clear Views",
4415
+ "Compress to Chip",
4416
+ "Delete",
4417
+ "Delete Chip",
4418
+ "Drag to move · Ctrl+drag to apply · Drop views/shortcuts here",
4419
+ "Drop views here to add • Drop shortcuts here to apply to THIS bundle",
4420
+ "Duplicate",
4421
+ "New Bundle",
4422
+ "Remove Selected",
4423
+ "Select all open views",
4424
+ "View Bundles",
4425
+ "Views in Selected Bundle"
4426
+ ],
4427
+ "WIMIDialog": [
4428
+ "3D Distance Model",
4429
+ "Add Text",
4430
+ "Advanced Search",
4431
+ "Advanced Search Parameters",
4432
+ "Asteroid H ≤",
4433
+ "AutoStretch",
4434
+ "Caution - Deep Vizier Search",
4435
+ "Clear Annotations",
4436
+ "Clear Results",
4437
+ "Comet H ≤",
4438
+ "Copy Object Information",
4439
+ "Copy RA/Dec to Clipboard",
4440
+ "Count Objects Brighter Than Limits",
4441
+ "Ctrl+Click to add items, Alt+Click to measure distance",
4442
+ "Database: not downloaded",
4443
+ "Dec: N/A",
4444
+ "Defined Region",
4445
+ "Delete Selected Items",
4446
+ "Delete Selected Object(s)",
4447
+ "Description",
4448
+ "Download Catalog",
4449
+ "Draw Arrow",
4450
+ "Draw Ellipse",
4451
+ "Draw Rectangle",
4452
+ "Entire Image",
4453
+ "Freehand (Lasso)",
4454
+ "H-R Diagram",
4455
+ "Legend",
4456
+ "Load from View",
4457
+ "Load Image File",
4458
+ "Load List…",
4459
+ "Max asteroids:",
4460
+ "Max comets:",
4461
+ "Mini Preview",
4462
+ "Minor Planets / Comets",
4463
+ "Object Type",
4464
+ "Objects Found: 0",
4465
+ "Open Website",
4466
+ "Orientation: N/A°",
4467
+ "Place Celestial Compass",
4468
+ "Query Simbad",
4469
+ "RA: N/A",
4470
+ "Right Click a Row for More Options",
4471
+ "Save Annotated Image",
4472
+ "Save Collage of Objects",
4473
+ "Save CSV",
4474
+ "Save List…",
4475
+ "Save Plate Solved Fits",
4476
+ "Search Defined Region",
4477
+ "Search Entire Image",
4478
+ "Search M.A.S.T Database",
4479
+ "Search Minor Bodies",
4480
+ "Search scope:",
4481
+ "Select Annotation Color",
4482
+ "Select Annotation Font",
4483
+ "Select Color",
4484
+ "Select Font",
4485
+ "Shift+Click to define a search region",
4486
+ "Show Annotation Tools",
4487
+ "Show Object Names",
4488
+ "Show Visible Objects Only",
4489
+ "Status: Ready",
4490
+ "Target (optional):",
4491
+ "Time offset (hours):",
4492
+ "Toggle All",
4493
+ "Undo",
4494
+ "Zoom In",
4495
+ "Zoom Out",
4496
+ "Zoom to Object"
4497
+ ],
3477
4498
  "WhatsInMyImage": [
3478
4499
  "Analyze Image",
3479
4500
  "Analyzing...",
@@ -3498,8 +4519,8 @@
3498
4519
  "Maximum magnitude",
3499
4520
  "Minimum magnitude",
3500
4521
  "Nebulae",
3501
- "No WCS data",
3502
4522
  "No objects found",
4523
+ "No WCS data",
3503
4524
  "Object Name",
3504
4525
  "Object types",
3505
4526
  "Open clusters",
@@ -3549,8 +4570,8 @@
3549
4570
  "Maximum moon separation",
3550
4571
  "Minimum altitude",
3551
4572
  "Minimum transit altitude",
3552
- "Moon Separation",
3553
4573
  "Moon phase",
4574
+ "Moon Separation",
3554
4575
  "Moon separation",
3555
4576
  "Moonrise",
3556
4577
  "Moonset",
@@ -3583,10 +4604,61 @@
3583
4604
  "Waxing",
3584
4605
  "What's In My Sky"
3585
4606
  ],
4607
+ "WhatsInMySkyDialog": [
4608
+ " Please verify your longitude/timezone.",
4609
+ "Add Custom Object",
4610
+ "Added custom object: {}",
4611
+ "Alt Name",
4612
+ "Altitude",
4613
+ "Azimuth",
4614
+ "Before/After Transit",
4615
+ "Calculate",
4616
+ "Calculating…",
4617
+ "Catalog Filters:",
4618
+ "Could not update catalog:\n{}",
4619
+ "CSV files (*.csv);;All Files (*)",
4620
+ "Data saved to {}",
4621
+ "Date (YYYY-MM-DD):",
4622
+ "Dec",
4623
+ "Degrees",
4624
+ "Degrees from Moon",
4625
+ "Enter Dec (deg):",
4626
+ "Enter number of objects to display:",
4627
+ "Enter object name:",
4628
+ "Enter RA (deg):",
4629
+ "H:M:S / D:M:S",
4630
+ "Inputs look consistent.",
4631
+ "Invalid input: {}",
4632
+ "Latitude:",
4633
+ "Local Sidereal Time: 0.000",
4634
+ "Longitude (E+, W−):",
4635
+ "Lunar Phase: N/A",
4636
+ "Lunar Phase: {}% illuminated",
4637
+ "Magnitude",
4638
+ "Min Altitude (0–90°):",
4639
+ "Minutes to Transit",
4640
+ "Name",
4641
+ "RA",
4642
+ "RA/Dec Format:",
4643
+ "Save CSV File",
4644
+ "Save to CSV",
4645
+ "Settings",
4646
+ "Size (arcmin)",
4647
+ "Status: Idle",
4648
+ "Status: {}",
4649
+ "Time (HH:MM):",
4650
+ "Time Zone:",
4651
+ "Type",
4652
+ "What's In My Sky"
4653
+ ],
4654
+ "WindowShelf": [
4655
+ "Minimized Views",
4656
+ "Untitled"
4657
+ ],
3586
4658
  "_AstrobinIdDelegate": [
4659
+ "e.g. 4408",
3587
4660
  "Enter AstroBin ID",
3588
- "Invalid ID format",
3589
- "e.g. 4408"
4661
+ "Invalid ID format"
3590
4662
  ],
3591
4663
  "_DragTab": [
3592
4664
  "Close all tabs",