fix median

This commit is contained in:
awe
2026-02-04 14:56:33 +03:00
parent 5978d58dc5
commit 2f6e5d0dda
2 changed files with 21 additions and 12 deletions

View File

@ -77,18 +77,21 @@ def run_matplotlib(args):
# Автоматическая загрузка медианы при старте
if ref_in_file:
try:
data = []
pairs = []
with open(ref_in_file, 'r') as f:
reader = csv.reader(f)
next(reader) # Пропускаем заголовок
for row in reader:
if len(row) >= 2:
try:
data.append(float(row[1]))
pairs.append((int(row[0]), float(row[1])))
except ValueError:
continue
if data:
median_data = np.array(data, dtype=np.float32)
if pairs:
max_idx = max(idx for idx, _ in pairs)
median_data = np.full(max_idx + 1, np.nan, dtype=np.float32)
for idx, val in pairs:
median_data[idx] = val
median_subtract_enabled = True
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
else:

View File

@ -203,22 +203,25 @@ def run_pyqtgraph(args):
try:
# Загружаем CSV файл
data = []
pairs = []
with open(filename, 'r') as f:
reader = csv.reader(f)
next(reader) # Пропускаем заголовок
for row in reader:
if len(row) >= 2:
try:
data.append(float(row[1]))
pairs.append((int(row[0]), float(row[1])))
except ValueError:
continue
if not data:
if not pairs:
status.setText("Ошибка: файл пустой или неверный формат")
return
median_data = np.array(data, dtype=np.float32)
max_idx = max(idx for idx, _ in pairs)
median_data = np.full(max_idx + 1, np.nan, dtype=np.float32)
for idx, val in pairs:
median_data[idx] = val
status.setText(f"Загружена медиана из {filename} ({len(median_data)} точек)")
# Автоматически включаем чекбокс
@ -289,18 +292,21 @@ def run_pyqtgraph(args):
# Автоматическая загрузка медианы при старте
if ref_in_file:
try:
data = []
pairs = []
with open(ref_in_file, 'r') as f:
reader = csv.reader(f)
next(reader) # Пропускаем заголовок
for row in reader:
if len(row) >= 2:
try:
data.append(float(row[1]))
pairs.append((int(row[0]), float(row[1])))
except ValueError:
continue
if data:
median_data = np.array(data, dtype=np.float32)
if pairs:
max_idx = max(idx for idx, _ in pairs)
median_data = np.full(max_idx + 1, np.nan, dtype=np.float32)
for idx, val in pairs:
median_data[idx] = val
median_subtract_enabled = True
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
else: