fix median
This commit is contained in:
@ -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:
|
||||
|
||||
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user