setiastrosuitepro 1.6.2.post1__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 (367) hide show
  1. setiastro/__init__.py +2 -0
  2. setiastro/data/SASP_data.fits +0 -0
  3. setiastro/data/catalogs/List_of_Galaxies_with_Distances_Gly.csv +488 -0
  4. setiastro/data/catalogs/astrobin_filters.csv +890 -0
  5. setiastro/data/catalogs/astrobin_filters_page1_local.csv +51 -0
  6. setiastro/data/catalogs/cali2.csv +63 -0
  7. setiastro/data/catalogs/cali2color.csv +65 -0
  8. setiastro/data/catalogs/celestial_catalog - original.csv +16471 -0
  9. setiastro/data/catalogs/celestial_catalog.csv +24031 -0
  10. setiastro/data/catalogs/detected_stars.csv +24784 -0
  11. setiastro/data/catalogs/fits_header_data.csv +46 -0
  12. setiastro/data/catalogs/test.csv +8 -0
  13. setiastro/data/catalogs/updated_celestial_catalog.csv +16471 -0
  14. setiastro/images/Astro_Spikes.png +0 -0
  15. setiastro/images/Background_startup.jpg +0 -0
  16. setiastro/images/HRDiagram.png +0 -0
  17. setiastro/images/LExtract.png +0 -0
  18. setiastro/images/LInsert.png +0 -0
  19. setiastro/images/Oxygenation-atm-2.svg.png +0 -0
  20. setiastro/images/RGB080604.png +0 -0
  21. setiastro/images/abeicon.png +0 -0
  22. setiastro/images/aberration.png +0 -0
  23. setiastro/images/andromedatry.png +0 -0
  24. setiastro/images/andromedatry_satellited.png +0 -0
  25. setiastro/images/annotated.png +0 -0
  26. setiastro/images/aperture.png +0 -0
  27. setiastro/images/astrosuite.ico +0 -0
  28. setiastro/images/astrosuite.png +0 -0
  29. setiastro/images/astrosuitepro.icns +0 -0
  30. setiastro/images/astrosuitepro.ico +0 -0
  31. setiastro/images/astrosuitepro.png +0 -0
  32. setiastro/images/background.png +0 -0
  33. setiastro/images/background2.png +0 -0
  34. setiastro/images/benchmark.png +0 -0
  35. setiastro/images/big_moon_stabilizer_timeline.png +0 -0
  36. setiastro/images/big_moon_stabilizer_timeline_clean.png +0 -0
  37. setiastro/images/blaster.png +0 -0
  38. setiastro/images/blink.png +0 -0
  39. setiastro/images/clahe.png +0 -0
  40. setiastro/images/collage.png +0 -0
  41. setiastro/images/colorwheel.png +0 -0
  42. setiastro/images/contsub.png +0 -0
  43. setiastro/images/convo.png +0 -0
  44. setiastro/images/copyslot.png +0 -0
  45. setiastro/images/cosmic.png +0 -0
  46. setiastro/images/cosmicsat.png +0 -0
  47. setiastro/images/crop1.png +0 -0
  48. setiastro/images/cropicon.png +0 -0
  49. setiastro/images/curves.png +0 -0
  50. setiastro/images/cvs.png +0 -0
  51. setiastro/images/debayer.png +0 -0
  52. setiastro/images/denoise_cnn_custom.png +0 -0
  53. setiastro/images/denoise_cnn_graph.png +0 -0
  54. setiastro/images/disk.png +0 -0
  55. setiastro/images/dse.png +0 -0
  56. setiastro/images/exoicon.png +0 -0
  57. setiastro/images/eye.png +0 -0
  58. setiastro/images/fliphorizontal.png +0 -0
  59. setiastro/images/flipvertical.png +0 -0
  60. setiastro/images/font.png +0 -0
  61. setiastro/images/freqsep.png +0 -0
  62. setiastro/images/functionbundle.png +0 -0
  63. setiastro/images/graxpert.png +0 -0
  64. setiastro/images/green.png +0 -0
  65. setiastro/images/gridicon.png +0 -0
  66. setiastro/images/halo.png +0 -0
  67. setiastro/images/hdr.png +0 -0
  68. setiastro/images/histogram.png +0 -0
  69. setiastro/images/hubble.png +0 -0
  70. setiastro/images/imagecombine.png +0 -0
  71. setiastro/images/invert.png +0 -0
  72. setiastro/images/isophote.png +0 -0
  73. setiastro/images/isophote_demo_figure.png +0 -0
  74. setiastro/images/isophote_demo_image.png +0 -0
  75. setiastro/images/isophote_demo_model.png +0 -0
  76. setiastro/images/isophote_demo_residual.png +0 -0
  77. setiastro/images/jwstpupil.png +0 -0
  78. setiastro/images/linearfit.png +0 -0
  79. setiastro/images/livestacking.png +0 -0
  80. setiastro/images/mask.png +0 -0
  81. setiastro/images/maskapply.png +0 -0
  82. setiastro/images/maskcreate.png +0 -0
  83. setiastro/images/maskremove.png +0 -0
  84. setiastro/images/morpho.png +0 -0
  85. setiastro/images/mosaic.png +0 -0
  86. setiastro/images/multiscale_decomp.png +0 -0
  87. setiastro/images/nbtorgb.png +0 -0
  88. setiastro/images/neutral.png +0 -0
  89. setiastro/images/nuke.png +0 -0
  90. setiastro/images/openfile.png +0 -0
  91. setiastro/images/pedestal.png +0 -0
  92. setiastro/images/pen.png +0 -0
  93. setiastro/images/pixelmath.png +0 -0
  94. setiastro/images/platesolve.png +0 -0
  95. setiastro/images/ppp.png +0 -0
  96. setiastro/images/pro.png +0 -0
  97. setiastro/images/project.png +0 -0
  98. setiastro/images/psf.png +0 -0
  99. setiastro/images/redo.png +0 -0
  100. setiastro/images/redoicon.png +0 -0
  101. setiastro/images/rescale.png +0 -0
  102. setiastro/images/rgbalign.png +0 -0
  103. setiastro/images/rgbcombo.png +0 -0
  104. setiastro/images/rgbextract.png +0 -0
  105. setiastro/images/rotate180.png +0 -0
  106. setiastro/images/rotateclockwise.png +0 -0
  107. setiastro/images/rotatecounterclockwise.png +0 -0
  108. setiastro/images/satellite.png +0 -0
  109. setiastro/images/script.png +0 -0
  110. setiastro/images/selectivecolor.png +0 -0
  111. setiastro/images/simbad.png +0 -0
  112. setiastro/images/slot0.png +0 -0
  113. setiastro/images/slot1.png +0 -0
  114. setiastro/images/slot2.png +0 -0
  115. setiastro/images/slot3.png +0 -0
  116. setiastro/images/slot4.png +0 -0
  117. setiastro/images/slot5.png +0 -0
  118. setiastro/images/slot6.png +0 -0
  119. setiastro/images/slot7.png +0 -0
  120. setiastro/images/slot8.png +0 -0
  121. setiastro/images/slot9.png +0 -0
  122. setiastro/images/spcc.png +0 -0
  123. setiastro/images/spin_precession_vs_lunar_distance.png +0 -0
  124. setiastro/images/spinner.gif +0 -0
  125. setiastro/images/stacking.png +0 -0
  126. setiastro/images/staradd.png +0 -0
  127. setiastro/images/staralign.png +0 -0
  128. setiastro/images/starnet.png +0 -0
  129. setiastro/images/starregistration.png +0 -0
  130. setiastro/images/starspike.png +0 -0
  131. setiastro/images/starstretch.png +0 -0
  132. setiastro/images/statstretch.png +0 -0
  133. setiastro/images/supernova.png +0 -0
  134. setiastro/images/uhs.png +0 -0
  135. setiastro/images/undoicon.png +0 -0
  136. setiastro/images/upscale.png +0 -0
  137. setiastro/images/viewbundle.png +0 -0
  138. setiastro/images/whitebalance.png +0 -0
  139. setiastro/images/wimi_icon_256x256.png +0 -0
  140. setiastro/images/wimilogo.png +0 -0
  141. setiastro/images/wims.png +0 -0
  142. setiastro/images/wrench_icon.png +0 -0
  143. setiastro/images/xisfliberator.png +0 -0
  144. setiastro/qml/ResourceMonitor.qml +126 -0
  145. setiastro/saspro/__init__.py +20 -0
  146. setiastro/saspro/__main__.py +945 -0
  147. setiastro/saspro/_generated/__init__.py +7 -0
  148. setiastro/saspro/_generated/build_info.py +3 -0
  149. setiastro/saspro/abe.py +1346 -0
  150. setiastro/saspro/abe_preset.py +196 -0
  151. setiastro/saspro/aberration_ai.py +694 -0
  152. setiastro/saspro/aberration_ai_preset.py +224 -0
  153. setiastro/saspro/accel_installer.py +218 -0
  154. setiastro/saspro/accel_workers.py +30 -0
  155. setiastro/saspro/add_stars.py +624 -0
  156. setiastro/saspro/astrobin_exporter.py +1010 -0
  157. setiastro/saspro/astrospike.py +153 -0
  158. setiastro/saspro/astrospike_python.py +1841 -0
  159. setiastro/saspro/autostretch.py +198 -0
  160. setiastro/saspro/backgroundneutral.py +602 -0
  161. setiastro/saspro/batch_convert.py +328 -0
  162. setiastro/saspro/batch_renamer.py +522 -0
  163. setiastro/saspro/blemish_blaster.py +491 -0
  164. setiastro/saspro/blink_comparator_pro.py +2926 -0
  165. setiastro/saspro/bundles.py +61 -0
  166. setiastro/saspro/bundles_dock.py +114 -0
  167. setiastro/saspro/cheat_sheet.py +213 -0
  168. setiastro/saspro/clahe.py +368 -0
  169. setiastro/saspro/comet_stacking.py +1442 -0
  170. setiastro/saspro/common_tr.py +107 -0
  171. setiastro/saspro/config.py +38 -0
  172. setiastro/saspro/config_bootstrap.py +40 -0
  173. setiastro/saspro/config_manager.py +316 -0
  174. setiastro/saspro/continuum_subtract.py +1617 -0
  175. setiastro/saspro/convo.py +1400 -0
  176. setiastro/saspro/convo_preset.py +414 -0
  177. setiastro/saspro/copyastro.py +190 -0
  178. setiastro/saspro/cosmicclarity.py +1589 -0
  179. setiastro/saspro/cosmicclarity_preset.py +407 -0
  180. setiastro/saspro/crop_dialog_pro.py +973 -0
  181. setiastro/saspro/crop_preset.py +189 -0
  182. setiastro/saspro/curve_editor_pro.py +2562 -0
  183. setiastro/saspro/curves_preset.py +375 -0
  184. setiastro/saspro/debayer.py +673 -0
  185. setiastro/saspro/debug_utils.py +29 -0
  186. setiastro/saspro/dnd_mime.py +35 -0
  187. setiastro/saspro/doc_manager.py +2664 -0
  188. setiastro/saspro/exoplanet_detector.py +2166 -0
  189. setiastro/saspro/file_utils.py +284 -0
  190. setiastro/saspro/fitsmodifier.py +748 -0
  191. setiastro/saspro/fix_bom.py +32 -0
  192. setiastro/saspro/free_torch_memory.py +48 -0
  193. setiastro/saspro/frequency_separation.py +1349 -0
  194. setiastro/saspro/function_bundle.py +1596 -0
  195. setiastro/saspro/generate_translations.py +3092 -0
  196. setiastro/saspro/ghs_dialog_pro.py +663 -0
  197. setiastro/saspro/ghs_preset.py +284 -0
  198. setiastro/saspro/graxpert.py +637 -0
  199. setiastro/saspro/graxpert_preset.py +287 -0
  200. setiastro/saspro/gui/__init__.py +0 -0
  201. setiastro/saspro/gui/main_window.py +8810 -0
  202. setiastro/saspro/gui/mixins/__init__.py +33 -0
  203. setiastro/saspro/gui/mixins/dock_mixin.py +362 -0
  204. setiastro/saspro/gui/mixins/file_mixin.py +450 -0
  205. setiastro/saspro/gui/mixins/geometry_mixin.py +403 -0
  206. setiastro/saspro/gui/mixins/header_mixin.py +441 -0
  207. setiastro/saspro/gui/mixins/mask_mixin.py +421 -0
  208. setiastro/saspro/gui/mixins/menu_mixin.py +389 -0
  209. setiastro/saspro/gui/mixins/theme_mixin.py +367 -0
  210. setiastro/saspro/gui/mixins/toolbar_mixin.py +1457 -0
  211. setiastro/saspro/gui/mixins/update_mixin.py +309 -0
  212. setiastro/saspro/gui/mixins/view_mixin.py +435 -0
  213. setiastro/saspro/gui/statistics_dialog.py +47 -0
  214. setiastro/saspro/halobgon.py +488 -0
  215. setiastro/saspro/header_viewer.py +448 -0
  216. setiastro/saspro/headless_utils.py +88 -0
  217. setiastro/saspro/histogram.py +756 -0
  218. setiastro/saspro/history_explorer.py +941 -0
  219. setiastro/saspro/i18n.py +168 -0
  220. setiastro/saspro/image_combine.py +417 -0
  221. setiastro/saspro/image_peeker_pro.py +1604 -0
  222. setiastro/saspro/imageops/__init__.py +37 -0
  223. setiastro/saspro/imageops/mdi_snap.py +292 -0
  224. setiastro/saspro/imageops/scnr.py +36 -0
  225. setiastro/saspro/imageops/starbasedwhitebalance.py +210 -0
  226. setiastro/saspro/imageops/stretch.py +236 -0
  227. setiastro/saspro/isophote.py +1182 -0
  228. setiastro/saspro/layers.py +208 -0
  229. setiastro/saspro/layers_dock.py +714 -0
  230. setiastro/saspro/lazy_imports.py +193 -0
  231. setiastro/saspro/legacy/__init__.py +2 -0
  232. setiastro/saspro/legacy/image_manager.py +2226 -0
  233. setiastro/saspro/legacy/numba_utils.py +3676 -0
  234. setiastro/saspro/legacy/xisf.py +1071 -0
  235. setiastro/saspro/linear_fit.py +537 -0
  236. setiastro/saspro/live_stacking.py +1841 -0
  237. setiastro/saspro/log_bus.py +5 -0
  238. setiastro/saspro/logging_config.py +460 -0
  239. setiastro/saspro/luminancerecombine.py +309 -0
  240. setiastro/saspro/main_helpers.py +201 -0
  241. setiastro/saspro/mask_creation.py +931 -0
  242. setiastro/saspro/masks_core.py +56 -0
  243. setiastro/saspro/mdi_widgets.py +353 -0
  244. setiastro/saspro/memory_utils.py +666 -0
  245. setiastro/saspro/metadata_patcher.py +75 -0
  246. setiastro/saspro/mfdeconv.py +3831 -0
  247. setiastro/saspro/mfdeconv_earlystop.py +71 -0
  248. setiastro/saspro/mfdeconvcudnn.py +3263 -0
  249. setiastro/saspro/mfdeconvsport.py +2382 -0
  250. setiastro/saspro/minorbodycatalog.py +567 -0
  251. setiastro/saspro/morphology.py +407 -0
  252. setiastro/saspro/multiscale_decomp.py +1293 -0
  253. setiastro/saspro/nbtorgb_stars.py +541 -0
  254. setiastro/saspro/numba_utils.py +3145 -0
  255. setiastro/saspro/numba_warmup.py +141 -0
  256. setiastro/saspro/ops/__init__.py +9 -0
  257. setiastro/saspro/ops/command_help_dialog.py +623 -0
  258. setiastro/saspro/ops/command_runner.py +217 -0
  259. setiastro/saspro/ops/commands.py +1594 -0
  260. setiastro/saspro/ops/script_editor.py +1102 -0
  261. setiastro/saspro/ops/scripts.py +1473 -0
  262. setiastro/saspro/ops/settings.py +637 -0
  263. setiastro/saspro/parallel_utils.py +554 -0
  264. setiastro/saspro/pedestal.py +121 -0
  265. setiastro/saspro/perfect_palette_picker.py +1071 -0
  266. setiastro/saspro/pipeline.py +110 -0
  267. setiastro/saspro/pixelmath.py +1604 -0
  268. setiastro/saspro/plate_solver.py +2445 -0
  269. setiastro/saspro/project_io.py +797 -0
  270. setiastro/saspro/psf_utils.py +136 -0
  271. setiastro/saspro/psf_viewer.py +549 -0
  272. setiastro/saspro/pyi_rthook_astroquery.py +95 -0
  273. setiastro/saspro/remove_green.py +331 -0
  274. setiastro/saspro/remove_stars.py +1599 -0
  275. setiastro/saspro/remove_stars_preset.py +404 -0
  276. setiastro/saspro/resources.py +501 -0
  277. setiastro/saspro/rgb_combination.py +208 -0
  278. setiastro/saspro/rgb_extract.py +19 -0
  279. setiastro/saspro/rgbalign.py +723 -0
  280. setiastro/saspro/runtime_imports.py +7 -0
  281. setiastro/saspro/runtime_torch.py +754 -0
  282. setiastro/saspro/save_options.py +73 -0
  283. setiastro/saspro/selective_color.py +1552 -0
  284. setiastro/saspro/sfcc.py +1472 -0
  285. setiastro/saspro/shortcuts.py +3043 -0
  286. setiastro/saspro/signature_insert.py +1102 -0
  287. setiastro/saspro/stacking_suite.py +18470 -0
  288. setiastro/saspro/star_alignment.py +7435 -0
  289. setiastro/saspro/star_alignment_preset.py +329 -0
  290. setiastro/saspro/star_metrics.py +49 -0
  291. setiastro/saspro/star_spikes.py +765 -0
  292. setiastro/saspro/star_stretch.py +507 -0
  293. setiastro/saspro/stat_stretch.py +538 -0
  294. setiastro/saspro/status_log_dock.py +78 -0
  295. setiastro/saspro/subwindow.py +3328 -0
  296. setiastro/saspro/supernovaasteroidhunter.py +1719 -0
  297. setiastro/saspro/swap_manager.py +99 -0
  298. setiastro/saspro/torch_backend.py +89 -0
  299. setiastro/saspro/torch_rejection.py +434 -0
  300. setiastro/saspro/translations/all_source_strings.json +3654 -0
  301. setiastro/saspro/translations/ar_translations.py +3865 -0
  302. setiastro/saspro/translations/de_translations.py +3749 -0
  303. setiastro/saspro/translations/es_translations.py +3939 -0
  304. setiastro/saspro/translations/fr_translations.py +3858 -0
  305. setiastro/saspro/translations/hi_translations.py +3571 -0
  306. setiastro/saspro/translations/integrate_translations.py +270 -0
  307. setiastro/saspro/translations/it_translations.py +3678 -0
  308. setiastro/saspro/translations/ja_translations.py +3601 -0
  309. setiastro/saspro/translations/pt_translations.py +3869 -0
  310. setiastro/saspro/translations/ru_translations.py +2848 -0
  311. setiastro/saspro/translations/saspro_ar.qm +0 -0
  312. setiastro/saspro/translations/saspro_ar.ts +255 -0
  313. setiastro/saspro/translations/saspro_de.qm +0 -0
  314. setiastro/saspro/translations/saspro_de.ts +253 -0
  315. setiastro/saspro/translations/saspro_es.qm +0 -0
  316. setiastro/saspro/translations/saspro_es.ts +12520 -0
  317. setiastro/saspro/translations/saspro_fr.qm +0 -0
  318. setiastro/saspro/translations/saspro_fr.ts +12514 -0
  319. setiastro/saspro/translations/saspro_hi.qm +0 -0
  320. setiastro/saspro/translations/saspro_hi.ts +257 -0
  321. setiastro/saspro/translations/saspro_it.qm +0 -0
  322. setiastro/saspro/translations/saspro_it.ts +12520 -0
  323. setiastro/saspro/translations/saspro_ja.qm +0 -0
  324. setiastro/saspro/translations/saspro_ja.ts +257 -0
  325. setiastro/saspro/translations/saspro_pt.qm +0 -0
  326. setiastro/saspro/translations/saspro_pt.ts +257 -0
  327. setiastro/saspro/translations/saspro_ru.qm +0 -0
  328. setiastro/saspro/translations/saspro_ru.ts +237 -0
  329. setiastro/saspro/translations/saspro_sw.qm +0 -0
  330. setiastro/saspro/translations/saspro_sw.ts +257 -0
  331. setiastro/saspro/translations/saspro_uk.qm +0 -0
  332. setiastro/saspro/translations/saspro_uk.ts +10771 -0
  333. setiastro/saspro/translations/saspro_zh.qm +0 -0
  334. setiastro/saspro/translations/saspro_zh.ts +12520 -0
  335. setiastro/saspro/translations/sw_translations.py +3671 -0
  336. setiastro/saspro/translations/uk_translations.py +3700 -0
  337. setiastro/saspro/translations/zh_translations.py +3675 -0
  338. setiastro/saspro/versioning.py +77 -0
  339. setiastro/saspro/view_bundle.py +1558 -0
  340. setiastro/saspro/wavescale_hdr.py +645 -0
  341. setiastro/saspro/wavescale_hdr_preset.py +101 -0
  342. setiastro/saspro/wavescalede.py +680 -0
  343. setiastro/saspro/wavescalede_preset.py +230 -0
  344. setiastro/saspro/wcs_update.py +374 -0
  345. setiastro/saspro/whitebalance.py +492 -0
  346. setiastro/saspro/widgets/__init__.py +48 -0
  347. setiastro/saspro/widgets/common_utilities.py +306 -0
  348. setiastro/saspro/widgets/graphics_views.py +122 -0
  349. setiastro/saspro/widgets/image_utils.py +518 -0
  350. setiastro/saspro/widgets/minigame/game.js +986 -0
  351. setiastro/saspro/widgets/minigame/index.html +53 -0
  352. setiastro/saspro/widgets/minigame/style.css +241 -0
  353. setiastro/saspro/widgets/preview_dialogs.py +280 -0
  354. setiastro/saspro/widgets/resource_monitor.py +237 -0
  355. setiastro/saspro/widgets/spinboxes.py +275 -0
  356. setiastro/saspro/widgets/themed_buttons.py +13 -0
  357. setiastro/saspro/widgets/wavelet_utils.py +331 -0
  358. setiastro/saspro/wimi.py +7996 -0
  359. setiastro/saspro/wims.py +578 -0
  360. setiastro/saspro/window_shelf.py +185 -0
  361. setiastro/saspro/xisf.py +1123 -0
  362. setiastrosuitepro-1.6.2.post1.dist-info/METADATA +278 -0
  363. setiastrosuitepro-1.6.2.post1.dist-info/RECORD +367 -0
  364. setiastrosuitepro-1.6.2.post1.dist-info/WHEEL +4 -0
  365. setiastrosuitepro-1.6.2.post1.dist-info/entry_points.txt +6 -0
  366. setiastrosuitepro-1.6.2.post1.dist-info/licenses/LICENSE +674 -0
  367. setiastrosuitepro-1.6.2.post1.dist-info/licenses/license.txt +2580 -0
