setiastrosuitepro 1.6.7__py3-none-any.whl → 1.7.0__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.
- setiastro/images/abeicon.svg +16 -0
- setiastro/images/colorwheel.svg +97 -0
- setiastro/images/cosmic.svg +40 -0
- setiastro/images/cosmicsat.svg +24 -0
- setiastro/images/graxpert.svg +19 -0
- setiastro/images/linearfit.svg +32 -0
- setiastro/images/narrowbandnormalization.png +0 -0
- setiastro/images/pixelmath.svg +42 -0
- setiastro/images/planetarystacker.png +0 -0
- setiastro/saspro/__main__.py +1 -1
- setiastro/saspro/_generated/build_info.py +2 -2
- setiastro/saspro/aberration_ai.py +49 -11
- setiastro/saspro/aberration_ai_preset.py +29 -3
- setiastro/saspro/add_stars.py +29 -5
- setiastro/saspro/backgroundneutral.py +73 -33
- setiastro/saspro/blink_comparator_pro.py +150 -55
- setiastro/saspro/convo.py +9 -6
- setiastro/saspro/cosmicclarity.py +125 -18
- setiastro/saspro/crop_dialog_pro.py +96 -2
- setiastro/saspro/curve_editor_pro.py +132 -61
- setiastro/saspro/curves_preset.py +249 -47
- setiastro/saspro/doc_manager.py +178 -11
- setiastro/saspro/frequency_separation.py +1159 -208
- setiastro/saspro/gui/main_window.py +340 -88
- setiastro/saspro/gui/mixins/dock_mixin.py +245 -24
- setiastro/saspro/gui/mixins/file_mixin.py +35 -16
- setiastro/saspro/gui/mixins/menu_mixin.py +31 -1
- setiastro/saspro/gui/mixins/theme_mixin.py +160 -14
- setiastro/saspro/gui/mixins/toolbar_mixin.py +132 -10
- setiastro/saspro/gui/mixins/update_mixin.py +121 -33
- setiastro/saspro/histogram.py +179 -7
- setiastro/saspro/imageops/narrowband_normalization.py +816 -0
- setiastro/saspro/imageops/serloader.py +769 -0
- setiastro/saspro/imageops/starbasedwhitebalance.py +23 -52
- setiastro/saspro/imageops/stretch.py +582 -62
- setiastro/saspro/layers.py +13 -9
- setiastro/saspro/layers_dock.py +183 -3
- setiastro/saspro/legacy/numba_utils.py +68 -48
- setiastro/saspro/live_stacking.py +181 -73
- setiastro/saspro/multiscale_decomp.py +77 -29
- setiastro/saspro/narrowband_normalization.py +1618 -0
- setiastro/saspro/numba_utils.py +72 -57
- setiastro/saspro/ops/commands.py +18 -18
- setiastro/saspro/ops/script_editor.py +5 -0
- setiastro/saspro/ops/scripts.py +119 -0
- setiastro/saspro/remove_green.py +1 -1
- setiastro/saspro/resources.py +4 -0
- setiastro/saspro/ser_stack_config.py +68 -0
- setiastro/saspro/ser_stacker.py +2245 -0
- setiastro/saspro/ser_stacker_dialog.py +1481 -0
- setiastro/saspro/ser_tracking.py +206 -0
- setiastro/saspro/serviewer.py +1242 -0
- setiastro/saspro/sfcc.py +602 -214
- setiastro/saspro/shortcuts.py +154 -25
- setiastro/saspro/signature_insert.py +688 -33
- setiastro/saspro/stacking_suite.py +853 -401
- setiastro/saspro/star_alignment.py +243 -122
- setiastro/saspro/stat_stretch.py +878 -131
- setiastro/saspro/subwindow.py +303 -74
- setiastro/saspro/whitebalance.py +24 -0
- setiastro/saspro/widgets/common_utilities.py +28 -21
- setiastro/saspro/widgets/resource_monitor.py +128 -80
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/METADATA +2 -2
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/RECORD +68 -51
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/WHEEL +0 -0
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/entry_points.txt +0 -0
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/licenses/LICENSE +0 -0
- {setiastrosuitepro-1.6.7.dist-info → setiastrosuitepro-1.7.0.dist-info}/licenses/license.txt +0 -0
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# src/setiastro/saspro/widgets/resource_monitor.py
|
|
2
2
|
from __future__ import annotations
|
|
3
|
+
|
|
3
4
|
import os
|
|
5
|
+
import time
|
|
6
|
+
import subprocess
|
|
7
|
+
import numpy as np
|
|
8
|
+
|
|
4
9
|
import psutil
|
|
10
|
+
|
|
5
11
|
from PyQt6.QtCore import Qt, QUrl, QTimer, QObject, pyqtProperty, pyqtSignal, QThread
|
|
6
|
-
from PyQt6.QtWidgets import QWidget, QVBoxLayout, QFrame
|
|
7
12
|
from PyQt6.QtQuickWidgets import QQuickWidget
|
|
8
|
-
|
|
9
|
-
import subprocess
|
|
13
|
+
|
|
10
14
|
from setiastro.saspro.memory_utils import get_memory_usage_mb
|
|
11
15
|
from setiastro.saspro.resources import _get_base_path
|
|
12
16
|
|
|
@@ -46,7 +50,6 @@ class GPUWorker(QThread):
|
|
|
46
50
|
self._last_win_poll = now
|
|
47
51
|
|
|
48
52
|
try:
|
|
49
|
-
# Use explicit powershell.exe and make it non-interactive + hidden
|
|
50
53
|
cmd = [
|
|
51
54
|
"powershell.exe",
|
|
52
55
|
"-NoProfile",
|
|
@@ -54,20 +57,20 @@ class GPUWorker(QThread):
|
|
|
54
57
|
"-ExecutionPolicy", "Bypass",
|
|
55
58
|
"-Command",
|
|
56
59
|
(
|
|
57
|
-
"$
|
|
58
|
-
"-ErrorAction SilentlyContinue
|
|
59
|
-
"
|
|
60
|
-
"$
|
|
61
|
-
"$
|
|
62
|
-
"
|
|
60
|
+
"$x = Get-CimInstance Win32_PerfFormattedData_GPUPerformanceCounters_GPUEngine "
|
|
61
|
+
"-ErrorAction SilentlyContinue; "
|
|
62
|
+
"if (-not $x) { 0 } else { "
|
|
63
|
+
" $m = ($x | Measure-Object -Property UtilizationPercentage -Maximum).Maximum; "
|
|
64
|
+
" if ($m) { [math]::Round([double]$m, 1) } else { 0 } "
|
|
65
|
+
"}"
|
|
63
66
|
),
|
|
64
67
|
]
|
|
65
68
|
|
|
66
69
|
out = subprocess.check_output(
|
|
67
70
|
cmd,
|
|
68
71
|
startupinfo=self._startupinfo_hidden(),
|
|
69
|
-
timeout=
|
|
70
|
-
stderr=subprocess.DEVNULL,
|
|
72
|
+
timeout=2.0,
|
|
73
|
+
stderr=subprocess.DEVNULL,
|
|
71
74
|
)
|
|
72
75
|
val_str = out.decode("utf-8", errors="ignore").strip()
|
|
73
76
|
|
|
@@ -82,7 +85,7 @@ class GPUWorker(QThread):
|
|
|
82
85
|
nv_val = 0.0
|
|
83
86
|
win_val = 0.0
|
|
84
87
|
|
|
85
|
-
# NVIDIA (fast
|
|
88
|
+
# NVIDIA (fast)
|
|
86
89
|
if self._has_nvidia:
|
|
87
90
|
try:
|
|
88
91
|
out = subprocess.check_output(
|
|
@@ -107,7 +110,7 @@ class GPUWorker(QThread):
|
|
|
107
110
|
try:
|
|
108
111
|
val = self._get_gpu_load()
|
|
109
112
|
|
|
110
|
-
#
|
|
113
|
+
# emit only if changed enough OR periodically
|
|
111
114
|
now = time.monotonic()
|
|
112
115
|
if (
|
|
113
116
|
self._last_emitted_val is None
|
|
@@ -122,9 +125,10 @@ class GPUWorker(QThread):
|
|
|
122
125
|
except Exception:
|
|
123
126
|
self.msleep(1000)
|
|
124
127
|
|
|
128
|
+
|
|
125
129
|
class ResourceBackend(QObject):
|
|
126
|
-
"""Backend logic for the QML Resource Monitor."""
|
|
127
|
-
|
|
130
|
+
"""Backend logic for the QML Resource Monitor (SYSTEM usage, not app usage)."""
|
|
131
|
+
|
|
128
132
|
cpuChanged = pyqtSignal()
|
|
129
133
|
ramChanged = pyqtSignal()
|
|
130
134
|
gpuChanged = pyqtSignal()
|
|
@@ -132,12 +136,25 @@ class ResourceBackend(QObject):
|
|
|
132
136
|
|
|
133
137
|
def __init__(self, parent=None):
|
|
134
138
|
super().__init__(parent)
|
|
135
|
-
|
|
136
|
-
self.
|
|
137
|
-
self.
|
|
139
|
+
|
|
140
|
+
self._cpu = 0.0 # system CPU %
|
|
141
|
+
self._ram = 0.0 # system RAM %
|
|
142
|
+
self._gpu = 0.0 # GPU %
|
|
138
143
|
self._app_ram_val = 0.0
|
|
139
144
|
self._app_ram_str = "0 MB"
|
|
140
|
-
|
|
145
|
+
|
|
146
|
+
# ---- Prime psutil CPU baselines (IMPORTANT on Windows) ----
|
|
147
|
+
# First call returns a meaningless 0.0 (or weird) because it establishes the baseline.
|
|
148
|
+
try:
|
|
149
|
+
psutil.cpu_percent(interval=None)
|
|
150
|
+
psutil.cpu_percent(percpu=True, interval=None)
|
|
151
|
+
except Exception:
|
|
152
|
+
pass
|
|
153
|
+
|
|
154
|
+
# Optional smoothing so gauge feels like Task Manager
|
|
155
|
+
self._cpu_ema = None # exponential moving average
|
|
156
|
+
self._last_cpu_times = None
|
|
157
|
+
self._last_cpu_sample_t = 0.0
|
|
141
158
|
# Check if nvidia-smi is reachable once
|
|
142
159
|
has_nvidia = False
|
|
143
160
|
try:
|
|
@@ -152,49 +169,101 @@ class ResourceBackend(QObject):
|
|
|
152
169
|
self._gpu_worker.resultReady.connect(self._on_gpu_measured)
|
|
153
170
|
self._gpu_worker.start()
|
|
154
171
|
|
|
155
|
-
# Timer for CPU/RAM updates (250ms
|
|
172
|
+
# Timer for CPU/RAM updates (250ms)
|
|
156
173
|
self._timer = QTimer(self)
|
|
157
|
-
self._timer.setInterval(250)
|
|
174
|
+
self._timer.setInterval(250)
|
|
158
175
|
self._timer.timeout.connect(self._update_stats)
|
|
159
176
|
self._timer.start()
|
|
160
177
|
|
|
161
178
|
def _on_gpu_measured(self, val: float):
|
|
162
|
-
self._gpu = val
|
|
179
|
+
self._gpu = float(val)
|
|
163
180
|
self.gpuChanged.emit()
|
|
164
181
|
|
|
165
182
|
@pyqtProperty(float, notify=cpuChanged)
|
|
166
|
-
def cpuUsage(self):
|
|
167
|
-
return self._cpu
|
|
183
|
+
def cpuUsage(self) -> float:
|
|
184
|
+
return float(self._cpu)
|
|
168
185
|
|
|
169
186
|
@pyqtProperty(float, notify=ramChanged)
|
|
170
|
-
def ramUsage(self):
|
|
171
|
-
return self._ram
|
|
187
|
+
def ramUsage(self) -> float:
|
|
188
|
+
return float(self._ram)
|
|
172
189
|
|
|
173
190
|
@pyqtProperty(float, notify=gpuChanged)
|
|
174
|
-
def gpuUsage(self):
|
|
175
|
-
return self._gpu
|
|
191
|
+
def gpuUsage(self) -> float:
|
|
192
|
+
return float(self._gpu)
|
|
176
193
|
|
|
177
194
|
@pyqtProperty(str, notify=appRamChanged)
|
|
178
|
-
def appRamString(self):
|
|
195
|
+
def appRamString(self) -> str:
|
|
179
196
|
return self._app_ram_str
|
|
180
197
|
|
|
181
|
-
def
|
|
182
|
-
|
|
198
|
+
def _read_system_cpu_percent(self) -> float:
|
|
199
|
+
"""
|
|
200
|
+
Return SYSTEM-wide CPU utilization as 0..100 using cpu_times() deltas.
|
|
201
|
+
This is robust even if other code calls psutil.cpu_percent().
|
|
202
|
+
"""
|
|
183
203
|
try:
|
|
184
|
-
|
|
204
|
+
now = time.monotonic()
|
|
205
|
+
cur = psutil.cpu_times(percpu=True)
|
|
206
|
+
|
|
207
|
+
if not cur:
|
|
208
|
+
return 0.0
|
|
209
|
+
|
|
210
|
+
# first sample: store and return 0 (or keep last)
|
|
211
|
+
if self._last_cpu_times is None:
|
|
212
|
+
self._last_cpu_times = cur
|
|
213
|
+
self._last_cpu_sample_t = now
|
|
214
|
+
return float(self._cpu) # keep whatever we had
|
|
215
|
+
|
|
216
|
+
prev = self._last_cpu_times
|
|
217
|
+
self._last_cpu_times = cur
|
|
218
|
+
self._last_cpu_sample_t = now
|
|
219
|
+
|
|
220
|
+
# usage per logical CPU
|
|
221
|
+
usages = []
|
|
222
|
+
for t0, t1 in zip(prev, cur):
|
|
223
|
+
# sum all fields to get total time
|
|
224
|
+
total0 = float(sum(t0))
|
|
225
|
+
total1 = float(sum(t1))
|
|
226
|
+
dt_total = total1 - total0
|
|
227
|
+
if dt_total <= 1e-9:
|
|
228
|
+
continue
|
|
229
|
+
|
|
230
|
+
idle0 = float(getattr(t0, "idle", 0.0) + getattr(t0, "iowait", 0.0))
|
|
231
|
+
idle1 = float(getattr(t1, "idle", 0.0) + getattr(t1, "iowait", 0.0))
|
|
232
|
+
dt_idle = idle1 - idle0
|
|
233
|
+
|
|
234
|
+
busy = 1.0 - (dt_idle / dt_total)
|
|
235
|
+
usages.append(busy)
|
|
236
|
+
|
|
237
|
+
if not usages:
|
|
238
|
+
return float(self._cpu)
|
|
239
|
+
|
|
240
|
+
return float(np.clip((sum(usages) / len(usages)) * 100.0, 0.0, 100.0))
|
|
185
241
|
except Exception:
|
|
186
|
-
self._cpu
|
|
187
|
-
|
|
188
|
-
|
|
242
|
+
return float(self._cpu)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
def _update_stats(self):
|
|
246
|
+
# 1) SYSTEM CPU
|
|
247
|
+
cpu = self._read_system_cpu_percent()
|
|
248
|
+
|
|
249
|
+
# light smoothing (keeps spikes but reduces jitter)
|
|
250
|
+
if self._cpu_ema is None:
|
|
251
|
+
self._cpu_ema = cpu
|
|
252
|
+
else:
|
|
253
|
+
a = 0.25 # smoothing factor (0.0=no update, 1.0=no smoothing)
|
|
254
|
+
self._cpu_ema = (1.0 - a) * self._cpu_ema + a * cpu
|
|
255
|
+
self._cpu = float(self._cpu_ema)
|
|
256
|
+
|
|
257
|
+
# 2) SYSTEM RAM
|
|
189
258
|
try:
|
|
190
259
|
vm = psutil.virtual_memory()
|
|
191
|
-
self._ram = vm.percent
|
|
260
|
+
self._ram = float(vm.percent)
|
|
192
261
|
except Exception:
|
|
193
262
|
self._ram = 0.0
|
|
194
263
|
|
|
195
|
-
# 3
|
|
264
|
+
# 3) APP RAM (your process)
|
|
196
265
|
try:
|
|
197
|
-
mb = get_memory_usage_mb()
|
|
266
|
+
mb = float(get_memory_usage_mb())
|
|
198
267
|
self._app_ram_val = mb
|
|
199
268
|
self._app_ram_str = f"{int(mb)} MB"
|
|
200
269
|
except Exception:
|
|
@@ -206,13 +275,22 @@ class ResourceBackend(QObject):
|
|
|
206
275
|
|
|
207
276
|
def stop(self):
|
|
208
277
|
"""Explicitly stop background threads."""
|
|
278
|
+
try:
|
|
279
|
+
if hasattr(self, "_timer") and self._timer.isActive():
|
|
280
|
+
self._timer.stop()
|
|
281
|
+
except Exception:
|
|
282
|
+
pass
|
|
283
|
+
|
|
209
284
|
if hasattr(self, "_gpu_worker") and self._gpu_worker.isRunning():
|
|
210
285
|
self._gpu_worker.requestInterruption()
|
|
211
286
|
self._gpu_worker.quit()
|
|
212
287
|
self._gpu_worker.wait(1000)
|
|
213
288
|
|
|
214
289
|
def __del__(self):
|
|
215
|
-
|
|
290
|
+
try:
|
|
291
|
+
self.stop()
|
|
292
|
+
except Exception:
|
|
293
|
+
pass
|
|
216
294
|
|
|
217
295
|
|
|
218
296
|
class SystemMonitorWidget(QQuickWidget):
|
|
@@ -221,57 +299,28 @@ class SystemMonitorWidget(QQuickWidget):
|
|
|
221
299
|
"""
|
|
222
300
|
def __init__(self, parent=None):
|
|
223
301
|
super().__init__(parent)
|
|
224
|
-
|
|
302
|
+
|
|
225
303
|
self.setResizeMode(QQuickWidget.ResizeMode.SizeRootObjectToView)
|
|
226
304
|
self.setAttribute(Qt.WidgetAttribute.WA_AlwaysStackOnTop, False)
|
|
227
305
|
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground, True)
|
|
228
306
|
self.setClearColor(Qt.GlobalColor.transparent)
|
|
229
|
-
self._qml_push_pending = False
|
|
230
307
|
|
|
231
308
|
# Connect Backend
|
|
232
309
|
self.backend = ResourceBackend(self)
|
|
233
310
|
self.rootContext().setContextProperty("backend", self.backend)
|
|
234
|
-
|
|
235
|
-
# We need to manually wire property updates because we are binding to root properties in QML
|
|
236
|
-
# Actually, simpler pattern: QML file reads from an object we inject.
|
|
237
|
-
# Let's adjust QML slightly to bind to `backend.cpuUsage` etc. if we can,
|
|
238
|
-
# OR we leave QML as having properties and we set them from Python.
|
|
239
|
-
#
|
|
240
|
-
# Better approach for Py+QML:
|
|
241
|
-
# Inject `backend` into context, modify QML to use `backend.cpuUsage`.
|
|
242
|
-
# But since I already wrote QML with root properties, I will just set them directly
|
|
243
|
-
# or update the QML file. Updating QML is cleaner.
|
|
244
|
-
#
|
|
245
|
-
# For now, let's keep QML independent and binding via setProperty?
|
|
246
|
-
# No, properly: context property is best.
|
|
247
|
-
#
|
|
248
|
-
# Let's re-write the QML loading part to use a safer 'initialProperties' approach or just signal/slots.
|
|
249
|
-
#
|
|
250
|
-
# EASIEST: QML binds to `root.cpuUsage`. Python sets `root.cpuUsage`.
|
|
251
|
-
|
|
252
|
-
|
|
311
|
+
|
|
253
312
|
# Load QML
|
|
254
313
|
qml_path = os.path.join(_get_base_path(), "qml", "ResourceMonitor.qml")
|
|
255
314
|
self.setSource(QUrl.fromLocalFile(qml_path))
|
|
256
315
|
|
|
257
|
-
def
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
self._push_data_to_qml()
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
def _push_data_to_qml(self):
|
|
269
|
-
root = self.rootObject()
|
|
270
|
-
if root:
|
|
271
|
-
root.setProperty("cpuUsage", self.backend.cpuUsage)
|
|
272
|
-
root.setProperty("ramUsage", self.backend.ramUsage)
|
|
273
|
-
root.setProperty("gpuUsage", self.backend.gpuUsage)
|
|
274
|
-
root.setProperty("appRamString", self.backend.appRamString)
|
|
316
|
+
def closeEvent(self, e):
|
|
317
|
+
# make sure worker threads stop when widget closes
|
|
318
|
+
try:
|
|
319
|
+
if hasattr(self, "backend") and self.backend is not None:
|
|
320
|
+
self.backend.stop()
|
|
321
|
+
except Exception:
|
|
322
|
+
pass
|
|
323
|
+
super().closeEvent(e)
|
|
275
324
|
|
|
276
325
|
# --- Drag & Drop Support ---
|
|
277
326
|
def mousePressEvent(self, event):
|
|
@@ -280,7 +329,6 @@ class SystemMonitorWidget(QQuickWidget):
|
|
|
280
329
|
wh = self.windowHandle()
|
|
281
330
|
if wh is not None:
|
|
282
331
|
try:
|
|
283
|
-
# Works best for frameless overlays on Wayland
|
|
284
332
|
wh.startSystemMove()
|
|
285
333
|
event.accept()
|
|
286
334
|
return
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: setiastrosuitepro
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.0
|
|
4
4
|
Summary: Seti Astro Suite Pro - Advanced astrophotography toolkit for image calibration, stacking, registration, photometry, and visualization
|
|
5
5
|
License: GPL-3.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -35,7 +35,7 @@ Requires-Dist: numba
|
|
|
35
35
|
Requires-Dist: numpy
|
|
36
36
|
Requires-Dist: oktopus
|
|
37
37
|
Requires-Dist: onnx
|
|
38
|
-
Requires-Dist: onnxruntime
|
|
38
|
+
Requires-Dist: onnxruntime ; sys_platform != "win32"
|
|
39
39
|
Requires-Dist: onnxruntime-directml ; sys_platform == "win32"
|
|
40
40
|
Requires-Dist: opencv-python-headless
|
|
41
41
|
Requires-Dist: pandas
|
|
@@ -12,6 +12,7 @@ setiastro/data/catalogs/test.csv,sha256=vIL2AA8APalVj6ti-waEPS15Qey_DPUlxp1JZw1m
|
|
|
12
12
|
setiastro/data/catalogs/updated_celestial_catalog.csv,sha256=HOsuyWFrQXEDv0ql2MWSuFDuftOQkUzFWh_DfYM-mz4,936414
|
|
13
13
|
setiastro/data/SASP_data.fits,sha256=_wLrlMnXSqY15dEvBtAnFE0IZOlj1zDbVEEhegKIcTk,4115520
|
|
14
14
|
setiastro/images/abeicon.png,sha256=r9HNnjZa1Zw_hKP9h6I2XqxOio1_mJBYCgh5gagu6LA,19423
|
|
15
|
+
setiastro/images/abeicon.svg,sha256=yAnr5-m3ej2OFPeCS156Ek0oI_PAe5Mivh6NXTI4DVo,866
|
|
15
16
|
setiastro/images/aberration.png,sha256=lP86_M-M-Y6a21xgKnXXoq9GwkujpfxGQ99qyF05JL4,330009
|
|
16
17
|
setiastro/images/acv_icon.png,sha256=NadbJRW9WrUZSyHUAZ0mIyVpVlTn8-nuNdSaD49VuEQ,357416
|
|
17
18
|
setiastro/images/andromedatry.png,sha256=01J1S26npPT9UT308Nv9xK4V6gU06c99yPlbzt05NKk,906925
|
|
@@ -35,11 +36,14 @@ setiastro/images/blink.png,sha256=kV2J74CfkMMqn4WqhHHXWQEvq7Y1zXW21RXaJL29eGI,57
|
|
|
35
36
|
setiastro/images/clahe.png,sha256=oobMQzfW-LDCKhaz7JeTqqtxYL0Jp30KbEvk6-oowqw,179866
|
|
36
37
|
setiastro/images/collage.png,sha256=muJZ5NbhwHXyPL1YcMtMmacTr29hYEc8h7fb0iZ2dzk,5324
|
|
37
38
|
setiastro/images/colorwheel.png,sha256=CuD6SjrLw6ENqPfTtAX5xRfSQ9vd08RjuFuFsmZNooE,225785
|
|
39
|
+
setiastro/images/colorwheel.svg,sha256=QUUnQ9-hGf3hOd_rNZ1efYq2dZLBZ7g390Le_MJ3zsk,89976
|
|
38
40
|
setiastro/images/contsub.png,sha256=iKQcs-fXd7E82h-zHo3x43t95TFYBbCmNU4ACQXo0p4,27630
|
|
39
41
|
setiastro/images/convo.png,sha256=_q0zFo45ZkTVYtMS39aNiKB72WiuJEgg1zOmHk5RaFs,13831
|
|
40
42
|
setiastro/images/copyslot.png,sha256=dwouSCufaK6P7Ah9Sy_E-5cEaacXp3dj9aBs4uY75Ik,28717
|
|
41
43
|
setiastro/images/cosmic.png,sha256=Zty69Qia4KABwix4dl8a2B3V-gmfie_eA8d8cfXTPbI,379150
|
|
44
|
+
setiastro/images/cosmic.svg,sha256=Fh8fNxNT7lZBZ2as5k7sRMS_WtXonpp-MQsMWFWYY-Q,1408
|
|
42
45
|
setiastro/images/cosmicsat.png,sha256=UovcfQCVezScD3ROAAd4t6tkTpgKKzjysrZHj1J9X6o,416786
|
|
46
|
+
setiastro/images/cosmicsat.svg,sha256=4Isj9Pt7IBoyJx3vtJZGMVneh0ym4AsQje6_sN74sXM,1064
|
|
43
47
|
setiastro/images/crop1.png,sha256=G10FiWJHzejkdF_t5fjCSc1i_KznamsHlW9NID1hqQ4,212019
|
|
44
48
|
setiastro/images/cropicon.png,sha256=UlNUYRdKO2etDQQdJXWs4iOy_f9_tVLgLjjy7asSKdk,5286
|
|
45
49
|
setiastro/images/curves.png,sha256=zN3L-bmnpGmv7C8jp_OO6a-d8KQiNHO45iEY90ti5jk,3901
|
|
@@ -59,6 +63,7 @@ setiastro/images/freqsep.png,sha256=fgNnqvhSr8U_lYdGgZyUq-OOQZqU339hjd1VAS5V1GQ,
|
|
|
59
63
|
setiastro/images/full_moon.png,sha256=mIFM_a1tLn8lHRdDpRheR2YjK5Rm184tpsihl5TC3AM,76359
|
|
60
64
|
setiastro/images/functionbundle.png,sha256=q4EiQCE-eMTtMsDM1H--VHEMphSKQCroMobuZllmflw,233570
|
|
61
65
|
setiastro/images/graxpert.png,sha256=1wBbYflwurzgSrb-j0oqtGy7Lo0aXQiwzR4cqPZPlww,417651
|
|
66
|
+
setiastro/images/graxpert.svg,sha256=_YDHXysGBAEwC0zivPrjR16KFiGWXRRtInk6n6isRa8,854
|
|
62
67
|
setiastro/images/green.png,sha256=p3vwN962BusMaJouqJVIScPngT6SkxmrGfbY0SK44nA,70353
|
|
63
68
|
setiastro/images/gridicon.png,sha256=6k-yJVkV8Sjq0MAHs51Zg5qPzHKjwkLqFF_4CKK3Ud0,83443
|
|
64
69
|
setiastro/images/halo.png,sha256=3coiX1MNrlNBrLkaD1XS0eBiby08_gMNzfDsOug8F0c,198941
|
|
@@ -77,6 +82,7 @@ setiastro/images/jwstpupil.png,sha256=6_zrg_6h21fVaIZ2gpdZCVAkg3RIEKDGW8dP-4Qq8h
|
|
|
77
82
|
setiastro/images/last_quarter.png,sha256=sxXIlmuZDyZKUDjJn_c-GS5B4hGJfCud_Y1Y5vlMVWE,42189
|
|
78
83
|
setiastro/images/LExtract.png,sha256=H8kj4BUJaKgcjoiUr1vsdCdOj8SY04Z5XdpiXh9Yqh4,7784
|
|
79
84
|
setiastro/images/linearfit.png,sha256=F6mP2n2JT97l-bMPEGE-ZTVuSjhMTjdRCnlBqKU3o-0,136848
|
|
85
|
+
setiastro/images/linearfit.svg,sha256=0uJlc6Coa2infF84KRg0fVh6dUKzxPRXZRtNJ_tqW8o,1272
|
|
80
86
|
setiastro/images/LInsert.png,sha256=WKw54NDrwqwo2NiofmasEkdQQB-f9QJoEL1aLafNFRY,7746
|
|
81
87
|
setiastro/images/livestacking.png,sha256=zNBAsYHoMArTpHk21hNvTWpstv4YCFg2-_sJBS5a8U8,620062
|
|
82
88
|
setiastro/images/mask.png,sha256=yXPcEJ7l7MXr5ejhBCxQkvIHiZUowRcPkOqozdJjJVo,64164
|
|
@@ -86,6 +92,7 @@ setiastro/images/maskremove.png,sha256=Oi_NRrruNFh9j9rvdtbFpv7Ob6wehyi_BOq7I4c6n
|
|
|
86
92
|
setiastro/images/morpho.png,sha256=ypBFJNRNrl9ZOY3MCpSGeoHgIe6sabZQc4qM1nGiiG0,80192
|
|
87
93
|
setiastro/images/mosaic.png,sha256=Lml13ofxFYug4fYF7LFzA4ZaPFm9bKDVirH0r5XcZKs,29514
|
|
88
94
|
setiastro/images/multiscale_decomp.png,sha256=DFlFVG8xHP1LvTF7pL3v1Uy8i9CI6CVVgN-x9uHDv6U,7525
|
|
95
|
+
setiastro/images/narrowbandnormalization.png,sha256=a6aJNT9LmHLSZn44TajNHH6Qlu3qr1Cq_TweQE82gJM,191182
|
|
89
96
|
setiastro/images/nbtorgb.png,sha256=tzxgLNKbXSvKVmv3PIQ42zWIbvwRVBX8Egc7pvwYQV0,33271
|
|
90
97
|
setiastro/images/neutral.png,sha256=sOfj3-SH8gNTd4oy6yhnx-rYqMq6qbKtm7NHzWCYMvs,13591
|
|
91
98
|
setiastro/images/new_moon.png,sha256=GKLXCQGPh7cFfo87598roMCcn6XCN7bn0k5C2arAs-w,2071
|
|
@@ -95,6 +102,8 @@ setiastro/images/Oxygenation-atm-2.svg.png,sha256=Yw5DDBepeJuAs4q9zx1PjqtstK8x4z
|
|
|
95
102
|
setiastro/images/pedestal.png,sha256=hidv6ofPwx_lHic5Ne6NOZUAmGGTdFMRTdtz5sZusdk,13432
|
|
96
103
|
setiastro/images/pen.png,sha256=tSuv3pRXX-AwXsn1dxuWgep-D4Km30Zttdk0SikQQW4,26122
|
|
97
104
|
setiastro/images/pixelmath.png,sha256=TL4ghw_u83iV2Kprs5PgT94C7wiLtewiP9Y51Uf4Qzc,86235
|
|
105
|
+
setiastro/images/pixelmath.svg,sha256=A-ZxI6Yp_dtqd72uherWbTutd9gO6rcY9Xr8pYcYNKk,1728
|
|
106
|
+
setiastro/images/planetarystacker.png,sha256=1x0bf_QieRgHpheVBxlgGT-d3Y6MI1RNXtLTFTDPPmk,192197
|
|
98
107
|
setiastro/images/platesolve.png,sha256=9Wxv9Zclg4BGrBfQV4tUsWp_jvHj4RE8SEtfm9HjtEk,29889
|
|
99
108
|
setiastro/images/ppp.png,sha256=2UNa076cxHa-U_Avo7G0661nAVB0vHfGSDOTP46dKBE,276987
|
|
100
109
|
setiastro/images/pro.png,sha256=jGAnv8T8AaiazevJot-5XQvMKGjWG4CSAMforRJDTHQ,23036
|
|
@@ -169,26 +178,26 @@ setiastro/images/wrench_icon.png,sha256=4-DFNkXZUBkfK4WCFLdcr1-b3MsrYcE3DGrp4tL6
|
|
|
169
178
|
setiastro/images/xisfliberator.png,sha256=sPC7mPHX_ToyBh9nSLn9B5fVRaM89QvqzW30ohbW8VE,1551111
|
|
170
179
|
setiastro/qml/ResourceMonitor.qml,sha256=k9_qXKAZLi8vj-5BffJTJu_UkRnxunZKn53HthdySKE,3948
|
|
171
180
|
setiastro/saspro/__init__.py,sha256=C6Puq5PQr3n0aJ-2i_YAaUhTjPI-pcSzie3_tij3hhw,608
|
|
172
|
-
setiastro/saspro/__main__.py,sha256=
|
|
181
|
+
setiastro/saspro/__main__.py,sha256=eghNEGSQqHQjNp0BY84T-nhQMPYSnWdIN_eRFvbLj3Q,38487
|
|
173
182
|
setiastro/saspro/_generated/__init__.py,sha256=HbruQfKNbbVL4kh_t4oVG3UeUieaW8MUaqIcDCmnTvA,197
|
|
174
|
-
setiastro/saspro/_generated/build_info.py,sha256=
|
|
183
|
+
setiastro/saspro/_generated/build_info.py,sha256=kQnJZOy40C_W1DU5MsPeb6omw-IxFqtehqjwaOcdg3w,111
|
|
175
184
|
setiastro/saspro/abe.py,sha256=ao9UiOneVvgubI19TCE4gk2FNfW_E3D8rr0D_bmQOwI,59779
|
|
176
185
|
setiastro/saspro/abe_preset.py,sha256=u9t16yTb9v98tLjhvh496Fsp3Z-dNiBSs5itnAaJwh8,7750
|
|
177
|
-
setiastro/saspro/aberration_ai.py,sha256=
|
|
178
|
-
setiastro/saspro/aberration_ai_preset.py,sha256=
|
|
186
|
+
setiastro/saspro/aberration_ai.py,sha256=o-l0NQFy8YJXqCUAnp_fT7pjxfYgrCAGircjw3KtMuU,37196
|
|
187
|
+
setiastro/saspro/aberration_ai_preset.py,sha256=nxtjo0qQYEML_8AzemMXtLNSdWf2FhMzPO9xELjlZ0U,9747
|
|
179
188
|
setiastro/saspro/accel_installer.py,sha256=OSt66m7hrENHTx92Ib4xDyD3xy6X_TU4XeMbizBqRq4,9483
|
|
180
189
|
setiastro/saspro/accel_workers.py,sha256=efFvyg6v0AkMF4liVcVqooHWEHhk-c2J9rRx6XAJGv4,1141
|
|
181
190
|
setiastro/saspro/acv_exporter.py,sha256=em1SJDXStP_Exv7hQZCSqBBcXc-7AF0UOA0iLX4-BIM,14911
|
|
182
|
-
setiastro/saspro/add_stars.py,sha256=
|
|
191
|
+
setiastro/saspro/add_stars.py,sha256=7rYunF4Khj67zDP2dcCmcNdNx0lYtWCFace9q5gz2_g,25415
|
|
183
192
|
setiastro/saspro/astrobin_exporter.py,sha256=-MZFoUVVZ3FItTbwoqoLzuOsrR3R5RQ7zf4CGC9GTr8,47455
|
|
184
193
|
setiastro/saspro/astrospike.py,sha256=Or-14MS3iZrn3q1teNf-BkjVdMCsZYaON7T95dm96oI,5930
|
|
185
194
|
setiastro/saspro/astrospike_python.py,sha256=sdBEsdLUKPqRK7Db0wosImYTJhqg8w5lzWGnzCDKj8c,72603
|
|
186
195
|
setiastro/saspro/autostretch.py,sha256=buqmrfv38gY4C4J7RcWYOX0M_oGUaKnbGkOW2Hhbj7g,7646
|
|
187
|
-
setiastro/saspro/backgroundneutral.py,sha256=
|
|
196
|
+
setiastro/saspro/backgroundneutral.py,sha256=MFlBEwR65ASNXIY0S-0ZUaS89FCmNV_qafPs-OxUlO4,26383
|
|
188
197
|
setiastro/saspro/batch_convert.py,sha256=O46KyB-DBZiTHokaWt_op1GDRr3juSaDSeFzP3pv1Zs,12377
|
|
189
198
|
setiastro/saspro/batch_renamer.py,sha256=PZe2MEwjg0n055UETIbwnwdfAux4heTVx5gr3qnNW5g,21900
|
|
190
199
|
setiastro/saspro/blemish_blaster.py,sha256=aqD8v_85SBJJBLHB1XbPM-_YzXEIeQM-g-YGhaIcmGE,21314
|
|
191
|
-
setiastro/saspro/blink_comparator_pro.py,sha256
|
|
200
|
+
setiastro/saspro/blink_comparator_pro.py,sha256=XwXR-0Xj6Z3R3IYheTRwdyhpnGMiwXh3lpziAZzWRdE,132085
|
|
192
201
|
setiastro/saspro/bundles.py,sha256=jWMYpalOcaMQ1QgikseOOmF7bBzDz9aykhRddaTsReQ,1892
|
|
193
202
|
setiastro/saspro/bundles_dock.py,sha256=IEAJEOEEe7V4NvsmClMygTf55LXN3SkV4e23K1erzkc,4441
|
|
194
203
|
setiastro/saspro/cheat_sheet.py,sha256=0bLmwY3GBWGcb4M7BBYzzrB_03XfqvZWAhQ2cBPavQ8,7852
|
|
@@ -199,25 +208,25 @@ setiastro/saspro/config.py,sha256=FhvWG-efVdzuEPef-eOezem-YaFgnGNCl86XmkruGYE,13
|
|
|
199
208
|
setiastro/saspro/config_bootstrap.py,sha256=5em6r29-PA0nnX7M20NGAteQZ_8ecilGsbPRYF_4yIo,1236
|
|
200
209
|
setiastro/saspro/config_manager.py,sha256=lDHmEDfnj40CGPcD-U4ybpZiR6uJVimcDCQXtQ38PEA,10758
|
|
201
210
|
setiastro/saspro/continuum_subtract.py,sha256=o4pptQdRra4oMlSaEmY_qlFdJmtCyzcW2pbJ9HSxZYA,66261
|
|
202
|
-
setiastro/saspro/convo.py,sha256=
|
|
211
|
+
setiastro/saspro/convo.py,sha256=pAczsoS7g596mk1eI4XmVvd1EAoTZVdj12qRzFIISjg,67708
|
|
203
212
|
setiastro/saspro/convo_preset.py,sha256=31Fzk6ssA3lHuM5vehYOpFNVdIyRNNpL78Ts69ivWKk,20013
|
|
204
213
|
setiastro/saspro/copyastro.py,sha256=ImDMrus4_LqdEXozMQMiM6SjpF0Yd3D-TzMJ2ggFrNc,7322
|
|
205
|
-
setiastro/saspro/cosmicclarity.py,sha256=
|
|
214
|
+
setiastro/saspro/cosmicclarity.py,sha256=S8RsI_beDadvgImkB7fXS83FQbL6svsmZPDfEu3-M4c,72594
|
|
206
215
|
setiastro/saspro/cosmicclarity_preset.py,sha256=1nUTzC3nFe79pyWTBvNyvUL-MfTWC4SbOUvgJHA80v8,17853
|
|
207
|
-
setiastro/saspro/crop_dialog_pro.py,sha256=
|
|
216
|
+
setiastro/saspro/crop_dialog_pro.py,sha256=Cv0A_XGIZPYdZknygL9_JcY0thEYklQVPMMxcHLavtA,45645
|
|
208
217
|
setiastro/saspro/crop_preset.py,sha256=ubN3BZUt5okwe4qOYScJCQv0YV8PewVciCLUDo4pGOk,7033
|
|
209
|
-
setiastro/saspro/curve_editor_pro.py,sha256=
|
|
210
|
-
setiastro/saspro/curves_preset.py,sha256=
|
|
218
|
+
setiastro/saspro/curve_editor_pro.py,sha256=yfPudAPqQHevgtv-xnlL4oNB75nLk68WTsJG2pAW-k8,108609
|
|
219
|
+
setiastro/saspro/curves_preset.py,sha256=Cmz34JZWWrPIbudpPk1WvDk5NFjGIP-Vui3h_mxlXlk,19239
|
|
211
220
|
setiastro/saspro/debayer.py,sha256=emuQdb41xHwGVvnBU-SF1H_Zdz271RFTz0lm09xl184,25314
|
|
212
221
|
setiastro/saspro/debug_utils.py,sha256=uYQne3MHxg_R7y17NqKFj1_befrmjzOI3_jD4JKovnA,1085
|
|
213
222
|
setiastro/saspro/dnd_mime.py,sha256=QNG97JQJc3xNQ5cPD4zwbC7OZTf9BzqjXE2SvZV9H5Q,1143
|
|
214
|
-
setiastro/saspro/doc_manager.py,sha256=
|
|
223
|
+
setiastro/saspro/doc_manager.py,sha256=phRjYuGm1hI-tkSOHcvlkWyBCKdwy0CR2nYiIfVLbJk,112851
|
|
215
224
|
setiastro/saspro/exoplanet_detector.py,sha256=_zhasWOf63BCZJuFy1vRC5PMGcc4Rf6DmkbveUuzDdY,96858
|
|
216
225
|
setiastro/saspro/file_utils.py,sha256=zB2BqVnDVLbg_5eO3PIFgYu_Ulm5M3MXQUuzNdvO6Q4,7569
|
|
217
226
|
setiastro/saspro/fitsmodifier.py,sha256=jYrSUwMacohP8ErFdJy0sr8Ld4YrTUgDdwaDr-_pRWg,30362
|
|
218
227
|
setiastro/saspro/fix_bom.py,sha256=87NLdfL-eHLctZ8Yz6sTtchwXiX4GPJ133OQrNzhLSU,1121
|
|
219
228
|
setiastro/saspro/free_torch_memory.py,sha256=mbyB16clbPm71wCdhtJ6PjOkGuQ_c0GS6OopYdPhlLc,1461
|
|
220
|
-
setiastro/saspro/frequency_separation.py,sha256=
|
|
229
|
+
setiastro/saspro/frequency_separation.py,sha256=W1aNXnF7rh-ILQzukQM-dwkPxi_BUA9eqNPlTLNUtsg,98089
|
|
221
230
|
setiastro/saspro/function_bundle.py,sha256=rq13My-g1ZIdob1DEGMJ9hSR8O9BU2eZNBsRk7Cj0yo,58432
|
|
222
231
|
setiastro/saspro/generate_translations.py,sha256=PnY7tBX_tkdrXCYxTsGA7ec-qK0C5mhIIxAFg85rayQ,197155
|
|
223
232
|
setiastro/saspro/ghs_dialog_pro.py,sha256=RFAEiT60TncFjdniw0AS6pDBhUPHIiCGsUTf9I3j6z0,29547
|
|
@@ -225,42 +234,44 @@ setiastro/saspro/ghs_preset.py,sha256=Zw3MJH5rEz7nqLdlmRBm3vYXgyopoupyDGAhM-PRXq
|
|
|
225
234
|
setiastro/saspro/graxpert.py,sha256=XSLeBhlAY2DkYUw93j2OEOuPLOPfzWYcT5Dz3JhhpW8,22579
|
|
226
235
|
setiastro/saspro/graxpert_preset.py,sha256=ESds2NPMPfsBHWNBfyYZ1rFpQxZ9gPOtxwz8enHfFfc,10719
|
|
227
236
|
setiastro/saspro/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
|
-
setiastro/saspro/gui/main_window.py,sha256=
|
|
237
|
+
setiastro/saspro/gui/main_window.py,sha256=zrDla3zdhpdsGLEf29ZCrqiMiRDbP8VX1_EYs8_vJG8,370052
|
|
229
238
|
setiastro/saspro/gui/mixins/__init__.py,sha256=ubdTIri0xoRs6MwDnEaVsAHbMxuPqz0CZcYcue3Mkcc,836
|
|
230
|
-
setiastro/saspro/gui/mixins/dock_mixin.py,sha256=
|
|
231
|
-
setiastro/saspro/gui/mixins/file_mixin.py,sha256=
|
|
239
|
+
setiastro/saspro/gui/mixins/dock_mixin.py,sha256=C6IWKM-uP2ekqO7ozVQQcTnEgAkUL_OaRZbncIdrh8g,23893
|
|
240
|
+
setiastro/saspro/gui/mixins/file_mixin.py,sha256=ZzKzJhnNKjbi7UQHFhq4Nr2tNLRbB_fQeMHcOj09BU8,17714
|
|
232
241
|
setiastro/saspro/gui/mixins/geometry_mixin.py,sha256=x-HyLXGFhEs8SJuXT8EF6tS3XJaH8IhAP-ZFJ2BS2Lw,19038
|
|
233
242
|
setiastro/saspro/gui/mixins/header_mixin.py,sha256=kfZUJviB61c8NBXFB3MVBEcRPX_36ZV8tUZNJkDmMJ0,17253
|
|
234
243
|
setiastro/saspro/gui/mixins/mask_mixin.py,sha256=hrC5jLWxUZgQiYUXp7nvECo2uiarK7_HKgawG4HGB9w,15711
|
|
235
|
-
setiastro/saspro/gui/mixins/menu_mixin.py,sha256=
|
|
236
|
-
setiastro/saspro/gui/mixins/theme_mixin.py,sha256=
|
|
237
|
-
setiastro/saspro/gui/mixins/toolbar_mixin.py,sha256=
|
|
238
|
-
setiastro/saspro/gui/mixins/update_mixin.py,sha256=
|
|
244
|
+
setiastro/saspro/gui/mixins/menu_mixin.py,sha256=nVuJbNZdVTYgq11nOxxCbbqjN6ugBI1QnPULhU3fdXo,16590
|
|
245
|
+
setiastro/saspro/gui/mixins/theme_mixin.py,sha256=td6hYnZn17lXlFxQOXgK7-qfKo6CIJACF8_zrULlEkc,20740
|
|
246
|
+
setiastro/saspro/gui/mixins/toolbar_mixin.py,sha256=8n1kkruEaAYSMm_jZUtaxQnyfn4AnJZcapqqTY5qhFU,91938
|
|
247
|
+
setiastro/saspro/gui/mixins/update_mixin.py,sha256=rq7J0Pcn_gO8UehCGVtcSvf-MDbmeGf796h0JBGr0sM,16545
|
|
239
248
|
setiastro/saspro/gui/mixins/view_mixin.py,sha256=EacXxtoAvkectGgLiahf3rHv2AaqKDQUteocVV_P834,17850
|
|
240
249
|
setiastro/saspro/gui/statistics_dialog.py,sha256=celhcsHcp3lNpox_X0ByAiYE80qFaF-dYyP8StzgrcU,1955
|
|
241
250
|
setiastro/saspro/halobgon.py,sha256=fjwsCWgf8aIGGGiUKcbMcI8A3z2vgvssThM_bTws-EE,20488
|
|
242
251
|
setiastro/saspro/header_viewer.py,sha256=B2jlIcySInGL3pm5gqgWi3aWBIxtiqjyPAYBuXFn7IQ,17555
|
|
243
252
|
setiastro/saspro/headless_utils.py,sha256=Zz7yozPAcSNGqZOf3InecK9nvyOZVzziOVVJatF_Yio,2646
|
|
244
|
-
setiastro/saspro/histogram.py,sha256=
|
|
253
|
+
setiastro/saspro/histogram.py,sha256=Mx1cSSJsgDu2zAbaALNTGUGnEN0Ig1_UUVZvXLGP78Q,35080
|
|
245
254
|
setiastro/saspro/history_explorer.py,sha256=wpVRUnZdS8F7bKEXoCDtdcGlVl9nJfRNj3NTOf1zDrc,34747
|
|
246
255
|
setiastro/saspro/i18n.py,sha256=365ZMyO1rk_ToKbdBXjUQqka9dv7tp5pjIWcql7AosM,4873
|
|
247
256
|
setiastro/saspro/image_combine.py,sha256=WjlEMOJoY968feneRhiXRkR5sh5O-lmoxUvxLbPCvwM,18144
|
|
248
257
|
setiastro/saspro/image_peeker_pro.py,sha256=Ct5z2SHDZ4zDGmx8651dXyhN12kNwsYTp2yxEQnK0_w,62329
|
|
249
258
|
setiastro/saspro/imageops/__init__.py,sha256=CE9mHOsruHOQ5bYOHr1_fhxd9sdK1W9BpAimo-r5V8w,1084
|
|
250
259
|
setiastro/saspro/imageops/mdi_snap.py,sha256=Xyogrv3N0KRAKcfC65hy_PKG6ZktjmwDBisCQ_cP9pY,10117
|
|
260
|
+
setiastro/saspro/imageops/narrowband_normalization.py,sha256=q1KdHS7bjRYW-N0Jbszxf0TF38tNNgXKknM80lrzUsA,26793
|
|
251
261
|
setiastro/saspro/imageops/scnr.py,sha256=jLHxBU4KQ9Mu61Cym5YUq0pwxajJmGrPQRV2pug9LXE,1330
|
|
252
|
-
setiastro/saspro/imageops/
|
|
253
|
-
setiastro/saspro/imageops/
|
|
262
|
+
setiastro/saspro/imageops/serloader.py,sha256=EyrvI8IKugP_U3JQI7Cm63qw3iBk52ssUw05pOrrOEk,23576
|
|
263
|
+
setiastro/saspro/imageops/starbasedwhitebalance.py,sha256=urssLdgKD7J_LOuscjbf9zFImnUWoH-sotGvtbxfxTo,6589
|
|
264
|
+
setiastro/saspro/imageops/stretch.py,sha256=E_Ydh5VxUHrehwivhvVDvF8y89U6SRyjIFUQgJjHWXI,27113
|
|
254
265
|
setiastro/saspro/isophote.py,sha256=eSzlyBN_tZJSJTKlnBjwHY0zdw0SXPV6BRk_jt9TlVU,53753
|
|
255
|
-
setiastro/saspro/layers.py,sha256=
|
|
256
|
-
setiastro/saspro/layers_dock.py,sha256=
|
|
266
|
+
setiastro/saspro/layers.py,sha256=L-_C91YlPF8NtyNbALkU9OlhK5mhtP3Ks1XiGWGG5c0,6641
|
|
267
|
+
setiastro/saspro/layers_dock.py,sha256=M4rc-UNDggClDxQdf-6wMwuvo6A23RK8fAqlcHJC8I4,35677
|
|
257
268
|
setiastro/saspro/lazy_imports.py,sha256=0M-4zklRGlqt5tvV6XZEFm958cRrOkxrjvSp_Ib1_zA,6564
|
|
258
269
|
setiastro/saspro/legacy/__init__.py,sha256=NjuxU-id3METsQ6tNd53YVqDTZK6mEz7uYjLzguCdNQ,121
|
|
259
270
|
setiastro/saspro/legacy/image_manager.py,sha256=ApWwRKOgmzgpNLw_t0l4AFXdOAZhrIG71zL8NiDnzQY,101372
|
|
260
|
-
setiastro/saspro/legacy/numba_utils.py,sha256=
|
|
271
|
+
setiastro/saspro/legacy/numba_utils.py,sha256=JZW1yJGMd0QLYojVpk9h_nEf6MpbdFTzqEPnN4m7GjU,135407
|
|
261
272
|
setiastro/saspro/legacy/xisf.py,sha256=Ah1CXDAohN__ej1Lq7LPU8vGLnDz8fluLQTGE71aUoc,52669
|
|
262
273
|
setiastro/saspro/linear_fit.py,sha256=s17ZExDxToqBuqv14-o6OFQpXYTyW2TUj_EunohxvAk,20918
|
|
263
|
-
setiastro/saspro/live_stacking.py,sha256=
|
|
274
|
+
setiastro/saspro/live_stacking.py,sha256=txqnqzPCJa4Ub-XQmfHRy8xuqY-5L129ryuY2LhA_e0,81253
|
|
264
275
|
setiastro/saspro/log_bus.py,sha256=1H6cTrv138I89BU5K7rhA-QRXPxY0_2C5eegS38Mc-o,178
|
|
265
276
|
setiastro/saspro/logging_config.py,sha256=vRETX9Nw4bYaBDZAbglo1m7V-2rh85QGE8eRS-yoOcA,14868
|
|
266
277
|
setiastro/saspro/luminancerecombine.py,sha256=Y2l96xHPLj1K7W7TptvYZ8d4WagsqQ3uM40jokeHVkI,19264
|
|
@@ -276,16 +287,17 @@ setiastro/saspro/mfdeconvcudnn.py,sha256=Y8ThkwOs-CZdF_53N6Wu2naDQ1VIa055oGtlgo1
|
|
|
276
287
|
setiastro/saspro/mfdeconvsport.py,sha256=UcDV3FP5wDIhFsOnDlLVywtk_RDrpKVOjWbJNOL-Cdk,95323
|
|
277
288
|
setiastro/saspro/minorbodycatalog.py,sha256=PaOwy1T_ApEfPyGZFUD4qB1n7jyK6kuw1FjBhP2HCTw,19662
|
|
278
289
|
setiastro/saspro/morphology.py,sha256=WdxA3yLdMCLsAQoRY6qmP3LB5jjZNzliFBhuNkGN_o8,16695
|
|
279
|
-
setiastro/saspro/multiscale_decomp.py,sha256=
|
|
290
|
+
setiastro/saspro/multiscale_decomp.py,sha256=GQ6iTFcTDxj0WvnO0bQjTz8G4Wli9Dl9bQNeEcBpxBw,66724
|
|
291
|
+
setiastro/saspro/narrowband_normalization.py,sha256=mVzf8JJVZREbsai63GspR41iH3WnwGrYu0pywczfIi0,64036
|
|
280
292
|
setiastro/saspro/nbtorgb_stars.py,sha256=uteG7X0g2nC9bIJwb_1TfdQP1xUY_jCI_hbiAygMRJg,23329
|
|
281
|
-
setiastro/saspro/numba_utils.py,sha256=
|
|
293
|
+
setiastro/saspro/numba_utils.py,sha256=hOSayRTzrzD4glweFI7ztjVjRjBWZtjK3FIGObYmOT8,116040
|
|
282
294
|
setiastro/saspro/numba_warmup.py,sha256=6ZbZ2Ss4VrioLnMUcyRQyY2KR1fmRBqzyoUwxuvIyh4,5268
|
|
283
295
|
setiastro/saspro/ops/__init__.py,sha256=-GivNKsFxX46qeVUWnFVmzcCpQffT9RuWHmyUjfqvDQ,268
|
|
284
296
|
setiastro/saspro/ops/command_help_dialog.py,sha256=p4E9r0aMplQTTq7tZLScksAIPxmMWUmmnTQ0O_CY9aE,23061
|
|
285
297
|
setiastro/saspro/ops/command_runner.py,sha256=teyrnOVJcd2IVxIPhh-ud4Q8MrBMxzSNR3QQe_2K-hk,7512
|
|
286
|
-
setiastro/saspro/ops/commands.py,sha256=
|
|
287
|
-
setiastro/saspro/ops/script_editor.py,sha256=
|
|
288
|
-
setiastro/saspro/ops/scripts.py,sha256=
|
|
298
|
+
setiastro/saspro/ops/commands.py,sha256=RoB99R3wN9j-K25QoJf5ir-CU35lL_d2veLFmfIXRMQ,54246
|
|
299
|
+
setiastro/saspro/ops/script_editor.py,sha256=ygWNzPJ3LxsQyTMgfvAHC9MuGnE8IXsRNKu19mLPYKY,40986
|
|
300
|
+
setiastro/saspro/ops/scripts.py,sha256=5BOnirSUia0NDg-keBy0HgfrElqcRIUNV-89FfYks8o,55817
|
|
289
301
|
setiastro/saspro/ops/settings.py,sha256=G2b59PdG-k_k1vjPKTcTto-fOffS9OKzIZPhIv25gQA,29799
|
|
290
302
|
setiastro/saspro/parallel_utils.py,sha256=GoPhypMsp3k8dffv4129CjLU-xDqpu9wnhHI463RR6U,15931
|
|
291
303
|
setiastro/saspro/pedestal.py,sha256=WkwNaY0Qp1XP6KFtb6tnnKMhg71R5WEhVOdwWwJFmJ8,4014
|
|
@@ -297,10 +309,10 @@ setiastro/saspro/project_io.py,sha256=usCbXxgB6bKj4L_71eTQIIzOzYAWxaNUoY4duB6oC5
|
|
|
297
309
|
setiastro/saspro/psf_utils.py,sha256=K3R4BjUzsopLRuLTbPlm8lBw3-x9twNWG4bK-4phDM4,4555
|
|
298
310
|
setiastro/saspro/psf_viewer.py,sha256=gaQhzLIhk0i5aRXREzWeieaD5VY22wOJx-ehbfaETuc,22952
|
|
299
311
|
setiastro/saspro/pyi_rthook_astroquery.py,sha256=Omt8U0gMI3efw3y-GUUJtBYUylwT1OMn0285QW3kRzE,3993
|
|
300
|
-
setiastro/saspro/remove_green.py,sha256=
|
|
312
|
+
setiastro/saspro/remove_green.py,sha256=bd_4xLe-tEYPncOSVUHh-fVIrPWG6K0ESKgAygrwj_M,12082
|
|
301
313
|
setiastro/saspro/remove_stars.py,sha256=tv61y58xdm5g5Gu5T3I7jUqSmVVguJ9BWOKBy_X8ub8,60967
|
|
302
314
|
setiastro/saspro/remove_stars_preset.py,sha256=HcR50bRXqiJSx4jMyle389g8b6SIulXHxgSysk07vdk,19195
|
|
303
|
-
setiastro/saspro/resources.py,sha256=
|
|
315
|
+
setiastro/saspro/resources.py,sha256=JLHjproE_wwcDYRCmh1AHETbopA-Lk-ZLdBpvOvdmtk,27259
|
|
304
316
|
setiastro/saspro/rgb_combination.py,sha256=8MKlxsbn5Pmiq3Vh28fMVYgYG4EIsvOYrwSJisJGyds,8765
|
|
305
317
|
setiastro/saspro/rgb_extract.py,sha256=FZRA2qac8LR2u-jNcQP-1xFeiOYVBo06-Q3Xl0KAlZM,624
|
|
306
318
|
setiastro/saspro/rgbalign.py,sha256=WpKzuvwese19Yo0n8ew75GwqQ6aKiryruoVVgL9k220,30217
|
|
@@ -308,18 +320,23 @@ setiastro/saspro/runtime_imports.py,sha256=tgIHH10cdAEbCTOmcs7retQhAww2dEc_3mKrv
|
|
|
308
320
|
setiastro/saspro/runtime_torch.py,sha256=IEVqD8jgn6la8t3R9ngZ2egSGMAC_tr1im3R8BnvXTQ,33497
|
|
309
321
|
setiastro/saspro/save_options.py,sha256=HPMXl5ya7HlCgDle9mPUrthzIFVJWXQGrea_OkcHg6c,2722
|
|
310
322
|
setiastro/saspro/selective_color.py,sha256=hx-9X4jeso797ifoBmwp9hNagPW4cvNPs9-T0JLHce0,64804
|
|
311
|
-
setiastro/saspro/
|
|
312
|
-
setiastro/saspro/
|
|
313
|
-
setiastro/saspro/
|
|
314
|
-
setiastro/saspro/
|
|
315
|
-
setiastro/saspro/
|
|
323
|
+
setiastro/saspro/ser_stack_config.py,sha256=nmeowk9I3a4gCFfhddd-etYGIhaS1_5zWG1LOY6c7JE,2864
|
|
324
|
+
setiastro/saspro/ser_stacker.py,sha256=JGFLZ0XRsuotd320dkP5sEIQqSA-kafwPxjbbkZF2Rk,82048
|
|
325
|
+
setiastro/saspro/ser_stacker_dialog.py,sha256=SkecUJHp3BG1PrNF2XDj5n2PkqQTWs4SCf4sKVLlBh8,54663
|
|
326
|
+
setiastro/saspro/ser_tracking.py,sha256=z5jHJIs0t3kK3p5C330vwz0c6zJ9KXtKIh1FlJ1LljU,7141
|
|
327
|
+
setiastro/saspro/serviewer.py,sha256=q8cLpXvoZLJEcDcUtkaqzhQrrLmHXwGtMLV0zMZBlWY,47678
|
|
328
|
+
setiastro/saspro/sfcc.py,sha256=mKdNfbMxl4fgqyZnuAlkzNNIU3huYOHgqw0FGjtVhUs,89097
|
|
329
|
+
setiastro/saspro/shortcuts.py,sha256=QvFBXN_S8jqEwaP9m4pJMLVqzBmxo5HrjWhVCV9etQg,138256
|
|
330
|
+
setiastro/saspro/signature_insert.py,sha256=pWDxUO1Rxm27_fHSo2Y99bdOD2iG9q4AUjGR20x6TiA,70401
|
|
331
|
+
setiastro/saspro/stacking_suite.py,sha256=D0-5dkuy0LGgUxv5hp27V3xtzZ-rbqQvV3cH8vdJ5YI,871357
|
|
332
|
+
setiastro/saspro/star_alignment.py,sha256=lRpDFvDKsMluu2P_kotQ9OumlnGtEWwGE7Gm-ZYccm8,326894
|
|
316
333
|
setiastro/saspro/star_alignment_preset.py,sha256=1QLRRUsVGr3-iX4kKvV9s-NuDRJVnRQat8qdTIs1nao,13164
|
|
317
334
|
setiastro/saspro/star_metrics.py,sha256=LRfBdqjwJJ9iz_paY-CkhPIqt2MxoXARLUy73ZKTA_0,1503
|
|
318
335
|
setiastro/saspro/star_spikes.py,sha256=PKI9C8SYmyi9St-IMtyJn75858kfi0NIJ26uDEjlSV0,33021
|
|
319
336
|
setiastro/saspro/star_stretch.py,sha256=Sb4ZD3nTVS7zVIWPDtgjgwwhDnuOqM-cW6DBVLlqM1c,21308
|
|
320
|
-
setiastro/saspro/stat_stretch.py,sha256=
|
|
337
|
+
setiastro/saspro/stat_stretch.py,sha256=DQjLzhsvcqhJrBmR_ZuSoGHEo5D1R7SHg_pfRnEZQ58,50934
|
|
321
338
|
setiastro/saspro/status_log_dock.py,sha256=SEZiijVLmtWbGxxjvf3XWUuMUhoVw50nwVfj7NhAl8s,2922
|
|
322
|
-
setiastro/saspro/subwindow.py,sha256
|
|
339
|
+
setiastro/saspro/subwindow.py,sha256=-4m-2XS4H02H6kvloGnoPsvVj0GAy8eED-llQ1HmA2E,142877
|
|
323
340
|
setiastro/saspro/supernovaasteroidhunter.py,sha256=PgCq3IR2pzsNBx6IxdhqfZlKPMZFhWI6cMJi600He78,66781
|
|
324
341
|
setiastro/saspro/swap_manager.py,sha256=7hJvQsnm1LSqLmXrj5uQkTSqNJq1SvrtrkCQPJdNego,4643
|
|
325
342
|
setiastro/saspro/torch_backend.py,sha256=e8ZNIeSP33NjNRH4yNhrhZRo5k7tNEpJ6FNlOQ-kp8I,2473
|
|
@@ -369,16 +386,16 @@ setiastro/saspro/wavescale_hdr_preset.py,sha256=ertUDFHBYmkZf2vyucE70dzgr3M_lSoX
|
|
|
369
386
|
setiastro/saspro/wavescalede.py,sha256=jbM7vucHSIXV6lA5-TYL_mXY2ypc2MQgrgqPRCEnhn8,30085
|
|
370
387
|
setiastro/saspro/wavescalede_preset.py,sha256=Xls_-0DM5hIhau_Px_kJ-g06-nT6ETLgylcP6DuipUE,9792
|
|
371
388
|
setiastro/saspro/wcs_update.py,sha256=XwNmtcj-ThmgTwN_RyXGS4vRUW9bsAOshP9YQeTo76E,13288
|
|
372
|
-
setiastro/saspro/whitebalance.py,sha256=
|
|
389
|
+
setiastro/saspro/whitebalance.py,sha256=pQ1m3nI8RIrFqb3gOpxrDBXc_xKPI7wUIvUEX5rH19g,23455
|
|
373
390
|
setiastro/saspro/widgets/__init__.py,sha256=InMH1TPPzj1kHeHv7gQRwQcUlHvohcUYcfFti15hO1A,1287
|
|
374
|
-
setiastro/saspro/widgets/common_utilities.py,sha256=
|
|
391
|
+
setiastro/saspro/widgets/common_utilities.py,sha256=3jg_bOYgnwSjD85Vu_kB-9m04pMZ_MJmLEywjqmk_B0,10702
|
|
375
392
|
setiastro/saspro/widgets/graphics_views.py,sha256=VfYokl0TYP-dLnwdcsmy61X5ETlNH1DWlGTMm2GlI7Q,4208
|
|
376
393
|
setiastro/saspro/widgets/image_utils.py,sha256=3cUy4qwV0C86EzOaUAJvLemh7dkgiuP6Nbjn68hYbPc,15457
|
|
377
394
|
setiastro/saspro/widgets/minigame/game.js,sha256=M8A8NL1RKc9kLtGvkL4Zd2_AE_Zjc-PDxdGicWukyYs,32392
|
|
378
395
|
setiastro/saspro/widgets/minigame/index.html,sha256=BD39tHEdpSIo1sdQpHuG3OaE9Hwe5Y0imI8a7T10uck,2290
|
|
379
396
|
setiastro/saspro/widgets/minigame/style.css,sha256=RNj9XrKnn_r9ow3JnQmRwSpyJlBOwx_Rs5rWDEjRTC0,4540
|
|
380
397
|
setiastro/saspro/widgets/preview_dialogs.py,sha256=qt2bRgLBD_a0sGb0t4losYFMAFC-ZCe-l5H7jPjDC2o,10679
|
|
381
|
-
setiastro/saspro/widgets/resource_monitor.py,sha256=
|
|
398
|
+
setiastro/saspro/widgets/resource_monitor.py,sha256=2mSZXiqpcKp2xxqDMZRAh4GTF5cUC7Be_ZrN2w6CONo,12154
|
|
382
399
|
setiastro/saspro/widgets/spinboxes.py,sha256=hPBaoFlQDZ1uikZBZXiaymW0Nq_PYpJ5RWHV8BNxsLI,10405
|
|
383
400
|
setiastro/saspro/widgets/themed_buttons.py,sha256=m6f_AYCx-tUmKf3U1CBuBbUsXOLW3cS3_oZUd4plVuU,445
|
|
384
401
|
setiastro/saspro/widgets/wavelet_utils.py,sha256=RNat7N2mtkK74jAIwmdcxYghrdCe39DjFZ-iCvC5cuQ,11985
|
|
@@ -386,9 +403,9 @@ setiastro/saspro/wimi.py,sha256=CNo833Pur9P-A1DUSntlAaQWekf6gzWIvetOMvLDrOw,3146
|
|
|
386
403
|
setiastro/saspro/wims.py,sha256=HDfVI3Ckf5OJEJLH8NI36pFc2USZnETpb4UDIvweNX4,27450
|
|
387
404
|
setiastro/saspro/window_shelf.py,sha256=jQUifB3uJ9tkzXqmscWj8lHQN5E8yleuRc7hDnes4-k,7453
|
|
388
405
|
setiastro/saspro/xisf.py,sha256=Ah1CXDAohN__ej1Lq7LPU8vGLnDz8fluLQTGE71aUoc,52669
|
|
389
|
-
setiastrosuitepro-1.
|
|
390
|
-
setiastrosuitepro-1.
|
|
391
|
-
setiastrosuitepro-1.
|
|
392
|
-
setiastrosuitepro-1.
|
|
393
|
-
setiastrosuitepro-1.
|
|
394
|
-
setiastrosuitepro-1.
|
|
406
|
+
setiastrosuitepro-1.7.0.dist-info/entry_points.txt,sha256=vJfnZaV6Uj3laETakqT8-D-aJZI_nYIicrhSoL0uuko,227
|
|
407
|
+
setiastrosuitepro-1.7.0.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
408
|
+
setiastrosuitepro-1.7.0.dist-info/licenses/license.txt,sha256=KCwYZ9VpVwmzjelDq1BzzWqpBvt9nbbapa-woz47hfQ,123930
|
|
409
|
+
setiastrosuitepro-1.7.0.dist-info/METADATA,sha256=mPXJiGyemn95E0TPqW0gpRKFSO70MR9EJgceMJVcY30,9834
|
|
410
|
+
setiastrosuitepro-1.7.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
411
|
+
setiastrosuitepro-1.7.0.dist-info/RECORD,,
|