setiastrosuitepro 1.8.0.post3__py3-none-any.whl → 1.8.2__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 (43) hide show
  1. setiastro/images/finderchart.png +0 -0
  2. setiastro/saspro/__main__.py +41 -39
  3. setiastro/saspro/_generated/build_info.py +2 -2
  4. setiastro/saspro/abe.py +1 -1
  5. setiastro/saspro/blink_comparator_pro.py +3 -1
  6. setiastro/saspro/bright_stars.py +305 -0
  7. setiastro/saspro/continuum_subtract.py +2 -1
  8. setiastro/saspro/cosmicclarity_engines/darkstar_engine.py +22 -2
  9. setiastro/saspro/cosmicclarity_engines/denoise_engine.py +68 -15
  10. setiastro/saspro/cosmicclarity_engines/satellite_engine.py +7 -3
  11. setiastro/saspro/cosmicclarity_engines/sharpen_engine.py +371 -98
  12. setiastro/saspro/cosmicclarity_engines/superres_engine.py +1 -0
  13. setiastro/saspro/cosmicclarity_preset.py +2 -1
  14. setiastro/saspro/doc_manager.py +8 -0
  15. setiastro/saspro/exoplanet_detector.py +22 -17
  16. setiastro/saspro/finder_chart.py +1639 -0
  17. setiastro/saspro/gui/main_window.py +36 -14
  18. setiastro/saspro/gui/mixins/menu_mixin.py +2 -0
  19. setiastro/saspro/gui/mixins/toolbar_mixin.py +9 -1
  20. setiastro/saspro/legacy/image_manager.py +18 -4
  21. setiastro/saspro/legacy/xisf.py +3 -3
  22. setiastro/saspro/main_helpers.py +18 -0
  23. setiastro/saspro/memory_utils.py +18 -14
  24. setiastro/saspro/model_manager.py +65 -0
  25. setiastro/saspro/model_workers.py +58 -24
  26. setiastro/saspro/ops/settings.py +45 -8
  27. setiastro/saspro/planetprojection.py +68 -36
  28. setiastro/saspro/resources.py +193 -175
  29. setiastro/saspro/runtime_torch.py +622 -137
  30. setiastro/saspro/sfcc.py +5 -3
  31. setiastro/saspro/stacking_suite.py +4 -3
  32. setiastro/saspro/star_alignment.py +266 -212
  33. setiastro/saspro/texture_clarity.py +1 -1
  34. setiastro/saspro/widgets/image_utils.py +12 -4
  35. setiastro/saspro/widgets/spinboxes.py +5 -7
  36. setiastro/saspro/wimi.py +2 -1
  37. setiastro/saspro/xisf.py +3 -3
  38. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/METADATA +4 -4
  39. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/RECORD +43 -40
  40. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/WHEEL +0 -0
  41. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/entry_points.txt +0 -0
  42. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/licenses/LICENSE +0 -0
  43. {setiastrosuitepro-1.8.0.post3.dist-info → setiastrosuitepro-1.8.2.dist-info}/licenses/license.txt +0 -0
setiastro/saspro/sfcc.py CHANGED
@@ -11,6 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ from setiastro.saspro.main_helpers import non_blocking_sleep
15
+
14
16
  import os
15
17
  import re
16
18
  import cv2
@@ -1149,7 +1151,7 @@ class SFCCDialog(QDialog):
1149
1151
  break
1150
1152
  except Exception:
1151
1153
  QApplication.processEvents()
1152
- time.sleep(0.8)
1154
+ non_blocking_sleep(0.8)
1153
1155
 
1154
1156
  if not ok:
1155
1157
  for _ in range(5):
@@ -1159,7 +1161,7 @@ class SFCCDialog(QDialog):
1159
1161
  break
1160
1162
  except Exception:
1161
1163
  QApplication.processEvents()
1162
- time.sleep(0.8)
1164
+ non_blocking_sleep(0.8)
1163
1165
 
1164
1166
  if not ok:
1165
1167
  QMessageBox.critical(self, "SIMBAD Error", "Could not configure SIMBAD votable fields.")
@@ -1178,7 +1180,7 @@ class SFCCDialog(QDialog):
1178
1180
  break
1179
1181
  except Exception:
1180
1182
  QApplication.processEvents()
1181
- time.sleep(1.2)
1183
+ non_blocking_sleep(1.2)
1182
1184
  result = None
1183
1185
 
1184
1186
  if result is None or len(result) == 0:
@@ -6728,7 +6728,7 @@ class StackingSuiteDialog(QDialog):
6728
6728
  s = s[:-1]
6729
6729
  try:
6730
6730
  return float(s)
6731
- except Exception:
6731
+ except (ValueError, TypeError):
6732
6732
  return 2.0
6733
6733
  return 2.0
6734
6734
 
@@ -6737,7 +6737,7 @@ class StackingSuiteDialog(QDialog):
6737
6737
  def _set_drizzle_scale(self, r: float | str) -> None:
6738
6738
  if isinstance(r, str):
6739
6739
  try: r = float(r.rstrip("xX"))
6740
- except: r = 2.0
6740
+ except ValueError: r = 2.0
6741
6741
  r = float(max(1.0, min(3.0, r)))
6742
6742
  # store as “Nx” so the combo’s string stays in sync
6743
6743
  self.settings.setValue("stacking/drizzle_scale", f"{int(r)}x")
@@ -6754,7 +6754,8 @@ class StackingSuiteDialog(QDialog):
6754
6754
  if cb is not None:
6755
6755
  try:
6756
6756
  return bool(cb.isChecked())
6757
- except Exception:
6757
+ except (RuntimeError, AttributeError):
6758
+ # Wrapped object might be deleted or invalid
6758
6759
  pass
6759
6760
  # fallback to settings (headless / older flows)
6760
6761
  return bool(self.settings.value("stacking/drizzle_enabled", False, type=bool))