@@ -0,0 +1,3654 @@
1
+ {
2
+ "ABEDialog": [
3
+ "# sample points:",
4
+ "Apply",
5
+ "Automatic Background Extraction (ABE)",
6
+ "Clear Exclusions",
7
+ "Close",
8
+ "Create background document",
9
+ "Downsample factor:",
10
+ "Enable RBF refinement (after polynomial)",
11
+ "Patch size (px):",
12
+ "Polynomial degree:",
13
+ "Preview",
14
+ "Preview background instead of corrected",
15
+ "RBF Refinement",
16
+ "Smooth (x0.01):"
17
+ ],
18
+ "AberrationAIDialog": [
19
+ "Auto GPU (if available)",
20
+ "Browse…",
21
+ "Close",
22
+ "Download latest model…",
23
+ "Model:",
24
+ "Open model folder",
25
+ "Overlap",
26
+ "Patch",
27
+ "Provider:",
28
+ "R.A.'s Aberration Correction (AI)",
29
+ "Run"
30
+ ],
31
+ "AboutDialog": [
32
+ "About Seti Astro Suite",
33
+ "Build:",
34
+ "Click here to donate",
35
+ "Collaborators: Fabio Tempera",
36
+ "Copyright © 2025 Seti Astro",
37
+ "Donations:",
38
+ "Website:",
39
+ "Written by Franklin Marek"
40
+ ],
41
+ "AddStarsDialog": [
42
+ "Add Stars to Image",
43
+ "Apply",
44
+ "Blend Ratio (Screen/Add Intensity):",
45
+ "Blend Type:",
46
+ "Cancel",
47
+ "Load from File",
48
+ "Refresh Views",
49
+ "Starless View:",
50
+ "Stars-Only View:"
51
+ ],
52
+ "AfterAlignWorker": [
53
+ "Post-alignment complete.\n\n{0}",
54
+ "Post-alignment failed: {0}"
55
+ ],
56
+ "AstroSuiteProMainWindow": [
57
+ "&About",
58
+ "&Edit",
59
+ "&File",
60
+ "&Functions",
61
+ "&Geometry",
62
+ "&Header Mods && Misc",
63
+ "&History",
64
+ "&Masks",
65
+ "&Scripts",
66
+ "&Settings",
67
+ "&Shortcuts",
68
+ "&Smart Tools",
69
+ "&Star Stuff",
70
+ "&Tools",
71
+ "&View",
72
+ "&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
+ "1:1",
91
+ "ABE...",
92
+ "Aberration Correction (AI)...",
93
+ "Add Stars...",
94
+ "Add diffraction spikes to detected stars",
95
+ "Add signatures/overlays and bake them into the active image",
96
+ "Adjust specific hue ranges with CMY/RGB controls",
97
+ "Advanced diffraction spikes with halos, flares and rainbow effects",
98
+ "Align R and B channels to G using astroalign (affine/homography/poly)",
99
+ "Align images via astroalign / triangles",
100
+ "Apply Mask",
101
+ "Apply a mask document to the active image",
102
+ "Apply the current Display-Stretch to the image and add an undo step",
103
+ "Apply the same stretch to all RGB channels",
104
+ "Apply white balance (Star-Based, Manual, or Auto)",
105
+ "Arcsinh star stretch with optional SCNR and color boost",
106
+ "Arrange subwindows in a near-square grid",
107
+ "AstroBin Exporter...",
108
+ "AstroSpike...",
109
+ "Auto-fit on Resize",
110
+ "Automatic Background Extraction",
111
+ "Background Neutralization...",
112
+ "Batch Converter...",
113
+ "Batch Modify FITS Headers",
114
+ "Batch Rename from FITS...",
115
+ "Batch-align frames to a reference",
116
+ "Blemish Blaster...",
117
+ "Blend a starless view with a stars-only view",
118
+ "Blend two open images (replace A or create new)",
119
+ "Blink Comparator...",
120
+ "Build mosaics from overlapping frames",
121
+ "Bundles",
122
+ "CLAHE...",
123
+ "Cascade Views",
124
+ "Cascade all subwindows",
125
+ "Check for Updates...",
126
+ "Clear All Views",
127
+ "Close all views and clear shortcuts",
128
+ "Close all views and documents, keep desktop shortcuts",
129
+ "Combine narrowband to RGB with optional OSC stars",
130
+ "Combine three mono images into RGB",
131
+ "Compare a stack of images by blinking",
132
+ "Continuum Subtract (NB - scaled broadband)",
133
+ "Continuum Subtract...",
134
+ "Contrast Limited Adaptive Histogram Equalization",
135
+ "Convolution / Deconvolution...",
136
+ "Copy Astrometric Solution...",
137
+ "Copy View (zoom/pan)",
138
+ "Cosmic Clarity",
139
+ "Cosmic Clarity Satellite...",
140
+ "Cosmic Clarity UI...",
141
+ "Create Mask...",
142
+ "Create Sample Scripts...",
143
+ "Create a mask from the active image",
144
+ "Create a new mono document using the selected luminance method",
145
+ "Create and run bundles of functions/shortcuts",
146
+ "Create bundles of views; drop shortcuts to apply to all",
147
+ "Crop / rotate with handles",
148
+ "Crop...",
149
+ "Curves Editor...",
150
+ "Debayer...",
151
+ "Demosaic a Bayer-mosaic mono image to RGB",
152
+ "Detect exoplanet transits from time-series subs",
153
+ "Diffraction Spikes...",
154
+ "Display-Stretch",
155
+ "Documentation...",
156
+ "Enhance faint/dark structures with wavelet-guided masking",
157
+ "Erosion, dilation, opening, and closing.",
158
+ "Evaluate expressions using open view names",
159
+ "Exoplanet Detector...",
160
+ "Extract Luminance",
161
+ "Extract R/G/B as three mono documents",
162
+ "FITS Header Batch Modifier...",
163
+ "FITS Header Modifier...",
164
+ "Find transients/anomalies across frames",
165
+ "Fit",
166
+ "Fit galaxy isophotes and reveal residuals",
167
+ "Fit image to current window",
168
+ "Flip Horizontal",
169
+ "Flip Vertical",
170
+ "Flip image left<->right",
171
+ "Flip image top<->bottom",
172
+ "Frequency Separation...",
173
+ "Function Bundles...",
174
+ "Functions",
175
+ "GLIMR -- Isophote Modeler...",
176
+ "Generalized hyperbolic stretch (α/beta/gamma, LP/HP, pivot)",
177
+ "Geometry",
178
+ "Halo-B-Gon...",
179
+ "Hard (target 0.50, σ 2)",
180
+ "Hard-Display-Stretch",
181
+ "Hide Mask Overlay",
182
+ "Histogram...",
183
+ "History Explorer...",
184
+ "Hyperbolic Stretch...",
185
+ "Identify objects in a plate-solved frame",
186
+ "Image Combine...",
187
+ "Image Inspector and Focal Plane Analysis",
188
+ "Image Peeker...",
189
+ "Inspect and restore from the slot's history",
190
+ "Inspect star PSF/HFR and flux histograms (SEP)",
191
+ "Interactive blemish removal on the active view",
192
+ "Invert",
193
+ "Invert Mask",
194
+ "Invert image colors",
195
+ "Linear Fit...",
196
+ "Link Pan/Zoom",
197
+ "Link RGB channels",
198
+ "Live Stacking...",
199
+ "Live monitor and stack incoming frames",
200
+ "Load Project...",
201
+ "Load a .sas project (views, histories, shortcuts)",
202
+ "Make Display-Stretch Permanent",
203
+ "Masks",
204
+ "Match image levels using Linear Fit",
205
+ "Mid (target 0.40, σ 3)",
206
+ "Morphological Operations...",
207
+ "Mosaic Master...",
208
+ "Multiscale Decomposition...",
209
+ "Multiscale detail/residual decomposition with per-layer controls",
210
+ "NB->RGB Stars...",
211
+ "Neutralize background color balance using a sampled region",
212
+ "New Project",
213
+ "Normal (target 0.30, σ 5)",
214
+ "Open Convolution / Deconvolution",
215
+ "Open SFCC (Pickles + Filters + Sensor QE)",
216
+ "Open Scripts Folder...",
217
+ "Open Scripts Forum (Discord)...",
218
+ "Open User Scripts (GitHub)...",
219
+ "Open image(s)",
220
+ "Open the Curves Editor for the active image",
221
+ "Open the SASpro user scripts folder",
222
+ "Open the Seti Astro Suite Pro online documentation",
223
+ "Open the built-in script editor",
224
+ "Open...",
225
+ "PSF Viewer...",
226
+ "Paste View",
227
+ "Perfect Palette Picker...",
228
+ "Pick the perfect palette for your image",
229
+ "Pixel Math...",
230
+ "Plan targets by altitude, transit time, and lunar separation",
231
+ "Plate Solver...",
232
+ "Presets",
233
+ "RGB Align...",
234
+ "RGB Combination...",
235
+ "RGB Extract",
236
+ "Recombine Luminance...",
237
+ "Redo",
238
+ "Reload Scripts",
239
+ "Remove Active Mask",
240
+ "Remove Gradient (GraXpert)...",
241
+ "Remove Green...",
242
+ "Remove Pedestal",
243
+ "Remove Stars...",
244
+ "Remove the active mask from the active image",
245
+ "Remove those pesky halos around your stars",
246
+ "Replace the active image's luminance from another view",
247
+ "Rescale image by a factor",
248
+ "Rescale...",
249
+ "Rescan the scripts folder and reload .py files",
250
+ "Rotate 180°",
251
+ "Rotate 90° Clockwise",
252
+ "Rotate 90° Counterclockwise",
253
+ "Rotate image 180°",
254
+ "Rotate image 90° clockwise",
255
+ "Rotate image 90° counterclockwise",
256
+ "Run GraXpert background extraction on the active image",
257
+ "Run star removal on the active image",
258
+ "SCNR-style green channel removal.",
259
+ "Save As...",
260
+ "Save Project...",
261
+ "Save all views, histories, and shortcuts to a .sas file",
262
+ "Save the active image",
263
+ "Script Editor...",
264
+ "Selective Color Correction...",
265
+ "Set Sigma...",
266
+ "Set Target Median...",
267
+ "Set the sigma for Display-Stretch (e.g., 5.0)",
268
+ "Set the target median for Display-Stretch (e.g., 0.30)",
269
+ "Show Mask Overlay",
270
+ "Signature / Insert...",
271
+ "Smart Grid",
272
+ "Solve WCS/SIP for the active image or a file",
273
+ "Spectral Flux Color Calibration...",
274
+ "Split into LF/HF and enhance HF (scale, wavelet, denoise)",
275
+ "Split the workspace into equal horizontal rows",
276
+ "Split the workspace into equal vertical columns",
277
+ "Stacking Suite...",
278
+ "Stacking! Darks, Flats, Lights, Calibration, Drizzle, and more!!",
279
+ "Star Stretch...",
280
+ "Star Stuff",
281
+ "Statistical Stretch...",
282
+ "Stellar Alignment...",
283
+ "Stellar Register...",
284
+ "Stretch the image using median/SD statistics",
285
+ "Subtract per-channel minimum.\nClick: active view\nAlt+Drag: drop onto a view",
286
+ "Supernova / Asteroid Hunter...",
287
+ "Tile Horizontally",
288
+ "Tile Vertically",
289
+ "Tile Views",
290
+ "Tile all subwindows",
291
+ "Toggle display auto-stretch for the active window",
292
+ "Toggle hard profile for Display-Stretch (H)",
293
+ "Tools",
294
+ "Undo",
295
+ "View Bundles...",
296
+ "View histogram and basic stats for the active image",
297
+ "View/Edit FITS headers",
298
+ "Wave-scale HDR with luminance-masked starlet",
299
+ "WaveScale Dark Enhancer...",
300
+ "WaveScale HDR...",
301
+ "What's In My Image...",
302
+ "What's In My Sky...",
303
+ "What's In My...",
304
+ "White Balance...",
305
+ "Write a ready-to-edit sample script into the scripts folder",
306
+ "Zoom In",
307
+ "Zoom Out",
308
+ "Zoom in",
309
+ "Zoom out",
310
+ "Zoom to 100% (pixel-for-pixel)"
311
+ ],
312
+ "AstrobinExportTab": [
313
+ " ({0} failed)",
314
+ " — skipped {0} XISF (reader unavailable)",
315
+ "# Subs",
316
+ "(e.g. 4408)",
317
+ "0–9",
318
+ "API Key",
319
+ "API Secret",
320
+ "Accessories",
321
+ "Acquisition details",
322
+ "Add Files…",
323
+ "Add watermark",
324
+ "All selected files are already in the list.",
325
+ "Apply",
326
+ "AstroBin Export",
327
+ "Astrobin Export",
328
+ "Astrobin Filter ID",
329
+ "Astrobin Link",
330
+ "Bandwidth",
331
+ "Bias (#)",
332
+ "Bortle",
333
+ "Bortle scale",
334
+ "Brand",
335
+ "Browse Filters",
336
+ "Browse...",
337
+ "CSV Files (*.csv);;All Files (*)",
338
+ "CSV Load Error",
339
+ "CSV copied to clipboard.",
340
+ "Camera",
341
+ "Catalog CSV loaded.",
342
+ "Clear",
343
+ "Cleared. Load FITS via 'Select Folder…' or 'Add Files…' to begin.",
344
+ "Copied",
345
+ "Copy CSV",
346
+ "Copy to Clipboard",
347
+ "Could not load Astrobin filters: {0}",
348
+ "Could not load equipment CSV: {0}",
349
+ "Could not load filter mapping CSV: {0}",
350
+ "Could not save filter mapping CSV: {0}",
351
+ "Credentials invalid",
352
+ "Credentials valid",
353
+ "Darks (#)",
354
+ "Data source",
355
+ "Deep sky",
356
+ "Description",
357
+ "Enter your AstroBin API key",
358
+ "Enter your AstroBin API secret",
359
+ "Equipment",
360
+ "Error",
361
+ "Export settings",
362
+ "Exposure (s)",
363
+ "Exposure: {0}",
364
+ "FITS Files (*.fits *.fit *.fts);;All Files (*.*)",
365
+ "FITS/XISF (*.fit *.fits *.xisf);;All Files (*)",
366
+ "Failed to load filter mappings: {0}",
367
+ "Failed to save filter mappings: {0}",
368
+ "Files (Object → Filter → Exposure)",
369
+ "Filter",
370
+ "Filter Browser",
371
+ "Filter mappings loaded successfully.",
372
+ "Filter mappings saved successfully.",
373
+ "Filter: {0}",
374
+ "Filters",
375
+ "Filters Found:",
376
+ "Flat-darks (#)",
377
+ "Flats (#)",
378
+ "From active view",
379
+ "From file",
380
+ "Gear",
381
+ "Global inputs (used if FITS headers are missing/zero)",
382
+ "Group nights noon → noon (local time)",
383
+ "ID",
384
+ "Image Information",
385
+ "Image Selection",
386
+ "Image format",
387
+ "Input Files",
388
+ "Integration summary copied!",
389
+ "Load Catalog",
390
+ "Load FITS Headers",
391
+ "Load FITS via 'Select Folder…' or 'Add Files…' to begin.",
392
+ "Load FITS/XISF via 'Select Folder…' or 'Add Files…' to begin.",
393
+ "Load Filter Mappings from CSV",
394
+ "Load Telescope/Camera from CSV",
395
+ "Loaded {0} file(s)",
396
+ "Loaded {0} filters.",
397
+ "Loading filters from Astrobin...",
398
+ "Location",
399
+ "Manage Filter IDs…",
400
+ "Maximum dimension",
401
+ "Mean FWHM",
402
+ "Mean SQM",
403
+ "Mount",
404
+ "Name",
405
+ "No .fit/.fits/.xisf files found.",
406
+ "No FITS files selected.",
407
+ "No Images",
408
+ "No New Files",
409
+ "No integration data to copy.",
410
+ "No mappings set",
411
+ "Noctilucent clouds",
412
+ "Northern lights",
413
+ "Nothing to copy",
414
+ "Object: {0}",
415
+ "Open AstroBin Equipment Explorer (Filters)",
416
+ "Own data",
417
+ "Prevents splitting a single observing night at midnight.",
418
+ "Processing details",
419
+ "Quality",
420
+ "Recompute",
421
+ "Remote source",
422
+ "Resize",
423
+ "SQM value",
424
+ "Save Filter Mapping CSV",
425
+ "Save Filter Mappings to CSV",
426
+ "Save credentials",
427
+ "Search:",
428
+ "Seeing",
429
+ "Select",
430
+ "Select Equipment CSV",
431
+ "Select FITS Files",
432
+ "Select FITS/XISF Files",
433
+ "Select Filter Mapping CSV",
434
+ "Select Folder Containing FITS/XISF Files",
435
+ "Select Folder…",
436
+ "Select image to export",
437
+ "Size",
438
+ "Software",
439
+ "Solar system",
440
+ "Star trails",
441
+ "Subject type",
442
+ "Success",
443
+ "Telescope",
444
+ "Telescope/Camera Selection:",
445
+ "There is no CSV content yet.",
446
+ "Title",
447
+ "Total Frames:",
448
+ "Total Integration Time",
449
+ "Total Integration:",
450
+ "Transparency",
451
+ "Type",
452
+ "Upload",
453
+ "Upload complete",
454
+ "Upload failed",
455
+ "Upload to AstroBin",
456
+ "Uploading...",
457
+ "Validate credentials",
458
+ "View on AstroBin",
459
+ "Watermark",
460
+ "Watermark opacity",
461
+ "Watermark position",
462
+ "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"
489
+ ],
490
+ "AstrobinExporterDialog": [
491
+ "AstroBin Exporter"
492
+ ],
493
+ "BackgroundNeutralizationDialog": [
494
+ "Apply Neutralization",
495
+ "Background Neutralization",
496
+ "Cancel",
497
+ "Enable Auto-Stretch",
498
+ "Find Background"
499
+ ],
500
+ "BatchConvertDialog": [
501
+ "Batch Convert",
502
+ "Bit depth:",
503
+ "Cancel",
504
+ "Output format:",
505
+ "Start"
506
+ ],
507
+ "BatchFITSHeaderDialog": [
508
+ "Add if missing (for Add/Update)",
509
+ "Add/Update",
510
+ "Apply to all HDUs",
511
+ "Batch Complete",
512
+ "Batch Modify FITS Headers",
513
+ "Choose FITS Files…",
514
+ "Close",
515
+ "Comment (optional)",
516
+ "Delete",
517
+ "FITS files (*.fits *.fit *.fts *.fz)",
518
+ "KEYWORD",
519
+ "Missing keyword",
520
+ "No files",
521
+ "No files selected",
522
+ "Please choose one or more FITS files.",
523
+ "Please enter a FITS keyword.",
524
+ "Run",
525
+ "Select FITS files",
526
+ "Updated {0} file(s); {1} error(s).",
527
+ "Value (leave blank for delete)",
528
+ "{0} files selected"
529
+ ],
530
+ "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"
642
+ ],
643
+ "BatchSettingsDialog": [
644
+ "Apply to All",
645
+ "Batch Settings",
646
+ "Bit Depth",
647
+ "Cancel",
648
+ "Exposure Time (seconds):",
649
+ "Filter:",
650
+ "Image Type (IMAGETYP):",
651
+ "OK",
652
+ "Output Format",
653
+ "Set Type, Exposure, and Filter for All Files"
654
+ ],
655
+ "BlemishBlasterDialogPro": [
656
+ "Apply to Document",
657
+ "Auto-stretch preview",
658
+ "Blemish Blaster",
659
+ "Close",
660
+ "Controls",
661
+ "Feather:",
662
+ "Linked color channels",
663
+ "Opacity:",
664
+ "Radius:",
665
+ "Redo",
666
+ "Target median:",
667
+ "Undo"
668
+ ],
669
+ "BlinkComparatorPro": [
670
+ "Blink Comparator"
671
+ ],
672
+ "BlinkTab": [
673
+ "\n\n{0} file(s) could not be renamed:",
674
+ "0 = infinite",
675
+ "Absolute Difference",
676
+ "Add Additional",
677
+ "Add Additional Images",
678
+ "Add Frames",
679
+ "Add Images",
680
+ "Aggressive Stretch",
681
+ "Align images",
682
+ "Aligning frames...",
683
+ "Aligning...",
684
+ "Alignment Method:",
685
+ "Alignment complete",
686
+ "Alignment complete.",
687
+ "Alignment failed",
688
+ "Alignment failed: {0}",
689
+ "All",
690
+ "Apply to All Frames",
691
+ "Are you sure you want to clear all loaded images?",
692
+ "Are you sure you want to permanently delete {0} flagged images? This action is irreversible.",
693
+ "Are you sure you want to permanently delete {0} selected images? This action is irreversible.",
694
+ "Auto Align Frames",
695
+ "Auto Stretch",
696
+ "Auto-align",
697
+ "Auto-stretch",
698
+ "Batch Deletion",
699
+ "Batch Move",
700
+ "Batch Operations",
701
+ "Batch Rename",
702
+ "Batch Rename Selected…",
703
+ "Blink",
704
+ "Blink Comparator",
705
+ "Cancel",
706
+ "Cancel Export",
707
+ "Clear All",
708
+ "Clear All Images",
709
+ "Clear Flags",
710
+ "Clear Images",
711
+ "Clear marks",
712
+ "Confirm Batch Deletion",
713
+ "Confirm Delete",
714
+ "Confirm Deletion",
715
+ "Copy coordinates",
716
+ "Crop All",
717
+ "Crossfade",
718
+ "Current frame",
719
+ "Date",
720
+ "Delay (ms)",
721
+ "Delete All Flagged Images",
722
+ "Delete Flagged",
723
+ "Delete Selected Items",
724
+ "Delete flagged frame(s)?",
725
+ "Deleted {0} flagged images.",
726
+ "Difference Mode",
727
+ "Difference mode",
728
+ "Difference threshold",
729
+ "Doc Manager",
730
+ "DocManager lacks open_array/open_numpy/create_document",
731
+ "DocManager returned no document.",
732
+ "Document Manager",
733
+ "Duplicate Frame",
734
+ "Duration:",
735
+ "Empty image",
736
+ "Enter a prefix or suffix to rename selected files:",
737
+ "Enter new name:",
738
+ "Error",
739
+ "Export",
740
+ "Export All as FITS",
741
+ "Export All as PNG",
742
+ "Export All as TIFF",
743
+ "Export Blink Video",
744
+ "Export Frames",
745
+ "Export GIF",
746
+ "Export Video",
747
+ "Export Video…",
748
+ "Export animation",
749
+ "Export canceled.",
750
+ "Export cancelled.",
751
+ "Export marks",
752
+ "Export only selected frames",
753
+ "Export video",
754
+ "Exporting video...",
755
+ "Exposure: {0}",
756
+ "FITS header",
757
+ "FPS:",
758
+ "Failed to create document:\n{0}",
759
+ "Failed to load frame: {0}",
760
+ "Failed to move {0}: {1}",
761
+ "Failed to open subwindow:\n{0}",
762
+ "Failed to rename the file: {0}",
763
+ "Filename",
764
+ "Filter: {0}",
765
+ "First",
766
+ "First Frame",
767
+ "Fit to Preview",
768
+ "Flag",
769
+ "Flag All",
770
+ "Flag Selected",
771
+ "Flagged frames moved to: {0}",
772
+ "Frame",
773
+ "Frame Rate:",
774
+ "Frame rate",
775
+ "Frame {0} of {1}",
776
+ "Frames exported to: {0}",
777
+ "Frames loaded successfully.",
778
+ "Full Affine",
779
+ "GIF Files (*.gif)",
780
+ "GIF export failed: {0}",
781
+ "GIF exported: {0}",
782
+ "Hide Flagged",
783
+ "Highlight differences",
784
+ "Homography",
785
+ "Image Files",
786
+ "Image Files (*.fits *.fit *.tif *.tiff *.png *.jpg *.jpeg);;All Files (*)",
787
+ "Image info",
788
+ "Images (*.png *.tif *.tiff *.fits *.fit *.xisf *.cr2 *.cr3 *.nef *.arw *.dng *.raf *.orf *.rw2 *.pef);;All Files (*)",
789
+ "Images (*.png *.tif *.tiff *.fits *.fit *.xisf *.cr2 *.nef *.arw *.dng *.raf *.orf *.rw2 *.pef);;All Files (*)",
790
+ "Individual Stretch",
791
+ "Individual stretch",
792
+ "Invert Flags",
793
+ "Invert difference",
794
+ "Last",
795
+ "Last Frame",
796
+ "Link stretch",
797
+ "Linked Stretch",
798
+ "Load images before exporting.",
799
+ "Load some images first.",
800
+ "Loaded {0} images.",
801
+ "Loaded {0} image{1}.",
802
+ "Loading frame {0} of {1}...",
803
+ "Loading frames...",
804
+ "Loading images...",
805
+ "Loading...",
806
+ "Loop",
807
+ "Loop Count:",
808
+ "Main window or DocManager not available.",
809
+ "Manual align",
810
+ "Mark as reference",
811
+ "Mark transient",
812
+ "Move All Flagged Images",
813
+ "Move Down",
814
+ "Move Flagged to Folder",
815
+ "Move Selected Items",
816
+ "Move Up",
817
+ "Moved {0} flagged images.",
818
+ "Next",
819
+ "Next Frame",
820
+ "No Flagged Images",
821
+ "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
+ "No frames loaded.",
829
+ "No frames were written (codec/back-end issue?).",
830
+ "No image is currently selected to flag.",
831
+ "No image loaded. Cannot fit to preview.",
832
+ "No image selected.",
833
+ "No images",
834
+ "No images loaded",
835
+ "No individual frames selected.",
836
+ "No items selected for deletion.",
837
+ "No items selected for moving.",
838
+ "No items selected for renaming.",
839
+ "No new images selected or already loaded.",
840
+ "No new images were selected or all selected images are already loaded.",
841
+ "No prefix entered. This will not change any filenames.\n\nContinue anyway?",
842
+ "No supported image files were found in the selected directory.",
843
+ "Normalize All",
844
+ "Nothing to export.",
845
+ "OK",
846
+ "Object: {0}",
847
+ "Only one frame",
848
+ "Opacity:",
849
+ "Open Images",
850
+ "Open in Document Window",
851
+ "Output Format:",
852
+ "Overlay mode",
853
+ "Pause",
854
+ "Ping Pong",
855
+ "Ping-pong",
856
+ "Play",
857
+ "Playback speed (0.1–10.0 fps)",
858
+ "Prefix",
859
+ "Prefix to add to flagged image filenames:",
860
+ "Press 'F' to flag/unflag an image.\nRight-click on an image for more options.",
861
+ "Previous",
862
+ "Previous Frame",
863
+ "Quality",
864
+ "Quality:",
865
+ "Reference Frame",
866
+ "Remove Image",
867
+ "Remove Selected",
868
+ "Rename",
869
+ "Rename Flagged Images",
870
+ "Rename Flagged Images…",
871
+ "Rename Image",
872
+ "Rename flagged images",
873
+ "Renamed {0} flagged image{1}.",
874
+ "Rendering video…",
875
+ "Reset Stretch",
876
+ "Reset alignment",
877
+ "Resolution",
878
+ "Reverse Order",
879
+ "Rotate All",
880
+ "Save All",
881
+ "Save GIF",
882
+ "Save Video",
883
+ "Saved: {0}\nFrames: {1} @ {2} fps",
884
+ "Search transients",
885
+ "Searching...",
886
+ "Select Destination Folder",
887
+ "Select Directory",
888
+ "Select Frames",
889
+ "Select Images",
890
+ "Select Output Folder",
891
+ "Send selected (or all) blink files to the Stacking Suite → Image Integration tab",
892
+ "Send selected (or all) blink files to the Stacking Suite → Light tab",
893
+ "Send to Stacking → Integration",
894
+ "Send to Stacking → Lights",
895
+ "Set as Reference",
896
+ "Show Difference",
897
+ "Show Flagged Only",
898
+ "Show Metrics",
899
+ "Show crosshair",
900
+ "Show filename",
901
+ "Show grid",
902
+ "Show histogram",
903
+ "Show timestamp",
904
+ "Side by side",
905
+ "Signed Difference",
906
+ "Single pass",
907
+ "Size:",
908
+ "Sort by Date",
909
+ "Sort by Name",
910
+ "Speed",
911
+ "Speed:",
912
+ "Stop",
913
+ "Suffix",
914
+ "Sync pan",
915
+ "Sync zoom",
916
+ "There are no flagged images to delete.",
917
+ "There are no flagged images to move.",
918
+ "There are no flagged images to rename.",
919
+ "There are no images to send.",
920
+ "Total frames",
921
+ "Transients found",
922
+ "Translation + Rotation",
923
+ "Translation Only",
924
+ "UI",
925
+ "Unflag All",
926
+ "Unflag Selected",
927
+ "Unsupported Bayer pattern: {0}",
928
+ "Video (*.mp4 *.avi)",
929
+ "Video Codec:",
930
+ "Video Export (optional)",
931
+ "Video Files (*.mp4 *.avi *.mov)",
932
+ "Video Options",
933
+ "Video export failed: {0}",
934
+ "Video exported: {0}",
935
+ "Warning",
936
+ "You're about to export a video with a single frame. Continue?",
937
+ "Zoom 100%",
938
+ "Zoom In",
939
+ "Zoom Out",
940
+ "Zoom to fit",
941
+ "{0} frames",
942
+ "{0} frames deleted.",
943
+ "→ Stacking: Integration",
944
+ "→ Stacking: Lights"
945
+ ],
946
+ "CLAHEDialogPro": [
947
+ "Apply",
948
+ "CLAHE",
949
+ "CLAHE Parameters",
950
+ "Cancel",
951
+ "Clip Limit:",
952
+ "Reset",
953
+ "Tile Size (px):"
954
+ ],
955
+ "CheatSheet": [
956
+ "Action",
957
+ "Menus/Toolbar",
958
+ "Shortcut",
959
+ "Window"
960
+ ],
961
+ "CheatSheetDialog": [
962
+ "Action",
963
+ "Additional & Mouse & Drag",
964
+ "Base Keyboard",
965
+ "Cheat sheet copied to clipboard.",
966
+ "Close",
967
+ "Context",
968
+ "Copied",
969
+ "Copy",
970
+ "Effect",
971
+ "Gesture",
972
+ "Keyboard Shortcut Cheat Sheet",
973
+ "Shortcut",
974
+ "Where"
975
+ ],
976
+ "ContinuumSubtractTab": [
977
+ "Clear Loaded Images",
978
+ "Continuum Sources",
979
+ "Denoise continuum result with Cosmic Clarity (0.9)",
980
+ "Execute",
981
+ "Narrowband Filters",
982
+ "Output Linear Image Only",
983
+ "Star-Based WB"
984
+ ],
985
+ "ConvoDeconvoDialog": [
986
+ "Close",
987
+ "Convolution",
988
+ "Convolution / Deconvolution",
989
+ "Deconvolution",
990
+ "PSF Estimator",
991
+ "Preview",
992
+ "Push",
993
+ "TV Denoise",
994
+ "Undo"
995
+ ],
996
+ "CosmicClarityDialogPro": [
997
+ "Close",
998
+ "Cosmic Clarity",
999
+ "Execute",
1000
+ "Mode:",
1001
+ "No",
1002
+ "Parameters",
1003
+ "Use GPU:",
1004
+ "Yes"
1005
+ ],
1006
+ "CrashHandler": [
1007
+ "Details are available below and in saspro.log.",
1008
+ "Unhandled Exception",
1009
+ "Unhandled Thread Exception"
1010
+ ],
1011
+ "CropDialogPro": [
1012
+ "Applied crop to all open images. Any Astrometric Solutions has been updated.",
1013
+ "Apply",
1014
+ "Apply failed",
1015
+ "Apply this crop to {0} open image(s)?",
1016
+ "Aspect Ratio:",
1017
+ "Astrometric solution updated ✔️\n\n",
1018
+ "Batch Crop",
1019
+ "Batch Crop (all open)",
1020
+ "Bottom",
1021
+ "CRVAL: ({0:.6f}, {1:.6f}) → ({2:.6f}, {3:.6f})\n",
1022
+ "Close",
1023
+ "Confirm Batch",
1024
+ "Crop Tool",
1025
+ "Draw & finalize a crop first.",
1026
+ "Fit residuals: RMS {0:.3f}\" (p95 {1:.3f}\")",
1027
+ "Fit to View",
1028
+ "Free",
1029
+ "Invalid crop bounds.",
1030
+ "Invalid crop size.",
1031
+ "Left",
1032
+ "Load Previous Crop",
1033
+ "Margins (px):",
1034
+ "Model: {0} Image: {1}\n",
1035
+ "No Images",
1036
+ "No Previous",
1037
+ "No Selection",
1038
+ "No open images to crop.",
1039
+ "No previous crop stored.",
1040
+ "Original",
1041
+ "Right",
1042
+ "Selection: {0}×{1} px",
1043
+ "Selection: —",
1044
+ "Toggle Autostretch",
1045
+ "Top",
1046
+ "WCS Updated",
1047
+ "Zoom 100%",
1048
+ "Zoom In",
1049
+ "Zoom Out",
1050
+ "• Click–drag to draw a crop\n• Drag corner handles to resize\n• Shift + drag on box to rotate"
1051
+ ],
1052
+ "CurveEditor": [
1053
+ "Inflection @ K={0:.3f}"
1054
+ ],
1055
+ "CurvesDialogPro": [
1056
+ "Apply to Document",
1057
+ "Curves Editor",
1058
+ "Manage…",
1059
+ "Presets",
1060
+ "Reset",
1061
+ "Save as Preset...",
1062
+ "Toggle Preview"
1063
+ ],
1064
+ "DSEWorker": [
1065
+ "Analyzing dark structure…",
1066
+ "Finalizing…"
1067
+ ],
1068
+ "DebayerDialog": [
1069
+ "Bayer pattern",
1070
+ "Debayer",
1071
+ "Method"
1072
+ ],
1073
+ "DistortionGridDialog": [
1074
+ "Astrometric Distortion & Histogram",
1075
+ "Astrometric Distortion Grid",
1076
+ "Close",
1077
+ "Distortion",
1078
+ "Distortion (″)",
1079
+ "Not enough stars found.",
1080
+ "Number of stars",
1081
+ "Residual histogram"
1082
+ ],
1083
+ "DockMixin": [
1084
+ "Console / Status",
1085
+ "Explorer",
1086
+ "Show System Log Panel",
1087
+ "System Log"
1088
+ ],
1089
+ "ExoPlanetWindow": [
1090
+ "1: Load Raw Subs…",
1091
+ "1a: Calibrate && Align Subs",
1092
+ "2: Measure && Photometry",
1093
+ "Aligned Subs",
1094
+ "Exoplanet Transit Detector",
1095
+ "Load Master Dark…",
1096
+ "Load Master Flat…",
1097
+ "Load, Measure && Photometry…",
1098
+ "Mode:",
1099
+ "Raw Subs"
1100
+ ],
1101
+ "FITSModifier": [
1102
+ "(no file)",
1103
+ "Add/Update",
1104
+ "Apply add/update/delete to all HDUs",
1105
+ "Batch Modify...",
1106
+ "Comment",
1107
+ "Comment (optional)",
1108
+ "Could not save:\n{0}",
1109
+ "Delete Selected",
1110
+ "FITS (*.fits *.fit);;TIFF (*.tif *.tiff);;PNG (*.png);;JPEG (*.jpg *.jpeg);;XISF (*.xisf)",
1111
+ "FITS Header Editor",
1112
+ "FITS files (*.fits *.fit *.fts *.fz)",
1113
+ "File:",
1114
+ "HDU:",
1115
+ "Invalid FITS",
1116
+ "KEYWORD",
1117
+ "Keyword",
1118
+ "No Image",
1119
+ "No active image/document to save.",
1120
+ "Open FITS",
1121
+ "Open FITS…",
1122
+ "Reload",
1123
+ "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.",
1130
+ "Value"
1131
+ ],
1132
+ "FileMixin": [
1133
+ "Failed to save:\n{e}",
1134
+ "Failed to save:\n{msg}",
1135
+ "File not found",
1136
+ "Load Project",
1137
+ "New Project",
1138
+ "No documents to save.",
1139
+ "Open Images",
1140
+ "Open failed",
1141
+ "Project not found",
1142
+ "Save As",
1143
+ "Save Project",
1144
+ "Save failed",
1145
+ "Saving",
1146
+ "Saving project...",
1147
+ "Start a new project? This closes all views and clears desktop shortcuts.",
1148
+ "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?"
1150
+ ],
1151
+ "FilterIdDialog": [
1152
+ "Add row",
1153
+ "AstroBin Filter IDs",
1154
+ "AstroBin ID",
1155
+ "Brand",
1156
+ "CSV files (*.csv);;All files (*)",
1157
+ "Delete selected",
1158
+ "Edit filter names and their AstroBin numeric IDs.",
1159
+ "Filter name",
1160
+ "ID",
1161
+ "Load offline DB…",
1162
+ "Name",
1163
+ "No DB",
1164
+ "Offline filters database not loaded yet.",
1165
+ "Open AstroBin Equipment Explorer (Filters)",
1166
+ "Search AstroBin Filters (offline)",
1167
+ "Search ID, brand, or name…",
1168
+ "Search offline DB…",
1169
+ "Search or load the offline filters database.",
1170
+ "Select AstroBin Filters CSV"
1171
+ ],
1172
+ "FrequencySeperationTab": [
1173
+ "<b>HF Enhancements</b>",
1174
+ "Apply - Split HF & LF",
1175
+ "Apply HF Enhancements",
1176
+ "Combine HF+LF -> Push",
1177
+ "Enable HF Denoise",
1178
+ "Enable Sharpen Scale",
1179
+ "Enable Wavelet Sharpening",
1180
+ "Method:",
1181
+ "Push HF",
1182
+ "Push LF"
1183
+ ],
1184
+ "GeometryMixin": [
1185
+ "Active view has no image.",
1186
+ "Enter scaling factor (e.g., 0.5 for 50%, 2 for 200%):",
1187
+ "Flip Horizontal",
1188
+ "Flip Vertical",
1189
+ "Invert",
1190
+ "Rescale Image",
1191
+ "Rotate 180°",
1192
+ "Rotate 90° CCW",
1193
+ "Rotate 90° CW"
1194
+ ],
1195
+ "GhsDialogPro": [
1196
+ "Open a Histogram for this image.\nCtrl+Click on the histogram to set the GHS pivot."
1197
+ ],
1198
+ "GlimrDialog": [
1199
+ "Allow higher harmonics",
1200
+ "Auto-detect center",
1201
+ "Center",
1202
+ "Clip iterations",
1203
+ "Create mask",
1204
+ "Create model",
1205
+ "Ellipticity",
1206
+ "Ellipticity profile",
1207
+ "Error",
1208
+ "Export",
1209
+ "Export model",
1210
+ "Export residuals",
1211
+ "Export table",
1212
+ "Fit isophotes",
1213
+ "Fitting complete",
1214
+ "Fitting failed",
1215
+ "Fitting parameters",
1216
+ "Fitting...",
1217
+ "Fix center",
1218
+ "Fix ellipticity",
1219
+ "Fix position angle",
1220
+ "GLIMR",
1221
+ "GLIMR - Galaxy Isophote Modeler",
1222
+ "Geometry",
1223
+ "Intensity",
1224
+ "Isophote Fitting",
1225
+ "Isophote table",
1226
+ "Linear step",
1227
+ "Logarithmic step",
1228
+ "Manual center",
1229
+ "Masking",
1230
+ "Maximum radius",
1231
+ "Minimum radius",
1232
+ "Model",
1233
+ "Pick center",
1234
+ "Plot results",
1235
+ "Position angle",
1236
+ "Position angle profile",
1237
+ "Results",
1238
+ "Semi-major axis",
1239
+ "Show residuals",
1240
+ "Sigma clipping",
1241
+ "Step size",
1242
+ "Subtract model",
1243
+ "Surface brightness profile",
1244
+ "Use mask",
1245
+ "X",
1246
+ "Y"
1247
+ ],
1248
+ "HeaderMixin": [
1249
+ "Comment",
1250
+ "Header",
1251
+ "Key",
1252
+ "No header",
1253
+ "No image",
1254
+ "Value"
1255
+ ],
1256
+ "HeaderViewerDock": [
1257
+ "CSV (*.csv)",
1258
+ "FITS Header",
1259
+ "Failed to save:\n{0}",
1260
+ "Header (dict from document)",
1261
+ "Header (snapshot)",
1262
+ "Header Viewer",
1263
+ "Header: {0}",
1264
+ "Key",
1265
+ "Metadata",
1266
+ "Save Metadata",
1267
+ "Save Metadata…",
1268
+ "Untitled",
1269
+ "Value",
1270
+ "WCS",
1271
+ "XISF File Metadata",
1272
+ "XISF Image Metadata",
1273
+ "XISF Properties",
1274
+ "XISF Properties (document)"
1275
+ ],
1276
+ "HistogramDialog": [
1277
+ "Set your camera's true saturation level for clipping warnings.\nTip: take an overexposed frame and see its max ADU."
1278
+ ],
1279
+ "HistoryExplorer": [
1280
+ "Action",
1281
+ "Clear history",
1282
+ "Compare with current",
1283
+ "Create snapshot",
1284
+ "Current state",
1285
+ "Delete snapshot",
1286
+ "History",
1287
+ "History Explorer",
1288
+ "Load snapshot",
1289
+ "Modified",
1290
+ "No history available",
1291
+ "Original",
1292
+ "Redo",
1293
+ "Restore this state",
1294
+ "Snapshot",
1295
+ "Snapshots",
1296
+ "Step",
1297
+ "Timestamp",
1298
+ "Undo"
1299
+ ],
1300
+ "ImagePeekerDialogPro": [
1301
+ "ASTAP/Astrometry failed:\n{0}",
1302
+ "Analysis:",
1303
+ "Aperture (mm):",
1304
+ "Astrometric Distortion Analysis",
1305
+ "Cannot determine pixel scale.",
1306
+ "Choose separation color",
1307
+ "Eccentricity Map",
1308
+ "Exit without Saving",
1309
+ "FWHM Heatmap",
1310
+ "Focal Plane Analysis",
1311
+ "Focal length (mm):",
1312
+ "Grid parameters",
1313
+ "Grid size:",
1314
+ "Image Peeker",
1315
+ "No Distortion Model",
1316
+ "No image",
1317
+ "No image loaded to peek at!",
1318
+ "None",
1319
+ "Orientation Map",
1320
+ "Panel size:",
1321
+ "Pixel size (µm):",
1322
+ "Plate Solve",
1323
+ "Plate solve did not produce a readable WCS header.",
1324
+ "Processing…",
1325
+ "Running {0}…",
1326
+ "Save Settings && Exit",
1327
+ "Sensor Tilt (µm)",
1328
+ "Separation:",
1329
+ "This image has a valid WCS, but no SIP distortion terms (A_*, B_*).\nAstrometric distortion analysis requires a SIP-enabled solve.\n\nRe-solve with distortion fitting enabled in ASTAP.",
1330
+ "Tilt Analysis",
1331
+ "WCS Error"
1332
+ ],
1333
+ "ImagePreviewDialog": [
1334
+ "1:1 (100%)",
1335
+ "AutoStretch (Off)",
1336
+ "AutoStretch (On)",
1337
+ "Fit to Preview",
1338
+ "Image Preview",
1339
+ "Toggle AutoStretch",
1340
+ "Zoom In",
1341
+ "Zoom Out"
1342
+ ],
1343
+ "ImageSubWindow": [
1344
+ "Clear View Name (use doc name)",
1345
+ "Click: replay the last action on the base image.\nArrow: pick a specific past action to replay on the base image.",
1346
+ "Close Image?",
1347
+ "Create Preview (drag rectangle)",
1348
+ "Create Preview: click, then drag on the image to define a preview rectangle.",
1349
+ "Drag onto another window to copy zoom/pan.\nDouble-click to duplicate this view.",
1350
+ "Full",
1351
+ "New document name:",
1352
+ "New view name:",
1353
+ "Press Space + Click/Drag to probe pixels (WCS shown if available)",
1354
+ "Preview mode: drag a rectangle on the image to create a preview.",
1355
+ "Preview {0} ({1}×{2})",
1356
+ "Redo (this view)",
1357
+ "Rename Document",
1358
+ "Rename Document…",
1359
+ "Rename View",
1360
+ "Rename View… (F2)",
1361
+ "Send to Shelf",
1362
+ "Show pixel/WCS readout hint",
1363
+ "This image has edits that aren't applied/saved.\nClose anyway?",
1364
+ "This image has edits that aren’t applied/saved.\nClose anyway?",
1365
+ "Toggle WCS grid overlay (if WCS exists)",
1366
+ "Undo (this view)",
1367
+ "Unlink from Linked Views",
1368
+ "Untitled",
1369
+ "View"
1370
+ ],
1371
+ "LivePreviewDialog": [
1372
+ "Live Mask Preview"
1373
+ ],
1374
+ "Main": [
1375
+ "An unexpected error occurred.",
1376
+ "Application Error"
1377
+ ],
1378
+ "MaskCreationDialog": [
1379
+ "Edge Blur (px):",
1380
+ "Ellipse",
1381
+ "Freehand",
1382
+ "Mask Creation",
1383
+ "Select Entire Image"
1384
+ ],
1385
+ "MaskMixin": [
1386
+ "Choose Mask Image",
1387
+ "Could not resolve mask document.",
1388
+ "Mask",
1389
+ "Mask Overlay",
1390
+ "No active document.",
1391
+ "No active mask on this image.",
1392
+ "No active mask to remove.",
1393
+ "No image",
1394
+ "Open an image first.",
1395
+ "Open another image to use as a mask.",
1396
+ "Use this image as mask:"
1397
+ ],
1398
+ "MaskPreviewDialog": [
1399
+ "Mask Preview",
1400
+ "Push as New Document…"
1401
+ ],
1402
+ "MenuMixin": [
1403
+ "&About",
1404
+ "&Edit",
1405
+ "&File",
1406
+ "&Functions",
1407
+ "&Geometry",
1408
+ "&Header Mods && Misc",
1409
+ "&History",
1410
+ "&Masks",
1411
+ "&Scripts",
1412
+ "&Settings",
1413
+ "&Shortcuts",
1414
+ "&Smart Tools",
1415
+ "&Star Stuff",
1416
+ "&Tools",
1417
+ "&View",
1418
+ "&What's In My...",
1419
+ "About...",
1420
+ "Clear All Shortcuts",
1421
+ "Clear List",
1422
+ "Export Shortcuts...",
1423
+ "Group A",
1424
+ "Group B",
1425
+ "Group C",
1426
+ "Group D",
1427
+ "Import Shortcuts...",
1428
+ "Keyboard Shortcut Cheat Sheet...",
1429
+ "No recent images",
1430
+ "No recent projects",
1431
+ "None",
1432
+ "Open Recent Images",
1433
+ "Open Recent Projects",
1434
+ "Preferences..."
1435
+ ],
1436
+ "MetricsPanel": [
1437
+ "Background",
1438
+ "Cancel",
1439
+ "Computing frame metrics…",
1440
+ "Don't show again",
1441
+ "Eccentricity",
1442
+ "FWHM (px)",
1443
+ "Heads-up",
1444
+ "Star Count",
1445
+ "This is going to use ALL your CPU cores and the UI may lock up until it finishes.\n\nContinue?"
1446
+ ],
1447
+ "MetricsWindow": [
1448
+ "All",
1449
+ "Flagged Items {0}/{1} ({2:.1f}%)",
1450
+ "Frame Metrics",
1451
+ "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
+ ],
1453
+ "MinorBodyWorker": [
1454
+ "Minor-body search: preparing catalog query..."
1455
+ ],
1456
+ "MorphologyDialogPro": [
1457
+ "Apply",
1458
+ "Cancel",
1459
+ "Iterations:",
1460
+ "Kernel size:",
1461
+ "Morphological Operations",
1462
+ "Morphological Parameters",
1463
+ "Operation:",
1464
+ "Reset"
1465
+ ],
1466
+ "PixelMathDialog": [
1467
+ "Add blend",
1468
+ "Available views",
1469
+ "Average",
1470
+ "Clear",
1471
+ "Color",
1472
+ "Create new image",
1473
+ "Difference",
1474
+ "Division by zero",
1475
+ "Enter expression",
1476
+ "Evaluate",
1477
+ "Expression",
1478
+ "Functions",
1479
+ "History",
1480
+ "Insert function",
1481
+ "Insert variable",
1482
+ "Invalid expression",
1483
+ "Load expression",
1484
+ "Logical",
1485
+ "Luminance mask",
1486
+ "Mathematical",
1487
+ "Maximum",
1488
+ "Minimum",
1489
+ "Multiply blend",
1490
+ "Output",
1491
+ "Pixel Math",
1492
+ "Presets",
1493
+ "Preview",
1494
+ "Range mask",
1495
+ "Replace active image",
1496
+ "Result",
1497
+ "Save expression",
1498
+ "Screen blend",
1499
+ "Star mask",
1500
+ "Statistical",
1501
+ "Subtract blend",
1502
+ "Syntax error",
1503
+ "Variable not found",
1504
+ "Variables"
1505
+ ],
1506
+ "PlateSolver": [
1507
+ "ASTAP path is not set (see Preferences) or file not found.",
1508
+ "ASTAP returned a non-zero exit code.",
1509
+ "ASTAP timed out.",
1510
+ "Active document has no image data.",
1511
+ "Astrometry.net API Key",
1512
+ "Astrometry.net calibration not received in time.",
1513
+ "Astrometry.net job ID not received in time.",
1514
+ "Astrometry.net login failed.",
1515
+ "Astrometry.net upload failed.",
1516
+ "Enter your Astrometry.net API key:",
1517
+ "Failed to start ASTAP: {0}",
1518
+ "No active document to plate-solve.",
1519
+ "Status:",
1520
+ "Status: ASTAP failed ({0}). Falling back to Astrometry.net…",
1521
+ "Status: ASTAP failed to start.",
1522
+ "Status: ASTAP solving…",
1523
+ "Status: ASTAP timed out.",
1524
+ "Status: Astrometry.net failed ({0}).",
1525
+ "Status: Building WCS header from calibration…",
1526
+ "Status: Downloading WCS file (with SIP) from Astrometry.net…",
1527
+ "Status: Job assigned (ID {0}).",
1528
+ "Status: Logging in to Astrometry.net…",
1529
+ "Status: Login canceled (no API key).",
1530
+ "Status: Login failed.",
1531
+ "Status: Login successful.",
1532
+ "Status: Plate solve completed.",
1533
+ "Status: Preparing full-res 16-bit FITS for web solve…",
1534
+ "Status: Preparing plate solve…",
1535
+ "Status: Running local solve-field…",
1536
+ "Status: Solution received.",
1537
+ "Status: Solved via Astrometry.net.",
1538
+ "Status: Solved with ASTAP.",
1539
+ "Status: Solving with ASTAP…",
1540
+ "Status: Upload complete.",
1541
+ "Status: Upload failed (temp FITS empty).",
1542
+ "Status: Upload failed.",
1543
+ "Status: Uploading image to Astrometry.net…",
1544
+ "Status: Waiting for job assignment…",
1545
+ "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
+ "Status: {0} retry {1}/{2}…",
1552
+ "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."
1556
+ ],
1557
+ "PlateSolverDialog": [
1558
+ " ✔ saved: ",
1559
+ " ❌ Failed to load",
1560
+ " ❌ error: ",
1561
+ "ASTAP -fov. Compute uses image height × scale; Auto lets ASTAP infer.",
1562
+ "ASTAP -r. Auto lets ASTAP choose; Value forces a cone radius.",
1563
+ "ASTAP path missing.\nSet it in Preferences → ASTAP executable.",
1564
+ "ASTAP path missing. Set Preferences → ASTAP executable.",
1565
+ "Active View",
1566
+ "Auto (-fov 0)",
1567
+ "Auto (-r 0)",
1568
+ "Auto (from header)",
1569
+ "Batch",
1570
+ "Batch plate solving completed.",
1571
+ "Browse Input…",
1572
+ "Browse Output…",
1573
+ "Browse…",
1574
+ "Cannot read image:\n{0}",
1575
+ "Choose Image",
1576
+ "Choose a file to solve.",
1577
+ "Choose an image…",
1578
+ "Choose input directory",
1579
+ "Choose output directory",
1580
+ "Close",
1581
+ "Compute from scale",
1582
+ "Dec (e.g. +40:42:43 or 40.7123)",
1583
+ "FITS files (*.fits *.fit)",
1584
+ "FOV:",
1585
+ "Failed to save: {0}",
1586
+ "File",
1587
+ "Found {0} files. Starting batch…",
1588
+ "Images (*.fits *.fit *.xisf *.tif *.tiff *.png *.jpg *.jpeg);;All files (*)",
1589
+ "Input directory",
1590
+ "Manual",
1591
+ "Manual RA/Dec/Scale:",
1592
+ "Mode:",
1593
+ "No acceptable image files found.",
1594
+ "No active image view.",
1595
+ "None (blind)",
1596
+ "Output directory",
1597
+ "Pixel scale in arcseconds/pixel (e.g., 1.46).",
1598
+ "Plate Solver",
1599
+ "Please choose a valid input directory.",
1600
+ "Please choose a valid output directory.",
1601
+ "RA (e.g. 22:32:14 or 338.1385)",
1602
+ "Save Error",
1603
+ "Save Plate-Solved FITS",
1604
+ "Scale [\" / px] (e.g. 1.46)",
1605
+ "Search radius:",
1606
+ "Seed mode:",
1607
+ "Seeding & Constraints",
1608
+ "Selected file does not exist.",
1609
+ "Solve the currently active image view.",
1610
+ "Solved (not saved).",
1611
+ "Solved FITS saved:\n{0}",
1612
+ "Solved with ASTAP (WCS + SIP applied to active doc).",
1613
+ "Start",
1614
+ "Status:",
1615
+ "Unsupported or unreadable image.",
1616
+ "Use FITS header, your manual RA/Dec/scale, or blind solve.",
1617
+ "Value (deg)",
1618
+ "e.g. 1.80",
1619
+ "e.g. 5.0"
1620
+ ],
1621
+ "PreviewPane": [
1622
+ "AutoStretch",
1623
+ "Fit to Preview",
1624
+ "Zoom In",
1625
+ "Zoom Out"
1626
+ ],
1627
+ "RGBAlignDialog": [
1628
+ "Align",
1629
+ "Alignment model:",
1630
+ "Close",
1631
+ "Create new document (keep original)",
1632
+ "RGB Align",
1633
+ "SEP sigma:",
1634
+ "Trial detect stars"
1635
+ ],
1636
+ "RGBCombinationDialogPro": [
1637
+ "Blue:",
1638
+ "Blue: Not selected",
1639
+ "Cancel",
1640
+ "Combine",
1641
+ "Files",
1642
+ "Green:",
1643
+ "Green: Not selected",
1644
+ "Load Blue…",
1645
+ "Load Green…",
1646
+ "Load Individual Files",
1647
+ "Load Red…",
1648
+ "RGB Combination",
1649
+ "Red:",
1650
+ "Red: Not selected",
1651
+ "Select Open Views for R / G / B",
1652
+ "Select RGB Combination Mode",
1653
+ "Use Open Views"
1654
+ ],
1655
+ "ReferenceFrameReviewDialog": [
1656
+ "Cancel",
1657
+ "Disable Autostretch",
1658
+ "Enable Autostretch",
1659
+ "Error",
1660
+ "FITS Files (*.fits *.fit);;All Files (*)",
1661
+ "Failed to load the reference image.",
1662
+ "Reference Frame Review",
1663
+ "Reference Preview",
1664
+ "Reference image not loaded.",
1665
+ "Select New Reference Frame",
1666
+ "Unable to load preview.",
1667
+ "Use This Reference Frame",
1668
+ "Zoom In",
1669
+ "Zoom Out"
1670
+ ],
1671
+ "ReferenceOverlayDialog": [
1672
+ "Reference Frame: Stars Overlay"
1673
+ ],
1674
+ "RemoveGreenDialog": [
1675
+ "Apply",
1676
+ "Cancel",
1677
+ "Neutral mode:",
1678
+ "Preserve lightness",
1679
+ "Remove Green (SCNR)",
1680
+ "Select the amount to remove green noise:"
1681
+ ],
1682
+ "SaveOptionsDialog": [
1683
+ "Cancel",
1684
+ "Choose bit depth for export:",
1685
+ "OK",
1686
+ "Save Options"
1687
+ ],
1688
+ "SelectiveColorCorrection": [
1689
+ "Complementary colors (CMY)",
1690
+ "Luminance, Chroma/Saturation, Contrast",
1691
+ "Mask",
1692
+ "RGB Colors",
1693
+ "Selective Color Correction"
1694
+ ],
1695
+ "SettingsDialog": [
1696
+ "ASTAP executable:",
1697
+ "Astrometry.net API key:",
1698
+ "Check Now…",
1699
+ "Choose Background…",
1700
+ "Clear",
1701
+ "Compute autostretch on a 16-bit histogram (smoother gradients).",
1702
+ "Cosmic Clarity folder:",
1703
+ "Customize…",
1704
+ "Edit custom colors and font",
1705
+ "GraXpert executable:",
1706
+ "High-quality autostretch (16-bit; better gradients)",
1707
+ "Pick a PNG or JPG to use as the application background",
1708
+ "Remove custom background and restore default",
1709
+ "Restore default updates URL",
1710
+ "Run an update check immediately",
1711
+ "Save desktop shortcuts on exit",
1712
+ "StarNet executable:",
1713
+ "English",
1714
+ "French",
1715
+ "Italian",
1716
+ "Spanish",
1717
+ "Chinese",
1718
+ "German",
1719
+ "Portuguese",
1720
+ "Japanese",
1721
+ "Language:",
1722
+ "Theme:",
1723
+ "Restart required",
1724
+ "The application will now restart to apply the language change."
1725
+ ],
1726
+ "SignatureInsertDialogPro": [
1727
+ "Signature / Insert"
1728
+ ],
1729
+ "Splash": [
1730
+ " • Build {0}",
1731
+ " • Running locally from source code",
1732
+ "Building main window...",
1733
+ "Configuring Qt message handler...",
1734
+ "Configuring matplotlib...",
1735
+ "Configuring multiprocessing...",
1736
+ "Creating image manager...",
1737
+ "Initializing Python runtime...",
1738
+ "Installing crash handlers...",
1739
+ "Loading MDI widgets...",
1740
+ "Loading NumPy...",
1741
+ "Loading OpenCV...",
1742
+ "Loading PyQt6 components...",
1743
+ "Loading PyTorch runtime...",
1744
+ "Loading UI utilities...",
1745
+ "Loading image libraries...",
1746
+ "Loading image manager...",
1747
+ "Loading main window module...",
1748
+ "Loading reproject library...",
1749
+ "Loading resources...",
1750
+ "Loading standard libraries...",
1751
+ "Modules loaded, finalizing...",
1752
+ "Ready!",
1753
+ "Setting up logging...",
1754
+ "Showing main window...",
1755
+ "Starting...",
1756
+ "Suppressing warnings...",
1757
+ "Version {0}"
1758
+ ],
1759
+ "StackingSuiteDialog": [
1760
+ "\n\n(Comet Star Removal is currently OFF in Settings.)",
1761
+ "\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
+ "\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.",
1764
+ " ✓ [{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
+ " bbox(ref)→reg: ({0:.1f},{1:.1f}) to ({2:.1f},{3:.1f}); canvas {4}×{5} @ {6}×",
1768
+ " originals needed (sample): {0}",
1769
+ " sasd FILEs (sample): {0}",
1770
+ " • Tile source: STARLESS (pre-aligned)",
1771
+ " ↳ Integration done in {0:.1f}s.",
1772
+ " ⚠️ Starless reader path mismatch at i={0}; got {1}, expected {2}. Using index order.",
1773
+ " • {0} → {1}",
1774
+ " ↳ tile {0} done in {1:.3f}s (~{2:.1f} MPx/s)",
1775
+ " ◦ DarkStar comet star removal…",
1776
+ " ◦ StarNet comet star removal…",
1777
+ " ◦ applying rejection algorithm: {0}",
1778
+ " ◦ seed xy={0:.1f},{1:.1f} within {2}×{3}? {4}",
1779
+ " ◦ seeding first registered frame with _comet_ref_xy",
1780
+ " ◦ user cancelled or no edits — using auto centroids",
1781
+ " ◦ user confirmed/edited {0} centroids",
1782
+ " ◦ using user seed on {0}",
1783
+ " ⚠️ comet preview skipped: no worker emitter present",
1784
+ " ⚠️ comet preview skipped: {0!r}",
1785
+ " ⚠️ comet preview unavailable (no UI target)",
1786
+ " ⚠️ star removal failed on {0}: {1}",
1787
+ " ⚠️ user seed: no affine for that registered file",
1788
+ " ❌ {0}",
1789
+ " (repaired {0})",
1790
+ " + CFA",
1791
+ " + drizzle",
1792
+ " [GPU]",
1793
+ "'Luma' deconvolves luminance only; 'PerChannel' runs on RGB independently.",
1794
+ "(<0 = scale×RMS, >0 = absolute Δ)",
1795
+ "(fallback)",
1796
+ "(score={0:.4f})",
1797
+ "**Frame Weights Debug Log:**",
1798
+ "1 file · {0}",
1799
+ "16-bit unsigned",
1800
+ "1× (native)",
1801
+ "2× (super-resolution)",
1802
+ "32-bit float",
1803
+ "3× (extreme)",
1804
+ "64-bit float",
1805
+ "64-bit uses ~2× RAM; 32-bit is faster/lighter.",
1806
+ "ABE Mode:",
1807
+ "AHD",
1808
+ "AIRMASS",
1809
+ "APTDIA",
1810
+ "About CUDA",
1811
+ "Acceleration",
1812
+ "Accept max shift (px):",
1813
+ "Accept tolerance (px):",
1814
+ "Accurate (3 passes)",
1815
+ "Accurate (Star Matching)",
1816
+ "Add Bias Frames",
1817
+ "Add Conversion Directory",
1818
+ "Add Conversion Files",
1819
+ "Add Dark Directory",
1820
+ "Add Dark Files",
1821
+ "Add Dark Frames",
1822
+ "Add Files...",
1823
+ "Add Flat Directory",
1824
+ "Add Flat Files",
1825
+ "Add Flat Frames",
1826
+ "Add Folder...",
1827
+ "Add Light Directory",
1828
+ "Add Light Files",
1829
+ "Add Light Frames",
1830
+ "Add files to the stacking queue",
1831
+ "Add to {0} tab",
1832
+ "Added {0}/{1} Light frames",
1833
+ "Adding Blink files to Image Integration…",
1834
+ "Adding Blink files to Light tab…",
1835
+ "Adding {0} Files…",
1836
+ "Adding {0} from Directory…",
1837
+ "Additive",
1838
+ "Additive with Scaling",
1839
+ "Advanced",
1840
+ "Advanced Options",
1841
+ "Advanced Settings",
1842
+ "Affine (fast)",
1843
+ "After installation, restart the app for changes to take effect.",
1844
+ "After installing CUDA, restart the app.",
1845
+ "Algorithm:",
1846
+ "Aligning stars…",
1847
+ "Aligning stars… ({0}/{1})",
1848
+ "Alignment",
1849
+ "Alignment Mode:",
1850
+ "Alignment Settings",
1851
+ "All Supported Files",
1852
+ "All stacking finished successfully.\n",
1853
+ "Also output Stars+Comet blend",
1854
+ "Analyze",
1855
+ "Analyzing frames...",
1856
+ "Apply Bias Subtraction (For CCD Users)",
1857
+ "Apply Pedestal",
1858
+ "Apply Settings",
1859
+ "Apply color matrix",
1860
+ "Apply cosmetic correction",
1861
+ "Apply debayer",
1862
+ "Apply distortion model",
1863
+ "Apply filter",
1864
+ "Apply hot pixel removal",
1865
+ "Apply this choice to all remaining mismatches of this kind",
1866
+ "Apply to Group",
1867
+ "Apply to all frames",
1868
+ "Applying calibration...",
1869
+ "Applying rejection...",
1870
+ "Are you sure you want to cancel stacking?",
1871
+ "Are you sure you want to remove all frames?",
1872
+ "Assigning best Master Dark/Flat…",
1873
+ "Auto",
1874
+ "Auto (from stars)",
1875
+ "Auto (not set)",
1876
+ "Auto (use all cores)",
1877
+ "Auto Crop",
1878
+ "Auto Noise Map",
1879
+ "Auto Star Mask",
1880
+ "Auto Weight",
1881
+ "Auto crop",
1882
+ "Auto-Accept Best Reference",
1883
+ "Auto-Select Best Reference",
1884
+ "Auto-Select Closest Master Dark",
1885
+ "Auto-Select by Metadata",
1886
+ "Auto-accept measured reference",
1887
+ "Auto-crop output",
1888
+ "Auto-cropped files saved:",
1889
+ "Auto-detect",
1890
+ "Auto-detect panels",
1891
+ "Auto-detect session",
1892
+ "Auto-match calibration frames",
1893
+ "Auto-name",
1894
+ "Auto-register & integrate after calibration",
1895
+ "Average",
1896
+ "BAYERPAT",
1897
+ "BGGR",
1898
+ "Backend: CPU (Python version not supported for GPU install)",
1899
+ "Backend: installing…",
1900
+ "Backend: {0}",
1901
+ "Background",
1902
+ "Background Normalization",
1903
+ "Background level",
1904
+ "Background matching",
1905
+ "Background model",
1906
+ "Batch Convert Files to Debayered FITS (.fit)",
1907
+ "Bayer Pattern",
1908
+ "Before saving: min = {0:.4f}, max = {1:.4f}",
1909
+ "Best",
1910
+ "Best Quality",
1911
+ "Bias",
1912
+ "Bias Subtracted",
1913
+ "Bias: {0}",
1914
+ "Bicubic",
1915
+ "Bicubic Interpolation",
1916
+ "Bilinear",
1917
+ "Bilinear Interpolation",
1918
+ "Binning",
1919
+ "Biweight Estimator",
1920
+ "Biweight constant:",
1921
+ "Blend Ratio:",
1922
+ "Blending method",
1923
+ "Both (comet + stars)",
1924
+ "Browse",
1925
+ "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
+ "Cache size (MB)",
1936
+ "Calculate from frames",
1937
+ "Calculating alignment...",
1938
+ "Calculating autocrop bounding box…",
1939
+ "Calibrated Light Frames",
1940
+ "Calibrating...",
1941
+ "Calibration",
1942
+ "Calibration Settings",
1943
+ "Calibration complete",
1944
+ "Calibration mismatch",
1945
+ "Camera",
1946
+ "Cancel",
1947
+ "Cancel the current operation",
1948
+ "Cannot write to output directory",
1949
+ "Caps Astroalign max_control_points (typical 500–1500). Lower = faster, higher = more robust.",
1950
+ "Capture Date",
1951
+ "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
+ "Chunk size",
1954
+ "Circular",
1955
+ "Circular (disk)",
1956
+ "Clear",
1957
+ "Clear All",
1958
+ "Clear List",
1959
+ "Clear Selection",
1960
+ "Clear all files from queue",
1961
+ "Clear existing session?",
1962
+ "Click to select files",
1963
+ "Clip (lo/hi):",
1964
+ "Clip high",
1965
+ "Clip low",
1966
+ "Close",
1967
+ "Cold Pixel Removal",
1968
+ "Cold Threshold:",
1969
+ "Cold pixel detection",
1970
+ "Cold pixel replacement",
1971
+ "Cold pixel threshold (σ)",
1972
+ "Cold σ:",
1973
+ "Color matrix",
1974
+ "Color mode:",
1975
+ "Columns",
1976
+ "Combine panels",
1977
+ "Comet (High-Clip Percentile tuning)",
1978
+ "Comet Center",
1979
+ "Comet Detection:",
1980
+ "Comet Mode",
1981
+ "Comet Star Removal (Optional)",
1982
+ "Comet alignment",
1983
+ "Complete",
1984
+ "Confirm action",
1985
+ "Controls down-weighting strength.",
1986
+ "Conversion complete.",
1987
+ "Conversion list cleared.",
1988
+ "Conversion output directory set to: {0}",
1989
+ "Convert All Files to FITS",
1990
+ "Convert Non-FITS Formats",
1991
+ "Converted",
1992
+ "Converted {0} to FITS with IMAGETYP={1}, EXPTIME={2}.",
1993
+ "Copy commands",
1994
+ "Core mask feather (px):",
1995
+ "Corrections",
1996
+ "Cosmetic Correction",
1997
+ "Cosmetic Correction (Advanced)",
1998
+ "Cosmetic Correction Applied (debayered/mono)",
1999
+ "Cosmetic Correction Applied for Bayer Pattern ({0})",
2000
+ "Could not load {0} to create memmap cache.",
2001
+ "Could not load:\n{0}\n\n{1}",
2002
+ "Coverage:",
2003
+ "Create Comet-Only Stack",
2004
+ "Create Master",
2005
+ "Create Master Bias",
2006
+ "Create Master Calibration Files",
2007
+ "Create Master Dark",
2008
+ "Create Master Darks",
2009
+ "Create Master Flat",
2010
+ "Create Master Flats",
2011
+ "Create Masters",
2012
+ "Create Stars+Comet Blend",
2013
+ "Create comet-aligned version",
2014
+ "Create log file",
2015
+ "Create star-aligned version",
2016
+ "Creating master bias...",
2017
+ "Creating master dark...",
2018
+ "Creating master flat...",
2019
+ "Crop Method:",
2020
+ "Crop Padding (px):",
2021
+ "Crop final image to pixels covered by ≥ Coverage % of frames",
2022
+ "Crop to common area",
2023
+ "Cross Correlation",
2024
+ "Current Status: {0}",
2025
+ "Current Step",
2026
+ "Current frame",
2027
+ "Current stacking settings saved to profile '{0}'.",
2028
+ "Custom",
2029
+ "Custom Weight",
2030
+ "Custom directory",
2031
+ "Custom matrix",
2032
+ "DCB",
2033
+ "DEBUG: File '{0}' does not exist on disk.",
2034
+ "DEC",
2035
+ "Dark",
2036
+ "Dark Flat",
2037
+ "Dark Flats",
2038
+ "Dark Frames",
2039
+ "Dark Subtracted: {0}",
2040
+ "DarkStar",
2041
+ "Darks",
2042
+ "Date",
2043
+ "Dead column detection",
2044
+ "Dead row detection",
2045
+ "Debayer",
2046
+ "Debayer Method",
2047
+ "Debayer Settings",
2048
+ "Debayer before calibration",
2049
+ "Debug Mode",
2050
+ "Dec rate (arcsec/min)",
2051
+ "Deconvolution Iterations:",
2052
+ "Deconvolution Strength:",
2053
+ "Deconvolving '{0}' ({1} frames)…",
2054
+ "Default",
2055
+ "Defect Map Files",
2056
+ "Defect map",
2057
+ "Delete",
2058
+ "Delete profile",
2059
+ "Delete stacking profile '{0}'?",
2060
+ "Detect bad columns",
2061
+ "Detect bad rows",
2062
+ "Detect dithering",
2063
+ "Detected backend:",
2064
+ "Detecting stars...",
2065
+ "Detection scale",
2066
+ "Detection threshold",
2067
+ "Dilate (+px):",
2068
+ "Distortion / Transform",
2069
+ "Distortion correction",
2070
+ "Dithering",
2071
+ "Dithering pattern",
2072
+ "Dithering scale",
2073
+ "Divide (flat-like)",
2074
+ "Divide gain limits:",
2075
+ "Double-click to preview",
2076
+ "Downloads PyTorch with the right backend (CUDA/MPS/CPU). One-time per machine.",
2077
+ "Downsample (AREA):",
2078
+ "Downsample:",
2079
+ "Drag and drop files here",
2080
+ "Drizzle",
2081
+ "Drizzle Integration",
2082
+ "Drizzle Kernel:",
2083
+ "Drizzle Scale:",
2084
+ "Drizzle Settings",
2085
+ "Drizzle cfg → scale={0}×, pixfrac={1:.3f}, kernel={2}",
2086
+ "Drizzle: False",
2087
+ "Drizzle: True, Scale: {0:g}x, Drop: {1:.2f}",
2088
+ "Drizzle: True, Scale: {0}, Drop: {1:.2f}",
2089
+ "Drizzle: {0}",
2090
+ "Drizzle: {0}, Scale: {1}, Drop:{2}",
2091
+ "Drop Fraction (pixfrac):",
2092
+ "Drop Shrink:",
2093
+ "Drop Size (Pixfrac)",
2094
+ "EGAIN",
2095
+ "EQUINOX",
2096
+ "ESD threshold:",
2097
+ "EXPTIME",
2098
+ "Eccentricity",
2099
+ "Elapsed time",
2100
+ "Ellipse scale:",
2101
+ "Enable ABE Pre-Processing",
2102
+ "Enable Auto Crop",
2103
+ "Enable Comet Stacking",
2104
+ "Enable Cosmetic Correction",
2105
+ "Enable Drizzle",
2106
+ "Enable GPU Acceleration",
2107
+ "Enable GPU/MPS via PyTorch when supported; falls back to CPU automatically.",
2108
+ "Enable MF Deconvolution",
2109
+ "Enable MFDeconv during integration",
2110
+ "Enable MPS (Apple Silicon)",
2111
+ "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
+ "Enable scoring",
2119
+ "Enter new group name:",
2120
+ "Enter session label (e.g., Night1, RedFilterSet2):",
2121
+ "Enter session name:",
2122
+ "Error",
2123
+ "Error converting {0}: {1}",
2124
+ "Error: {0}",
2125
+ "Estimated remaining",
2126
+ "Exclude from Stack",
2127
+ "Exclude from stacking",
2128
+ "Expected dither (pixels)",
2129
+ "Export Settings",
2130
+ "Exposure",
2131
+ "Exposure Time",
2132
+ "Exposure Tolerance (sec):",
2133
+ "Exposure Tolerance (seconds):",
2134
+ "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
+ "Failed to calibrate frame",
2146
+ "Failed to load",
2147
+ "Failed to load frame",
2148
+ "Failed to load image.",
2149
+ "Failed to load session",
2150
+ "Failed to load {0}",
2151
+ "Failed to register frame",
2152
+ "Failed to save session",
2153
+ "Failed to stack frames",
2154
+ "Falling back to CPU",
2155
+ "Fast (1 pass)",
2156
+ "Fast (AstroAlign)",
2157
+ "Fast = single pass; Accurate = 3-pass refinement.",
2158
+ "Feather",
2159
+ "Feather width",
2160
+ "Feather σ (px):",
2161
+ "Feature Matching",
2162
+ "File",
2163
+ "Filename",
2164
+ "Fill value",
2165
+ "Filter",
2166
+ "Filter & Exposure",
2167
+ "Filter - Exposure - Size",
2168
+ "Filter by score",
2169
+ "Filter={0} Exp={1}",
2170
+ "Finalizing...",
2171
+ "First Frame",
2172
+ "Flat",
2173
+ "Flat Applied: {0}",
2174
+ "Flat Frames",
2175
+ "Flats",
2176
+ "Flipping Image",
2177
+ "For OSC dual-band data: SII/OIII → R=SII, G=OIII; Ha/OIII → R=Ha, G=OIII",
2178
+ "Found '{0}' with IMAGETYP = {1}\nwhich looks like **{2}**, not {3}.\n\nWhat would you like to do?",
2179
+ "Fraction trimmed on each end before averaging.",
2180
+ "Frame Filtering",
2181
+ "Frame Scoring",
2182
+ "Frame dimensions mismatch",
2183
+ "Frames per group:\n",
2184
+ "Frames processed",
2185
+ "From WCS",
2186
+ "GBRG",
2187
+ "GPU Device:",
2188
+ "GPU acceleration not available",
2189
+ "GPU device",
2190
+ "GPU still not being used?",
2191
+ "GRBG",
2192
+ "Gain",
2193
+ "Gain Clip Max:",
2194
+ "Gain Clip Min:",
2195
+ "Gaussian",
2196
+ "Gaussian σ (px):",
2197
+ "Generalized ESD",
2198
+ "Generalized Extreme Studentized Deviate",
2199
+ "Generate defect map",
2200
+ "Generate panel stacks",
2201
+ "Gradient Removal (Pre-Integration)",
2202
+ "Gradient matching",
2203
+ "Gradient removal (ABE Poly²): mode={0}, samples={1}, downsample={2}, patch={3}, min_strength={4:.2f}%, gain_clip=[{5},{6}]",
2204
+ "Grid size",
2205
+ "Group '{0}' has {1} file(s) after filtering.",
2206
+ "Group By",
2207
+ "Group Name:",
2208
+ "Group by dither position",
2209
+ "H:",
2210
+ "Half Size",
2211
+ "Height",
2212
+ "High Octane",
2213
+ "High-Octane (Let 'er rip)",
2214
+ "High-Octane (Let ’er rip)",
2215
+ "High-clip k / Percentile p:",
2216
+ "High/Low σ used by sigma-based rejection.",
2217
+ "High:",
2218
+ "Homography (full)",
2219
+ "Homography (projective)",
2220
+ "Hot Pixel Removal",
2221
+ "Hot Threshold:",
2222
+ "Hot pixel detection",
2223
+ "Hot pixel replacement",
2224
+ "Hot pixel threshold",
2225
+ "Hot pixel threshold (σ)",
2226
+ "Hot σ:",
2227
+ "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
+ "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
+ "Huber δ:",
2230
+ "IMAGETYP",
2231
+ "INSTRUME",
2232
+ "IQR Clipping",
2233
+ "ISO",
2234
+ "If GPU still not being used — click for fix steps",
2235
+ "If checked, the best measured frame is accepted automatically.",
2236
+ "If enabled, saves the seed and every iteration image into a subfolder next to the final output.",
2237
+ "Image Files",
2238
+ "Image Integration",
2239
+ "Images (*.fit *.fits *.tif *.tiff *.png *.jpg *.jpeg)",
2240
+ "Import Settings",
2241
+ "Important: GPU stacking requires both CUDA and PyTorch-GPU.",
2242
+ "Include in Stack",
2243
+ "Include in stacking",
2244
+ "Info",
2245
+ "Install PyTorch (CUDA)",
2246
+ "Install/Update GPU Acceleration…",
2247
+ "Installing GPU Acceleration",
2248
+ "Installing NVIDIA CUDA for Stacking Suite",
2249
+ "Insufficient frames for stacking",
2250
+ "Integrate Only",
2251
+ "Integrate Previously Registered Images",
2252
+ "Integrating comet tile {0}…",
2253
+ "Integrating tile {0}/{1} [y:{2}:{3} x:{4}:{5} size={6}×{7}] mode={8}…",
2254
+ "Integrating...",
2255
+ "Integration Algorithm",
2256
+ "Integration Method",
2257
+ "Integration Method:",
2258
+ "Integration complete for group '{0}'.",
2259
+ "Internal Precision:",
2260
+ "Interpolation",
2261
+ "Invalid session file",
2262
+ "Iterations",
2263
+ "Iterations (max):",
2264
+ "Iterations:",
2265
+ "Kappa-Sigma Clipping",
2266
+ "Kappa:",
2267
+ "Keep best %",
2268
+ "Keep-floor:",
2269
+ "Kernel",
2270
+ "Kernel width:",
2271
+ "Kernel:",
2272
+ "LWP (Local Weighted Polynomial)",
2273
+ "Lanczos",
2274
+ "Lanczos Interpolation",
2275
+ "Lanczos-2",
2276
+ "Lanczos-3",
2277
+ "Lanczos-4",
2278
+ "Lanczos-5",
2279
+ "Lanczos2",
2280
+ "Lanczos3",
2281
+ "Light",
2282
+ "Light Frames",
2283
+ "Lighten (screen)",
2284
+ "Lights",
2285
+ "Linear",
2286
+ "Linear Fit Clipping",
2287
+ "Load",
2288
+ "Load Master Dark",
2289
+ "Load Master Flat",
2290
+ "Load Session",
2291
+ "Load defect map",
2292
+ "Load defect map...",
2293
+ "Load profile",
2294
+ "Load profile '{0}'?\n\nThis will overwrite the current stacking configuration and restart the Stacking Suite.",
2295
+ "Loading frames...",
2296
+ "Local Normalization",
2297
+ "Lock Reference",
2298
+ "Low/High Sigma:",
2299
+ "Low:",
2300
+ "Lower = more aggressive (MAD-based).",
2301
+ "Lower = more aggressive outlier rejection.",
2302
+ "Lower = stronger masking near stars; 0 = hard mask, 0.2 = gentle.",
2303
+ "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
+ "Manual",
2311
+ "Manual Selection",
2312
+ "Manual Session:",
2313
+ "Manual Weight",
2314
+ "Manual layout",
2315
+ "Mark as Reference",
2316
+ "Mask-based (accurate)",
2317
+ "Master Bias",
2318
+ "Master Calibration Frames",
2319
+ "Master Dark",
2320
+ "Master Dark Flat",
2321
+ "Master Dark Used",
2322
+ "Master Darks",
2323
+ "Master File",
2324
+ "Master Flat",
2325
+ "Master Flats",
2326
+ "Master bias created",
2327
+ "Master dark created",
2328
+ "Master flat created",
2329
+ "Match by Exposure",
2330
+ "Match by Filter",
2331
+ "Match by Gain/ISO",
2332
+ "Match by Temperature",
2333
+ "Match by:",
2334
+ "Max (brightest)",
2335
+ "Max Shift (px):",
2336
+ "Max Stars:",
2337
+ "Max Value",
2338
+ "Max control points:",
2339
+ "Max ratio:",
2340
+ "Max star radius (px):",
2341
+ "Max stars kept:",
2342
+ "Max stars:",
2343
+ "Maximum",
2344
+ "Maximum FWHM",
2345
+ "Maximum background",
2346
+ "Maximum eccentricity",
2347
+ "Maximum roundness deviation",
2348
+ "Maximum stars",
2349
+ "Mean",
2350
+ "Mean ratio:",
2351
+ "Median",
2352
+ "Median (Sukhdeep et al.)",
2353
+ "Median Filter Radius:",
2354
+ "Memory Limit (MB):",
2355
+ "Memory allocation failed",
2356
+ "Memory management",
2357
+ "Memory optimization",
2358
+ "Merge Groups",
2359
+ "Metadata",
2360
+ "Min (darkest)",
2361
+ "Min Frames for Master:",
2362
+ "Min Stars:",
2363
+ "Min Strength:",
2364
+ "Min iters:",
2365
+ "Min star area (px):",
2366
+ "Minimum",
2367
+ "Minimum connected-pixel area to keep a detection as a star (px). Helps reject hot pixels/noise.",
2368
+ "Minimum score",
2369
+ "Minimum stars",
2370
+ "Mismatched Image Type",
2371
+ "Mix:",
2372
+ "Mode:",
2373
+ "Model:",
2374
+ "Modified Z threshold:",
2375
+ "Modified Z-Score Clipping",
2376
+ "Mosaic Mode",
2377
+ "Motion vector",
2378
+ "Multi-Frame Deconvolution",
2379
+ "Multi-band",
2380
+ "Multi-frame Deconvolution",
2381
+ "Multi-frame deconvolving…",
2382
+ "Multiplicative",
2383
+ "Multiplicative with Scaling",
2384
+ "Naive (pixfrac=1)",
2385
+ "Nearest Neighbor",
2386
+ "New Group",
2387
+ "New Session",
2388
+ "New stacking profile",
2389
+ "New…",
2390
+ "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
+ "No calibration frames",
2398
+ "No comet center was selected. Registration has been cancelled so you can try again.",
2399
+ "No file chosen.",
2400
+ "No file selected",
2401
+ "No files selected for split.",
2402
+ "No frames loaded",
2403
+ "No light frames",
2404
+ "No new reference selected; using previous reference.",
2405
+ "No output directory is set. Do you want to select one now?",
2406
+ "No profile selected",
2407
+ "No stacking folder selected",
2408
+ "No stars detected in frame",
2409
+ "Noise Evaluation",
2410
+ "Noise level",
2411
+ "None",
2412
+ "None (Use Auto-Select)",
2413
+ "None (Use no Dark to Calibrate)",
2414
+ "Normal",
2415
+ "Normal (cuDNN-free)",
2416
+ "Normal (fallback)",
2417
+ "Normalization",
2418
+ "Normalization & Gradient (ABE Poly²)",
2419
+ "Normalize by:",
2420
+ "Notes",
2421
+ "Nucleus position",
2422
+ "Number of kappa-sigma iterations.",
2423
+ "Number of threads",
2424
+ "Number of threads:",
2425
+ "OBJECT",
2426
+ "OFF",
2427
+ "ON, Scale {0}, Drop {1:.2f}",
2428
+ "Observer",
2429
+ "Offset",
2430
+ "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
+ "Open in viewer",
2433
+ "Open result when done",
2434
+ "Open the main window to see the Stacking Log dock.",
2435
+ "Output",
2436
+ "Output Bit Depth",
2437
+ "Output Directory",
2438
+ "Output Directory:",
2439
+ "Output Filename",
2440
+ "Output Format",
2441
+ "Output Settings",
2442
+ "Output directory does not exist",
2443
+ "Output directory is not set.",
2444
+ "Output pixel size",
2445
+ "Output saved to:",
2446
+ "Overall Progress",
2447
+ "Overlap",
2448
+ "Override Dark Frame",
2449
+ "Override Flat Frame",
2450
+ "Override Master Dark Selection",
2451
+ "Overwrite existing file?",
2452
+ "PIXSIZE1",
2453
+ "PIXSIZE2",
2454
+ "PSF Estimation:",
2455
+ "PSF FWHM:",
2456
+ "Panel layout",
2457
+ "Parallel Loading",
2458
+ "Parallel processing",
2459
+ "Patch Size:",
2460
+ "Patch size (small):",
2461
+ "Path",
2462
+ "Pattern",
2463
+ "Pause",
2464
+ "Pedestal (0-1000):",
2465
+ "Pending",
2466
+ "Per-frame alignment timeout for the parallel workers. Default 300s.",
2467
+ "Percentile Clip",
2468
+ "Percentile Clipping",
2469
+ "Percentile High",
2470
+ "Percentile High:",
2471
+ "Percentile Low",
2472
+ "Percentile Low:",
2473
+ "Performance",
2474
+ "Performance Settings",
2475
+ "Phase Correlation",
2476
+ "Pick a frame to mark the comet center",
2477
+ "Pick comet center…",
2478
+ "Pixel rejection (local)",
2479
+ "Pixels above this image quantile are treated as saturated and never replaced.",
2480
+ "Please choose a profile to load.",
2481
+ "Please select a conversion output directory first.",
2482
+ "Please set the stacking directory first using the wrench button.",
2483
+ "Please set the stacking directory first.",
2484
+ "Please wait",
2485
+ "Point",
2486
+ "Polynomial 3rd-order",
2487
+ "Polynomial 4th-order",
2488
+ "Polynomial Degree:",
2489
+ "Polynomial degree",
2490
+ "Post-Alignment",
2491
+ "Prefix",
2492
+ "Preparing MF deconvolution…",
2493
+ "Preparing runtime…",
2494
+ "Preserve raw data",
2495
+ "Preview",
2496
+ "Preview background",
2497
+ "Preview defects",
2498
+ "Preview filename",
2499
+ "Preview integration",
2500
+ "Preview motion",
2501
+ "Preview size",
2502
+ "Processing...",
2503
+ "Profile name:",
2504
+ "Profile saved",
2505
+ "Profile:",
2506
+ "Profiles",
2507
+ "Progress",
2508
+ "Progress initialized: {0} tiles across groups.",
2509
+ "Protect core radius (px):",
2510
+ "Quality",
2511
+ "RA",
2512
+ "RA rate (arcsec/min)",
2513
+ "RANSAC Iterations:",
2514
+ "RANSAC Threshold:",
2515
+ "RANSAC reproj (px):",
2516
+ "RGGB",
2517
+ "Ready",
2518
+ "Recent Sessions",
2519
+ "Reconstruct on an r× super-res grid using SR PSFs.\nCompute cost grows roughly ~ r^4. Drizzle usually provides better results.",
2520
+ "Recurse subfolders",
2521
+ "Reference Frame",
2522
+ "Reference frame not found",
2523
+ "Refinement:",
2524
+ "Register && Integrate",
2525
+ "Register Only",
2526
+ "Registering...",
2527
+ "Registration",
2528
+ "Registration Method",
2529
+ "Registration Settings",
2530
+ "Registration complete",
2531
+ "Registration failed for frame",
2532
+ "Registration in progress…",
2533
+ "Regularization (lambda):",
2534
+ "Regularization:",
2535
+ "Reject a frame if its residual shift exceeds this many pixels after alignment.",
2536
+ "Reject worst %",
2537
+ "Rejected",
2538
+ "Rejection",
2539
+ "Rejection Algorithm",
2540
+ "Rejection Method",
2541
+ "Rejection Method:",
2542
+ "Remove All",
2543
+ "Remove Selected",
2544
+ "Remove background gradient (ABE Poly²)",
2545
+ "Remove from Group",
2546
+ "Remove selected files from queue",
2547
+ "Remove stars on comet-aligned frames",
2548
+ "Rename Group",
2549
+ "Requires 'Enable Drizzle'. Maps R/G/B CFA samples directly into channels (no interpolation).",
2550
+ "Reset All",
2551
+ "Reset MFDeconv to Recommended",
2552
+ "Reset filter",
2553
+ "Reset to Defaults",
2554
+ "Restore MFDeconv star mask + variance map tuning to the recommended defaults.",
2555
+ "Restore Recommended",
2556
+ "Resume",
2557
+ "Review Reference Before Alignment",
2558
+ "Right Click to Assign Session Keys if desired",
2559
+ "Right-click for options",
2560
+ "Robust μ–σ (live stack)",
2561
+ "Roundness (closer to 1 is better)",
2562
+ "Rows",
2563
+ "Runs multi-frame deconvolution during integration. Turn off if testing.",
2564
+ "SET-TEMP",
2565
+ "SITELAT",
2566
+ "SITELONG",
2567
+ "SNR Weight",
2568
+ "Same as input",
2569
+ "Sample Points:",
2570
+ "Sample points:",
2571
+ "Saturation quantile:",
2572
+ "Save",
2573
+ "Save Defect Map",
2574
+ "Save Rejection Maps",
2575
+ "Save Session",
2576
+ "Save Session As...",
2577
+ "Save Star-Trail Image",
2578
+ "Save all comet-aligned starless frames.\nRequires: 'Create comet stack' AND 'Remove stars on comet-aligned frames'.",
2579
+ "Save all comet-aligned starless frames.\nRequires: ‘Create comet stack’ AND ‘Remove stars on comet-aligned frames’.",
2580
+ "Save all starless comet-aligned frames",
2581
+ "Save calibrated frames",
2582
+ "Save defect map",
2583
+ "Save defect map...",
2584
+ "Save intermediate files",
2585
+ "Save intermediate iterative images",
2586
+ "Save profile as…",
2587
+ "Save registered frames",
2588
+ "Save rejection maps",
2589
+ "Save session before closing?",
2590
+ "Saved: {0} ({1}/{2})",
2591
+ "Scale",
2592
+ "Scale to Reference",
2593
+ "Scale:",
2594
+ "Score by",
2595
+ "Seed image:",
2596
+ "Select Bias Directory",
2597
+ "Select Bias Files",
2598
+ "Select Bias Frames",
2599
+ "Select Conversion Output Directory",
2600
+ "Select Dark Directory",
2601
+ "Select Dark Files",
2602
+ "Select Dark Flat Frames",
2603
+ "Select Dark Frames",
2604
+ "Select Defect Map",
2605
+ "Select Directory for Conversion",
2606
+ "Select Files for Conversion",
2607
+ "Select Flat Directory",
2608
+ "Select Flat Files",
2609
+ "Select Flat Frames",
2610
+ "Select Light Directory",
2611
+ "Select Light Files",
2612
+ "Select Light Frames",
2613
+ "Select Master Bias",
2614
+ "Select Master Bias File(s)",
2615
+ "Select Master Bias Frame",
2616
+ "Select Master Dark",
2617
+ "Select Master Dark File(s)",
2618
+ "Select Master Flat",
2619
+ "Select Master Flat File(s)",
2620
+ "Select New Reference Frame",
2621
+ "Select Output Directory",
2622
+ "Select Reference Frame",
2623
+ "Select Reference Frame:",
2624
+ "Select Reference...",
2625
+ "Select Stacking Directory",
2626
+ "Select files to split:",
2627
+ "Select output directory for stacked images",
2628
+ "Selected",
2629
+ "Send to {0} tab",
2630
+ "Session",
2631
+ "Session Files",
2632
+ "Session Info",
2633
+ "Session loaded",
2634
+ "Session saved",
2635
+ "Set Reference Frame",
2636
+ "Set Session Tag",
2637
+ "Set Session Tag...",
2638
+ "Set Stacking Directory & Sigma Clipping",
2639
+ "Set as reference frame",
2640
+ "Sharpness",
2641
+ "Show preview",
2642
+ "Show the Stacking Suite log window",
2643
+ "Sigma Clipping",
2644
+ "Sigma High",
2645
+ "Sigma Low",
2646
+ "Sigma thresholds:",
2647
+ "Simple",
2648
+ "Simple Average (No Rejection)",
2649
+ "Simple Median (No Rejection)",
2650
+ "Size: {0}",
2651
+ "Size: {0} | Session: {1}",
2652
+ "Size: {0}, Temp: {1}°C, Date: {2}",
2653
+ "Skip Normal Integration (MFDeconv only)",
2654
+ "Skip file",
2655
+ "Skip if strength <",
2656
+ "Skip registration/alignment and use Maximum-Intensity projection for star trails",
2657
+ "Smoothness",
2658
+ "Solve downsample:",
2659
+ "Sort",
2660
+ "Sort by Quality",
2661
+ "Spline",
2662
+ "Spline-3",
2663
+ "Spline-5",
2664
+ "Split Group",
2665
+ "Split dual-band OSC before integration",
2666
+ "Square",
2667
+ "Square (pixfrac)",
2668
+ "Stack",
2669
+ "Stack Method:",
2670
+ "Stack Mode:",
2671
+ "Stacking & drizzle (if enabled)…",
2672
+ "Stacking Complete",
2673
+ "Stacking Directory:",
2674
+ "Stacking Log",
2675
+ "Stacking Settings",
2676
+ "Stacking Suite",
2677
+ "Stacking cancelled by user",
2678
+ "Stacking complete!",
2679
+ "Stacking...",
2680
+ "Star Detection Threshold:",
2681
+ "Star Removal for Comet",
2682
+ "Star Trail Mode",
2683
+ "Star detect σ:",
2684
+ "Star detection threshold in σ above background. Lower = more stars (faster saturation, more false positives); higher = fewer stars.",
2685
+ "Star guards:",
2686
+ "Star saturation",
2687
+ "StarNet",
2688
+ "Stars",
2689
+ "Stars Weight",
2690
+ "Stars detected",
2691
+ "Start the stacking process",
2692
+ "Starting Master Dark Creation...",
2693
+ "Starting Master Flat Creation...",
2694
+ "Starting integration for group '{0}' with {1} files.",
2695
+ "Status",
2696
+ "Status: {0}",
2697
+ "Std Dev",
2698
+ "Std-devs from median; higher = more lenient.",
2699
+ "Stellar Alignment",
2700
+ "Step 1: Install NVIDIA CUDA Toolkit 12.x",
2701
+ "Step 2: Install PyTorch with CUDA (click button below)",
2702
+ "Stop",
2703
+ "Sub-pixel accuracy",
2704
+ "Subpixel Alignment",
2705
+ "Subtract (additive)",
2706
+ "Subtract comet",
2707
+ "Subtract stars",
2708
+ "Successfully stacked {0} frames",
2709
+ "Suffix",
2710
+ "Sum",
2711
+ "Super Pixel",
2712
+ "Super Resolution",
2713
+ "Super-resolution scale factor r (integer ≥2).",
2714
+ "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
+ "Target Name",
2719
+ "Telescope",
2720
+ "Temperature",
2721
+ "Temperature Tolerance (°C):",
2722
+ "Template Matching",
2723
+ "There are no files to convert.",
2724
+ "This app is running on Python {0}.{1}. GPU acceleration requires Python 3.10, 3.11, or 3.12.",
2725
+ "Thread Count:",
2726
+ "Time",
2727
+ "Timeout per frame (s):",
2728
+ "Too few matching stars",
2729
+ "Tool:",
2730
+ "Total",
2731
+ "Track nucleus",
2732
+ "Track stars",
2733
+ "Transform calculation failed",
2734
+ "Transform-based (fast)",
2735
+ "Transforming images...",
2736
+ "Triangle Match Tolerance:",
2737
+ "Triangle Similarity",
2738
+ "Trim fraction:",
2739
+ "Trimmed Mean",
2740
+ "Turbo",
2741
+ "Turn Those Darks Into Master Darks",
2742
+ "Turn Those Flats Into Master Flats",
2743
+ "Type",
2744
+ "Unknown",
2745
+ "Unmark Reference",
2746
+ "Unsaved session",
2747
+ "Unsupported Python Version",
2748
+ "Unsupported image ndim={0} for {1}",
2749
+ "Update clip (κ):",
2750
+ "Update preview automatically",
2751
+ "Use GPU acceleration",
2752
+ "Use Master Bias",
2753
+ "Use Master Dark",
2754
+ "Use Master Flat",
2755
+ "Use defect map",
2756
+ "Use hardware acceleration if available",
2757
+ "Use memory mapping",
2758
+ "Use memory-mapped files",
2759
+ "Use reference frame from this list",
2760
+ "User selected a new reference frame: {0}",
2761
+ "Using GPU for tile {0} with algo {1}",
2762
+ "Using Master Bias (for flats when needed): {0}",
2763
+ "Using Master Bias: {0}",
2764
+ "Using {0} kernel drizzle ({1}).",
2765
+ "VNG",
2766
+ "VarMap floor (log10):",
2767
+ "VarMap sample stride:",
2768
+ "VarMap smooth σ:",
2769
+ "Verbose logging",
2770
+ "View frame header",
2771
+ "View frame info",
2772
+ "Visit the NVIDIA CUDA Downloads page in your browser to install CUDA Toolkit 12.x:\n\nhttps://developer.nvidia.com/cuda-downloads",
2773
+ "W:",
2774
+ "WCS Alignment",
2775
+ "Warning",
2776
+ "Warning: Could not read dimensions for {0}: {1}",
2777
+ "Weight Radius:",
2778
+ "Weight keyword",
2779
+ "Weight:",
2780
+ "Weighted Average",
2781
+ "Weighted Windsorized Sigma Clipping",
2782
+ "Weighting",
2783
+ "When checked, once calibration finishes the app will switch to Image Registration and run 'Register and Integrate Images' automatically.",
2784
+ "Width",
2785
+ "Winsorized Average",
2786
+ "Winsorized Sigma",
2787
+ "Winsorized Sigma Clipping",
2788
+ "Worst",
2789
+ "Writing output...",
2790
+ "XBINNING",
2791
+ "XISF",
2792
+ "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
+ "{0:g}s",
2813
+ "{0} file",
2814
+ "{0} file · {1}",
2815
+ "{0} file(s)",
2816
+ "{0} files · {1}",
2817
+ "{0} files, {1:.0f}s–{2:.0f}s",
2818
+ "{0} {1}: {2}",
2819
+ "{0}: {1} frame(s)",
2820
+ "{0}Alignment summary: {1} succeeded, {2} rejected.",
2821
+ "{0}h {1}m {2}s",
2822
+ "{0}m {1}s",
2823
+ "{0}s",
2824
+ "{0}s ({1}) — tile {2}/{3} y:{4}-{5} x:{6}-{7}",
2825
+ "κ (kappa) limits how big each multiplicative update can be per iteration.\n• κ = 1.0 → no change (1×); larger κ allows bigger step sizes.\n• Lower values = gentler, safer updates; higher values = faster but riskier.\nTypical: 1.05–1.5 for conservative, ~2 for punchier updates.",
2826
+ "ρ (loss):",
2827
+ "‘Luma’ deconvolves luminance only; ‘PerChannel’ runs on RGB independently.",
2828
+ "• Hardware acceleration: {0}",
2829
+ "• Internal precision: {0}",
2830
+ "• {0} | session: {1} → {2} files, {3}",
2831
+ "• {0} → {1} files, {2}",
2832
+ "• {0}: {1} stacked{2}",
2833
+ "ℹ️ CFA Drizzle kept despite low frame count (you chose No).",
2834
+ "ℹ️ Could not resolve comet seed to reference (no matrix for that frame).",
2835
+ "ℹ️ No dual-band frames detected or split.",
2836
+ "ℹ️ Registration already in progress; auto-run skipped.",
2837
+ "ℹ️ Single group spread {0:.3f}% > tol {1:.2f}% → will normalize.",
2838
+ "ℹ️ Skipping rejection map save for '{0}' (drizzle disabled).",
2839
+ "ℹ️ This flat group: Auto-Select is OFF and no override set → No Calibration.",
2840
+ "ℹ️ This flat group: no matching Master Dark (size) — proceeding without subtraction.",
2841
+ "ℹ️ This flat group: override = No Calibration.",
2842
+ "ℹ️ Using in-memory REF_SHAPE fallback: {0}×{1}",
2843
+ "ℹ️ {0} frame(s) had zero/NaN preview medians; using neutral scale for those.",
2844
+ "↻ 180° rotate (PA Δ≈180°): {0}",
2845
+ "⏭️ Normal integration suppressed (MFDeconv-only run).",
2846
+ "⏭️ Pixel-scale normalize skipped: single-group policy (no header reads).",
2847
+ "⏭️ Pixel-scale normalize skipped: spread ≤ {0:.2f}% (single group).",
2848
+ "⏳ Loading…",
2849
+ "⏳ Please wait…",
2850
+ "⏳ Registering…",
2851
+ "⏸ Another job is running; ignoring extra click.",
2852
+ "⏸ Registration already running; ignoring extra click.",
2853
+ "▶️ Starting tile processing for group '{0}' ({1}s, {2}, session '{3}')",
2854
+ "★★ Star-Trail Mode ★★ (Max-Value Stack)",
2855
+ "⚖️ Computing frame weights…",
2856
+ "⚙️ Auto: starting registration & integration…",
2857
+ "⚙️ MFDeconv engine: {0}",
2858
+ "⚙️ Normalizing {0} flats by per-frame medians (central patch).",
2859
+ "⚙️ {0} reducer for flats — {1} ({2})",
2860
+ "⚙️ {0} selected for {1} frames (channels={2})",
2861
+ "⚠️ (MF) Auto-crop of output failed: {0}",
2862
+ "⚠️ (MF) Global crop failed: {0}",
2863
+ "⚠️ Auto register/integrate failed: {0}",
2864
+ "⚠️ CFA Drizzle: low-count fallback → using Edge-Aware Interpolation for this run.",
2865
+ "⚠️ Cannot load {0}; skipping.",
2866
+ "⚠️ Cannot read image size for {0}: {1}",
2867
+ "⚠️ Comet seed resolve failed: {0}",
2868
+ "⚠️ Comet star removal pre-process aborted: {0}",
2869
+ "⚠️ Could not ensure subfolders in '{0}': {1}",
2870
+ "⚠️ Could not load Master Bias: {0}",
2871
+ "⚠️ Could not load reference '{0}' for comet stack.",
2872
+ "⚠️ Could not load reference '{0}' for group '{1}'.",
2873
+ "⚠️ Could not load reference '{0}', skipping group.",
2874
+ "⚠️ Could not load {0} to determine drizzle shape!",
2875
+ "⚠️ Could not read XISF {0}: {1}; treating as generic image",
2876
+ "⚠️ 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
+ "⚠️ Error normalizing {0}: {1}",
2879
+ "⚠️ Error previewing {0}: {1}",
2880
+ "⚠️ Error: No alignment data available.",
2881
+ "⚠️ Failed to load {0}; skipping",
2882
+ "⚠️ Failed to open images (memmap): {0}",
2883
+ "⚠️ Failed to read {0} – skipping",
2884
+ "⚠️ Failed to save transform file: {0}",
2885
+ "⚠️ Failed to write SASD v2 ({0}); writing affine-only fallback.",
2886
+ "⚠️ 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
+ "⚠️ Global crop (mask-based) failed: {0}",
2889
+ "⚠️ Group '{0}' does not have enough frames to drizzle.",
2890
+ "⚠️ Group '{0}' does not have enough frames to stack.",
2891
+ "⚠️ Image registration failed: {0}",
2892
+ "⚠️ MEF save failed ({0}); falling back to single-HDU save.",
2893
+ "⚠️ MFDeconv engine import failed ({0}); falling back to Normal.",
2894
+ "⚠️ Missing REF_SHAPE in SASD; cannot drizzle.",
2895
+ "⚠️ No aligned frames available for MF deconvolution.",
2896
+ "⚠️ No calibrated lights available for star trails.",
2897
+ "⚠️ No data for {0}",
2898
+ "⚠️ No eligible dark groups found to stack.",
2899
+ "⚠️ No eligible flat groups found to stack.",
2900
+ "⚠️ No frames could be measured!",
2901
+ "⚠️ No frames found in the registration tree!",
2902
+ "⚠️ No frames to stack; aborting.",
2903
+ "⚠️ No leaf files selected to retag.",
2904
+ "⚠️ No light files to register!",
2905
+ "⚠️ No light frames available for stacking!",
2906
+ "⚠️ No registered images found!",
2907
+ "⚠️ No usable transform for {0} – skipping",
2908
+ "⚠️ No valid frames to compute reference median; aborting star-trail.",
2909
+ "⚠️ No valid previews in this chunk (couldn't find image data in any HDU).",
2910
+ "⚠️ No valid previews in this chunk (couldn’t find image data in any HDU).",
2911
+ "⚠️ No valid previews in this chunk.",
2912
+ "⚠️ Not enough frames with valid comet centroids; skipping comet stack.",
2913
+ "⚠️ Not enough valid frames in group '{0}' to stack.",
2914
+ "⚠️ Override dark missing on disk; falling back to Auto/None.",
2915
+ "⚠️ Per-group transform crop failed for '{0}': {1}",
2916
+ "⚠️ Preview error for {0}: {1}",
2917
+ "⚠️ PyTorch reports no GPU but you have an NVIDIA card – restarting may help.",
2918
+ "⚠️ Reference file '{0}' not found, skipping group.",
2919
+ "⚠️ Skipping {0}s ({1}) - Not enough frames to stack.",
2920
+ "⚠️ Skipping {0}s ({1}) [{2}] [{3}] - Not enough frames to stack.",
2921
+ "⚠️ Split error on {0}: {1}",
2922
+ "⚠️ Too many open files ({0}); falling back to lazy per-tile reads.",
2923
+ "⚠️ Transform-based global crop failed ({0}); falling back to mask-based.",
2924
+ "⚠️ Unsupported transform '{0}' – skipping {1}",
2925
+ "⚠️ WARNING: No Master Calibration Files available.",
2926
+ "⚠️ WARNING: No Master Darks available.",
2927
+ "⚠️ Warning: {0}",
2928
+ "⚠️ rebuild_flat_tree: could not parse key '{0}': {1}",
2929
+ "⚠️ {0}",
2930
+ "⚠️ {0} frame has no aligned counterpart – skipping {1}",
2931
+ "⚠️ {0} frames failed to align",
2932
+ "⚡ Fast mode: ",
2933
+ "⛔ Master Dark creation cancelled during tile processing.",
2934
+ "⛔ Master Dark creation cancelled.",
2935
+ "⛔ Master Dark creation cancelled; cleaning up temporary files.",
2936
+ "⛔ Master Flat creation cancelled.",
2937
+ "⛔ Master Flat creation cancelled; cleaning up temporary files.",
2938
+ "✂️ (MF) Auto Crop: using transform footprints…",
2939
+ "✂️ (MF) Auto-crop disabled (no common region).",
2940
+ "✂️ (MF) Mask-based crop → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2941
+ "✂️ (MF) No transforms/geometry available; falling back to mask-based method…",
2942
+ "✂️ (MF) Saved auto-cropped copy → {0}",
2943
+ "✂️ (MF) Transform crop yielded no valid rect; falling back to mask-based method…",
2944
+ "✂️ (MF) Transform crop → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2945
+ "✂️ Auto Crop Enabled. Calculating bounding box…",
2946
+ "✂️ Auto-crop: 0/{0} frames had usable transforms; skipping.",
2947
+ "✂️ Auto-crop: Loading transforms...",
2948
+ "✂️ Auto-crop: could not load first aligned ref.",
2949
+ "✂️ Auto-crop: no common area found; skipping.",
2950
+ "✂️ Auto-crop: no transforms file at {0}",
2951
+ "✂️ Auto-crop: rasterized {0}/{1} frames; need {2} per-pixel.",
2952
+ "✂️ Auto-crop: threshold produced empty mask.",
2953
+ "✂️ Auto-cropped to [{0}:{1}]×[{2}:{3}] (scale {4}×)",
2954
+ "✂️ Drizzle (auto-cropped) saved: {0}",
2955
+ "✂️ Global crop disabled; will fall back to per-group.",
2956
+ "✂️ Global crop rect={0} → size {1}×{2}",
2957
+ "✂️ Global crop: mask shapes differ across groups.",
2958
+ "✂️ Global crop: no mask for '{0}' → disabling global crop.",
2959
+ "✂️ Global crop: rect too small; disabling global crop.",
2960
+ "✂️ Mask-based crop (global) → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2961
+ "✂️ No stable rect found for this group; per-image fallback will be used.",
2962
+ "✂️ No transforms/geometry available for fast global crop; falling back to mask-based.",
2963
+ "✂️ Saved CometBlend (auto-cropped) → {0}",
2964
+ "✂️ Saved CometOnly (auto-cropped) → {0}",
2965
+ "✂️ Saved auto-cropped image for '{0}': {1}",
2966
+ "✂️ Transform crop (global) → [{0}:{1}]×[{2}:{3}] ({4}×{5})",
2967
+ "✂️ Transform crop produced no stable global rect; falling back to mask-based.",
2968
+ "✂️ Using fixed crop rect for '{0}': ({1},{2})–({3},{4})",
2969
+ "✅ ",
2970
+ "✅ Added Master {0} -> {1} under {2} with metadata: {3}",
2971
+ "✅ Added {0} as {1}",
2972
+ "✅ Added {0} file(s)",
2973
+ "✅ Aligned {0} frames successfully",
2974
+ "✅ All chunks complete! Measured {0} frames total.",
2975
+ "✅ All frames registered successfully!",
2976
+ "✅ Auto-accept measured reference is enabled; using the measured best frame.",
2977
+ "✅ Calibrated {0} frames",
2978
+ "✅ Calibration Complete!",
2979
+ "✅ Chunked stacking {0} group(s)...",
2980
+ "✅ Comet seed set. Proceeding with registration…",
2981
+ "✅ DEBUG: Added Master {0} -> {1} under {2} with metadata: {3}",
2982
+ "✅ Drizzle (original) saved: {0}",
2983
+ "✅ Dual-band split complete: Ha={0}, SII={1}, OIII={2}, Hb={3} (drizzle seeded on {4} new group(s))",
2984
+ "✅ Frame weights computed!",
2985
+ "✅ Group '{0}' not set for drizzle. Integrated image already saved.",
2986
+ "✅ 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.",
2989
+ "✅ Master Dark saved and added to UI: {0}",
2990
+ "✅ Master Dark saved: {0}",
2991
+ "✅ Master Flat saved: {0}",
2992
+ "✅ Master Light saved for group '{0}': {1}",
2993
+ "✅ Master bias saved",
2994
+ "✅ Master dark saved",
2995
+ "✅ Master flat saved",
2996
+ "✅ Ready",
2997
+ "✅ Removed {0} file(s)",
2998
+ "✅ SASD v2: loaded {0} transform(s).",
2999
+ "✅ Saved CometBlend → {0}",
3000
+ "✅ Saved CometOnly → {0}",
3001
+ "✅ Saved integrated image (original) for '{0}': {1}",
3002
+ "✅ Saved integrated image (single-HDU) for '{0}': {1}",
3003
+ "✅ Saved integrated image (with rejection layers) for '{0}': {1}",
3004
+ "✅ Saved rejection map to {0}",
3005
+ "✅ Saved stacking settings.",
3006
+ "✅ Star‐Trail image written to {0}",
3007
+ "✅ Transform file saved as alignment_transforms.sasd (v2)",
3008
+ "✅ Transform file saved as {0}",
3009
+ "✅ Updated self.light_files to use debayered, normalized *_n.fit frames.",
3010
+ "✅ User reference is locked; skipping reference review dialog.",
3011
+ "✅ {0}",
3012
+ "✖ Star-trail save cancelled.",
3013
+ "✨ Comet star removal enabled — pre-processing frames…",
3014
+ "✨ Using comet-aligned STARLESS frames for stack ({0} files).",
3015
+ "❌ ",
3016
+ "❌ ERROR: Could not read FITS header for {0} - {1}",
3017
+ "❌ ERROR: Failed to load {0}",
3018
+ "❌ Error: {0}",
3019
+ "❌ Failed to load reference {0}",
3020
+ "❌ Failed to memmap dark frames: {0}",
3021
+ "❌ Failed to memmap flat frames: {0}",
3022
+ "❌ GPU Acceleration install aborted: unsupported Python version.",
3023
+ "❌ MFDeconv failed for '{0}': {1}",
3024
+ "❌ Operation cancelled",
3025
+ "❌ Registration cancelled (no comet seed).",
3026
+ "❌ {0}",
3027
+ "⤴ {0}: {1} files",
3028
+ "⭐ Stacking in progress…",
3029
+ "⭐ Star-Trail Mode disabled: other options re-enabled.",
3030
+ "⭐ Star-Trail Mode enabled: Drizzle, Comet stack, and MFDeconv disabled.",
3031
+ "🌀 Normalizing chunk {0}/{1} ({2} frames)…",
3032
+ "🌈 Splitting dual-band OSC frames into Ha / SII / OIII...",
3033
+ "🌍 Loading {0} images in parallel for normalization (up to {1} threads)…",
3034
+ "🌍 Loading {0} previews in parallel (up to {1} threads)...",
3035
+ "🌍 Measuring global means in parallel...",
3036
+ "🌓 This flat group: using AUTO dark → {0}",
3037
+ "🌓 This flat group: using OVERRIDE dark → {0}",
3038
+ "🌠 Comet anchor in reference frame: ({0:.1f}, {1:.1f})",
3039
+ "🌠 Comet mode enabled for this group",
3040
+ "🌠 Comet mode: please click the comet center to continue…",
3041
+ "🌠 Comet seed set on {0} at ({1:.1f}, {2:.1f}).",
3042
+ "🌠 Create comet stack (comet-aligned)",
3043
+ "🌠 Star-Trail Mode enabled: skipping registration & using max-value stack",
3044
+ "🎉 CUDA: torch.cuda.is_available() → True, GPU ready.",
3045
+ "🎯 Stacking complete!",
3046
+ "🎯 Target pixel scale (hi-res): {0:.3f}\"/px × {1:.3f}\"/px",
3047
+ "🎯 Target pixel scale unknown (no WCS/pixel size). Will skip scale normalization.",
3048
+ "💡 For best results with CFA drizzle, aim for >65% fill.",
3049
+ "💾 Saving result…",
3050
+ "📁 Calibrated files saved to: {0}",
3051
+ "📁 Output saved to: {0}",
3052
+ "📁 Post-align: {0} group(s), {1} aligned frame(s).",
3053
+ "📂 DEBUG: Master Files Stored: {0}",
3054
+ "📂 Loaded stacking profile: {0}",
3055
+ "📂 Preparing to stack {0} frames in {1} groups.",
3056
+ "📂 {0} → StarCount={1}, Ecc={2:.4f}, Mean={3:.4f}, Weight={4:.4f}",
3057
+ "📈 Dark groups summary:",
3058
+ "📈 Flat groups summary:",
3059
+ "📈 Light groups summary:",
3060
+ "📊 (New) reference median: {0:.4f}",
3061
+ "📊 Calculating statistics…",
3062
+ "📊 Found {0} aligned/normalized frames. Measuring in parallel previews…",
3063
+ "📊 Found {0} total frames. Now measuring in parallel batches...",
3064
+ "📊 Group '{0}' has {1} aligned file(s).",
3065
+ "📊 Reference (debayered) median: {0:.4f}",
3066
+ "📊 Reference min={0:.6f}, normalized-median={1:.6f}",
3067
+ "📊 Stacking group '{0}' with {1}",
3068
+ "📊 Stacking group '{0}' with {1}{2}",
3069
+ "📊 Stacking {0} frames",
3070
+ "📌 Auto-selected reference: {0}",
3071
+ "📌 Auto-selected reference: {0} {1}",
3072
+ "📌 Comet reference pixel @ {0} → ({1:.2f},{2:.2f})",
3073
+ "📌 Reference for alignment (verbatim): {0}",
3074
+ "📌 Using user-specified reference (locked): {0}",
3075
+ "📌 Using user-specified reference: {0}",
3076
+ "📏 Pixel-scale normalize {0:.3f}\"/{1:.3f}\" → {2:.3f}\"/{3:.3f}\" | size {4}×{5} → {6}×{7}",
3077
+ "📐 Applying geometric correction…",
3078
+ "📐 Drizzle for '{0}' at {1}× (drop={2}) using {3} frame(s).",
3079
+ "📜 Reading metadata for {0} files…",
3080
+ "📦 Debayering reference frame…",
3081
+ "📦 Debayering {0}…",
3082
+ "📦 Measuring chunk {0}/{1} ({2} frames)",
3083
+ "📦 {0} tiles to process for this group (chunk {1}×{2}).",
3084
+ "📷 Applying bias subtraction…",
3085
+ "📷 Applying dark subtraction…",
3086
+ "📷 Applying flat correction…",
3087
+ "🔀 Computing transforms…",
3088
+ "🔁 Restarting Stacking Suite to apply {0}…",
3089
+ "🔄 Aligning frame {0}…",
3090
+ "🔄 Image Registration Started...",
3091
+ "🔄 Integrating Previously Registered Images…",
3092
+ "🔄 Normalizing frame {0}/{1}",
3093
+ "🔄 Processing files…",
3094
+ "🔍 Detected {0} stars",
3095
+ "🔍 Detecting stars in reference frame…",
3096
+ "🔎 CFA drizzle sub-pixel phase fill (8×8): {0:.1f}%",
3097
+ "🔎 Discovered {0} flat groups ({1} eligible to stack) — {2} files total.",
3098
+ "🔎 Discovered {0} grouped exposures ({1} eligible to stack) — {2} files total.",
3099
+ "🔎 Scanning {0} file(s)…",
3100
+ "🔢 Processing frame {0} of {1}",
3101
+ "🔥🚀Register and Integrate Images🔥🚀",
3102
+ "🔧 Applying corrections…",
3103
+ "🔧 Calibrating frame {0}…",
3104
+ "🔧 Comet stack chunk {0}×{1}",
3105
+ "🔧 Resampled for binning {0}×{1} → {2}×{3} size {4}×{5} → {6}×{7}",
3106
+ "🔧 Using chunk size {0}×{1} for {2}",
3107
+ "🔨 Creating master bias from {0} frames…",
3108
+ "🔨 Creating master dark from {0} frames…",
3109
+ "🔨 Creating master flat from {0} frames…",
3110
+ "🔬 Drizzle factor: {0}x",
3111
+ "🔬 Drizzle integration complete",
3112
+ "🔬 Output resolution: {0}x{1}",
3113
+ "🔬 Using {0} kernel",
3114
+ "🔭 Drizzle stacking for group '{0}' with {1} total rejected pixels.",
3115
+ "🔹 [{0}/{1}] Integrating '{2}' with {3} file(s)…",
3116
+ "🗂️ Creating temp memmap: {0} (shape={1}×{2}×{3}, dtype=float32)",
3117
+ "🚀 Calibrate Light Frames 🚀",
3118
+ "🚨 Could not load reference {0}. Aborting.",
3119
+ "🚨 Reference file does not exist: {0}",
3120
+ "🚨 Rejected {0} frame(s) due to shift > {1}px.",
3121
+ "🟠 Comet-aligned integration…",
3122
+ "🟡 Blending Stars+Comet (screen after 5% stretch; mix={0:.2f})…",
3123
+ "🟢 Assigned session '{0}' to group '{1}'",
3124
+ "🟢 Assigned session '{0}' to {1} file(s).",
3125
+ "🟢 Measuring comet centers (template match)…",
3126
+ "🟢 Processing {0} darks for {1}s ({2}) exposure…",
3127
+ "🟢 Processing {0} flats for {1} ({2}) [{3}] in session '{4}'…",
3128
+ "🧠 Selecting reference optimized for AstroAlign (starcount/(median*ecc))…",
3129
+ "🧩 Bayer flat group detected: {0}",
3130
+ "🧪 Multi-frame PSF-aware deconvolution path enabled.",
3131
+ "🧭 Drizzle uses {0} for {1}",
3132
+ "🧭 Total tiles to process: {0} (base chunk preference {1}×{2})",
3133
+ "🧮 Binning summary → target={0}×{1} (range observed: x=[{2}..{3}], y=[{4}..{5}])",
3134
+ "🧹 Clearing selection…"
3135
+ ],
3136
+ "StarSpikesDialogPro": [
3137
+ "Aperture",
3138
+ "Aperture Help",
3139
+ "Aperture Type:",
3140
+ "Apply to Active Document",
3141
+ "Detection Threshold (σ):",
3142
+ "Diffraction Spikes",
3143
+ "Fit to Preview",
3144
+ "Flux Min:",
3145
+ "Generate Spikes",
3146
+ "Number of Vanes:",
3147
+ "Obstruction:",
3148
+ "PSF & Synthesis",
3149
+ "PSF Blur Sigma:",
3150
+ "Pupil Radius:",
3151
+ "Ready",
3152
+ "Rotation (deg):",
3153
+ "Spike Boost:",
3154
+ "Star Detection",
3155
+ "Vane Width:",
3156
+ "Zoom In",
3157
+ "Zoom Out"
3158
+ ],
3159
+ "StarStretchDialog": [
3160
+ "Apply to Document",
3161
+ "Color Boost:",
3162
+ "Fit to Preview",
3163
+ "Preview",
3164
+ "Remove Green via SCNR (Optional)",
3165
+ "Star Stretch",
3166
+ "Stretch Amount:",
3167
+ "Zoom In",
3168
+ "Zoom Out"
3169
+ ],
3170
+ "StatisticalStretchDialog": [
3171
+ "Apply",
3172
+ "Close",
3173
+ "Curves boost",
3174
+ "Linked channels",
3175
+ "Normalize to [0..1]",
3176
+ "Preview",
3177
+ "Statistical Stretch",
3178
+ "Strength:",
3179
+ "Target median:"
3180
+ ],
3181
+ "StatusLogWindow": [
3182
+ "Clear",
3183
+ "Stacking Suite Log"
3184
+ ],
3185
+ "SupernovaAsteroidHunterDialog": [
3186
+ "Images (*.png *.tif *.tiff *.fits *.fit *.xisf)"
3187
+ ],
3188
+ "SurfaceDialog": [
3189
+ "Close",
3190
+ "Span: {0:.2f} … {1:.2f} {2}"
3191
+ ],
3192
+ "TableSubWindow": [
3193
+ "CSV Files (*.csv)",
3194
+ "Export CSV",
3195
+ "Export CSV…",
3196
+ "Failed to copy CSV:\n{0}",
3197
+ "Failed to export CSV:\n{0}",
3198
+ "Save CSV As…"
3199
+ ],
3200
+ "TiltDialog": [
3201
+ "Close",
3202
+ "Corner",
3203
+ "Tilt span: {0:.1f} µm … {1:.1f} µm",
3204
+ "Δ µm"
3205
+ ],
3206
+ "ToolbarMixin": [
3207
+ "&Exit",
3208
+ "1:1",
3209
+ "ABE...",
3210
+ "Aberration Correction (AI)...",
3211
+ "Add Stars...",
3212
+ "Add diffraction spikes to detected stars",
3213
+ "Add signatures/overlays and bake them into the active image",
3214
+ "Adjust specific hue ranges with CMY/RGB controls",
3215
+ "Advanced diffraction spikes with halos, flares and rainbow effects",
3216
+ "Align R and B channels to G using astroalign (affine/homography/poly)",
3217
+ "Align images via astroalign / triangles",
3218
+ "Apply Mask",
3219
+ "Apply a mask document to the active image",
3220
+ "Apply the current Display-Stretch to the image and add an undo step",
3221
+ "Apply the same stretch to all RGB channels",
3222
+ "Apply white balance (Star-Based, Manual, or Auto)",
3223
+ "Arcsinh star stretch with optional SCNR and color boost",
3224
+ "Arrange subwindows in a near-square grid",
3225
+ "AstroBin Exporter...",
3226
+ "AstroSpike...",
3227
+ "Auto-fit on Resize",
3228
+ "Automatic Background Extraction",
3229
+ "Background Neutralization...",
3230
+ "Batch Converter...",
3231
+ "Batch Modify FITS Headers",
3232
+ "Batch Rename from FITS...",
3233
+ "Batch-align frames to a reference",
3234
+ "Blemish Blaster...",
3235
+ "Blend a starless view with a stars-only view",
3236
+ "Blend two open images (replace A or create new)",
3237
+ "Blink Comparator...",
3238
+ "Build mosaics from overlapping frames",
3239
+ "Bundles",
3240
+ "CLAHE...",
3241
+ "Cascade Views",
3242
+ "Cascade all subwindows",
3243
+ "Check for Updates...",
3244
+ "Clear All Views",
3245
+ "Close all views and clear shortcuts",
3246
+ "Close all views and documents, keep desktop shortcuts",
3247
+ "Combine narrowband to RGB with optional OSC stars",
3248
+ "Combine three mono images into RGB",
3249
+ "Compare a stack of images by blinking",
3250
+ "Continuum Subtract (NB - scaled broadband)",
3251
+ "Continuum Subtract...",
3252
+ "Contrast Limited Adaptive Histogram Equalization",
3253
+ "Convolution / Deconvolution...",
3254
+ "Copy Astrometric Solution...",
3255
+ "Copy View (zoom/pan)",
3256
+ "Cosmic Clarity",
3257
+ "Cosmic Clarity Satellite...",
3258
+ "Cosmic Clarity UI...",
3259
+ "Create Mask...",
3260
+ "Create Sample Scripts...",
3261
+ "Create a mask from the active image",
3262
+ "Create a new mono document using the selected luminance method",
3263
+ "Create and run bundles of functions/shortcuts",
3264
+ "Create bundles of views; drop shortcuts to apply to all",
3265
+ "Crop / rotate with handles",
3266
+ "Crop...",
3267
+ "Curves Editor...",
3268
+ "Debayer...",
3269
+ "Demosaic a Bayer-mosaic mono image to RGB",
3270
+ "Detect exoplanet transits from time-series subs",
3271
+ "Diffraction Spikes...",
3272
+ "Display-Stretch",
3273
+ "Documentation...",
3274
+ "Enhance faint/dark structures with wavelet-guided masking",
3275
+ "Erosion, dilation, opening, and closing.",
3276
+ "Evaluate expressions using open view names",
3277
+ "Exoplanet Detector...",
3278
+ "Extract Luminance",
3279
+ "Extract R/G/B as three mono documents",
3280
+ "FITS Header Batch Modifier...",
3281
+ "FITS Header Modifier...",
3282
+ "Find transients/anomalies across frames",
3283
+ "Fit",
3284
+ "Fit galaxy isophotes and reveal residuals",
3285
+ "Fit image to current window",
3286
+ "Flip Horizontal",
3287
+ "Flip Vertical",
3288
+ "Flip image left<->right",
3289
+ "Flip image top<->bottom",
3290
+ "Frequency Separation...",
3291
+ "Function Bundles...",
3292
+ "Functions",
3293
+ "GLIMR -- Isophote Modeler...",
3294
+ "Generalized hyperbolic stretch (α/beta/gamma, LP/HP, pivot)",
3295
+ "Geometry",
3296
+ "Halo-B-Gon...",
3297
+ "Hard (target 0.50, σ 2)",
3298
+ "Hard-Display-Stretch",
3299
+ "Hide Mask Overlay",
3300
+ "Histogram...",
3301
+ "History Explorer...",
3302
+ "Hyperbolic Stretch...",
3303
+ "Identify objects in a plate-solved frame",
3304
+ "Image Combine...",
3305
+ "Image Inspector and Focal Plane Analysis",
3306
+ "Image Peeker...",
3307
+ "Inspect and restore from the slot's history",
3308
+ "Inspect star PSF/HFR and flux histograms (SEP)",
3309
+ "Interactive blemish removal on the active view",
3310
+ "Invert",
3311
+ "Invert Mask",
3312
+ "Invert image colors",
3313
+ "Linear Fit...",
3314
+ "Link Pan/Zoom",
3315
+ "Link RGB channels",
3316
+ "Live Stacking...",
3317
+ "Live monitor and stack incoming frames",
3318
+ "Load Project...",
3319
+ "Load a .sas project (views, histories, shortcuts)",
3320
+ "Make Display-Stretch Permanent",
3321
+ "Masks",
3322
+ "Match image levels using Linear Fit",
3323
+ "Mid (target 0.40, σ 3)",
3324
+ "Morphological Operations...",
3325
+ "Mosaic Master...",
3326
+ "Multiscale Decomposition...",
3327
+ "Multiscale detail/residual decomposition with per-layer controls",
3328
+ "NB->RGB Stars...",
3329
+ "Neutralize background color balance using a sampled region",
3330
+ "New Project",
3331
+ "Normal (target 0.30, σ 5)",
3332
+ "Open Convolution / Deconvolution",
3333
+ "Open SFCC (Pickles + Filters + Sensor QE)",
3334
+ "Open Scripts Folder...",
3335
+ "Open Scripts Forum (Discord)...",
3336
+ "Open User Scripts (GitHub)...",
3337
+ "Open image(s)",
3338
+ "Open the Curves Editor for the active image",
3339
+ "Open the SASpro user scripts folder",
3340
+ "Open the Seti Astro Suite Pro online documentation",
3341
+ "Open the built-in script editor",
3342
+ "Open...",
3343
+ "PSF Viewer...",
3344
+ "Paste View",
3345
+ "Perfect Palette Picker...",
3346
+ "Pick the perfect palette for your image",
3347
+ "Pixel Math...",
3348
+ "Plan targets by altitude, transit time, and lunar separation",
3349
+ "Plate Solver...",
3350
+ "Presets",
3351
+ "RGB Align...",
3352
+ "RGB Combination...",
3353
+ "RGB Extract",
3354
+ "Recombine Luminance...",
3355
+ "Redo",
3356
+ "Reload Scripts",
3357
+ "Remove Active Mask",
3358
+ "Remove Gradient (GraXpert)...",
3359
+ "Remove Green...",
3360
+ "Remove Pedestal",
3361
+ "Remove Stars...",
3362
+ "Remove the active mask from the active image",
3363
+ "Remove those pesky halos around your stars",
3364
+ "Replace the active image's luminance from another view",
3365
+ "Rescale image by a factor",
3366
+ "Rescale...",
3367
+ "Rescan the scripts folder and reload .py files",
3368
+ "Rotate 180°",
3369
+ "Rotate 90° Clockwise",
3370
+ "Rotate 90° Counterclockwise",
3371
+ "Rotate image 180°",
3372
+ "Rotate image 90° clockwise",
3373
+ "Rotate image 90° counterclockwise",
3374
+ "Run GraXpert background extraction on the active image",
3375
+ "Run star removal on the active image",
3376
+ "SCNR-style green channel removal.",
3377
+ "Save As...",
3378
+ "Save Project...",
3379
+ "Save all views, histories, and shortcuts to a .sas file",
3380
+ "Save the active image",
3381
+ "Script Editor...",
3382
+ "Selective Color Correction...",
3383
+ "Set Sigma...",
3384
+ "Set Target Median...",
3385
+ "Set the sigma for Display-Stretch (e.g., 5.0)",
3386
+ "Set the target median for Display-Stretch (e.g., 0.30)",
3387
+ "Show Mask Overlay",
3388
+ "Signature / Insert...",
3389
+ "Smart Grid",
3390
+ "Solve WCS/SIP for the active image or a file",
3391
+ "Spectral Flux Color Calibration...",
3392
+ "Split into LF/HF and enhance HF (scale, wavelet, denoise)",
3393
+ "Split the workspace into equal horizontal rows",
3394
+ "Split the workspace into equal vertical columns",
3395
+ "Stacking Suite...",
3396
+ "Stacking! Darks, Flats, Lights, Calibration, Drizzle, and more!!",
3397
+ "Star Stretch...",
3398
+ "Star Stuff",
3399
+ "Statistical Stretch...",
3400
+ "Stellar Alignment...",
3401
+ "Stellar Register...",
3402
+ "Stretch the image using median/SD statistics",
3403
+ "Subtract per-channel minimum.\nClick: active view\nAlt+Drag: drop onto a view",
3404
+ "Supernova / Asteroid Hunter...",
3405
+ "Tile Horizontally",
3406
+ "Tile Vertically",
3407
+ "Tile Views",
3408
+ "Tile all subwindows",
3409
+ "Toggle display auto-stretch for the active window",
3410
+ "Toggle hard profile for Display-Stretch (H)",
3411
+ "Tools",
3412
+ "Undo",
3413
+ "View Bundles...",
3414
+ "View histogram and basic stats for the active image",
3415
+ "View/Edit FITS headers",
3416
+ "Wave-scale HDR with luminance-masked starlet",
3417
+ "WaveScale Dark Enhancer...",
3418
+ "WaveScale HDR...",
3419
+ "What's In My Image...",
3420
+ "What's In My Sky...",
3421
+ "What's In My...",
3422
+ "White Balance...",
3423
+ "Write a ready-to-edit sample script into the scripts folder",
3424
+ "Zoom In",
3425
+ "Zoom Out",
3426
+ "Zoom in",
3427
+ "Zoom out",
3428
+ "Zoom to 100% (pixel-for-pixel)"
3429
+ ],
3430
+ "UpdateMixin": [
3431
+ "A new version ({0}) is available!",
3432
+ "A new version is available",
3433
+ "Check for Updates",
3434
+ "Checking for updates...",
3435
+ "Could not download update:\n{0}",
3436
+ "Could not extract update zip:\n{0}",
3437
+ "Could not save update to disk:\n{0}",
3438
+ "Could not start installer:\n{0}",
3439
+ "Current version",
3440
+ "Download",
3441
+ "Download and install",
3442
+ "Download complete",
3443
+ "Download failed",
3444
+ "Downloaded ZIP did not contain an .exe installer.\nFolder: {0}",
3445
+ "Downloading update...",
3446
+ "Downloading update... {0:.1f} KB / {1:.1f} KB",
3447
+ "Failed to check for updates",
3448
+ "Installing update...",
3449
+ "Invalid response from server",
3450
+ "Network error",
3451
+ "New version",
3452
+ "No download link available for this platform.",
3453
+ "No updates available",
3454
+ "Release Notes:\n{0}",
3455
+ "Release notes",
3456
+ "Remind me later",
3457
+ "Restart later",
3458
+ "Restart now",
3459
+ "Restart required",
3460
+ "Run Installer",
3461
+ "Skip this version",
3462
+ "The update has been downloaded.\n\nRun the installer now? (SAS will close.)",
3463
+ "Unable to check for updates.\n\n{err}",
3464
+ "Up to Date",
3465
+ "Update Available",
3466
+ "Update Check Failed",
3467
+ "Update Failed",
3468
+ "Update JSON is invalid.\n\n{je}",
3469
+ "Update JSON missing the 'version' field.",
3470
+ "Update available",
3471
+ "Update available: {0}",
3472
+ "Update installed",
3473
+ "What's new",
3474
+ "You are running the latest version",
3475
+ "You're already running the latest version."
3476
+ ],
3477
+ "WhatsInMyImage": [
3478
+ "Analyze Image",
3479
+ "Analyzing...",
3480
+ "Annotation color",
3481
+ "Annotation size",
3482
+ "Annotation style",
3483
+ "Arrow",
3484
+ "Asteroids",
3485
+ "Circle",
3486
+ "Comets",
3487
+ "Constellation",
3488
+ "Crosshair",
3489
+ "Dark nebulae",
3490
+ "Distance",
3491
+ "Export catalog",
3492
+ "Found Objects",
3493
+ "Galaxies",
3494
+ "Globular clusters",
3495
+ "Hide annotations",
3496
+ "Label",
3497
+ "Magnitude",
3498
+ "Maximum magnitude",
3499
+ "Minimum magnitude",
3500
+ "Nebulae",
3501
+ "No WCS data",
3502
+ "No objects found",
3503
+ "Object Name",
3504
+ "Object types",
3505
+ "Open clusters",
3506
+ "Planetary nebulae",
3507
+ "Please plate solve the image first",
3508
+ "Quasars",
3509
+ "RA/Dec",
3510
+ "Search radius",
3511
+ "Settings",
3512
+ "Show annotations",
3513
+ "Show distance",
3514
+ "Show magnitude",
3515
+ "Show on image",
3516
+ "Show type",
3517
+ "Size",
3518
+ "Star clusters",
3519
+ "Stars",
3520
+ "Type",
3521
+ "What's In My Image"
3522
+ ],
3523
+ "WhatsInMySky": [
3524
+ "Add to imaging plan",
3525
+ "Altitude",
3526
+ "Altitude chart",
3527
+ "Astronomical twilight",
3528
+ "Azimuth",
3529
+ "Civil twilight",
3530
+ "Custom time",
3531
+ "Dark time",
3532
+ "Date",
3533
+ "Date & Time",
3534
+ "Enter coordinates",
3535
+ "Excellent",
3536
+ "Export list",
3537
+ "Fair",
3538
+ "Filter by type",
3539
+ "First quarter",
3540
+ "Full moon",
3541
+ "Good",
3542
+ "Illumination",
3543
+ "Imaging time",
3544
+ "Imaging window",
3545
+ "Last quarter",
3546
+ "Latitude",
3547
+ "Location",
3548
+ "Longitude",
3549
+ "Maximum moon separation",
3550
+ "Minimum altitude",
3551
+ "Minimum transit altitude",
3552
+ "Moon Separation",
3553
+ "Moon phase",
3554
+ "Moon separation",
3555
+ "Moonrise",
3556
+ "Moonset",
3557
+ "Name",
3558
+ "Nautical twilight",
3559
+ "New moon",
3560
+ "Not visible",
3561
+ "Object Name",
3562
+ "Poor",
3563
+ "Rise Time",
3564
+ "Search",
3565
+ "Search targets",
3566
+ "Set Time",
3567
+ "Show chart",
3568
+ "Sky chart",
3569
+ "Sort by",
3570
+ "Sunset",
3571
+ "Time",
3572
+ "Time Zone",
3573
+ "Tomorrow night",
3574
+ "Tonight",
3575
+ "Transit Time",
3576
+ "Transit time",
3577
+ "Type",
3578
+ "Use current location",
3579
+ "Use current time",
3580
+ "Visibility",
3581
+ "Visible Objects",
3582
+ "Waning",
3583
+ "Waxing",
3584
+ "What's In My Sky"
3585
+ ],
3586
+ "_AstrobinIdDelegate": [
3587
+ "Enter AstroBin ID",
3588
+ "Invalid ID format",
3589
+ "e.g. 4408"
3590
+ ],
3591
+ "_DragTab": [
3592
+ "Close all tabs",
3593
+ "Close other tabs",
3594
+ "Close tab",
3595
+ "Close tabs to the right",
3596
+ "Drag to duplicate/copy view.\nHold Alt while dragging to LINK this view with another (live pan/zoom sync).\nHold Shift while dragging to drop this image as a mask onto another view.\nHold Ctrl while dragging to copy the astrometric solution (WCS) to another view.",
3597
+ "Drag to reorder"
3598
+ ],
3599
+ "_MaskWindow": [
3600
+ "Apply",
3601
+ "Blur",
3602
+ "Close",
3603
+ "Contract",
3604
+ "Dark Mask",
3605
+ "Expand",
3606
+ "Feather",
3607
+ "Invert",
3608
+ "Mask",
3609
+ "Mask Preview",
3610
+ "Reset"
3611
+ ],
3612
+ "_Progress": [
3613
+ "Cancel",
3614
+ "Cancelled",
3615
+ "Completed",
3616
+ "Failed",
3617
+ "Please wait...",
3618
+ "Processing...",
3619
+ "Progress"
3620
+ ],
3621
+ "_SimplePickDialog": [
3622
+ "1:1",
3623
+ "Cancel",
3624
+ "Click the comet center",
3625
+ "Disable Autostretch",
3626
+ "Enable Autostretch",
3627
+ "Fit",
3628
+ "OK",
3629
+ "Select",
3630
+ "Zoom In",
3631
+ "Zoom Out"
3632
+ ],
3633
+ "_SolveStatusPopup": [
3634
+ "Apply WCS",
3635
+ "Cancelled",
3636
+ "Close",
3637
+ "Copy to clipboard",
3638
+ "Dec",
3639
+ "Failed",
3640
+ "Field size",
3641
+ "Hide",
3642
+ "Plate Solve Status",
3643
+ "Plate Solving",
3644
+ "RA",
3645
+ "RMS error",
3646
+ "Rotation",
3647
+ "Scale",
3648
+ "Solving...",
3649
+ "Stars matched",
3650
+ "Starting…",
3651
+ "Success",
3652
+ "View in Aladin"
3653
+ ]
3654
+ }