fix median
This commit is contained in:
@ -77,18 +77,21 @@ def run_matplotlib(args):
|
|||||||
# Автоматическая загрузка медианы при старте
|
# Автоматическая загрузка медианы при старте
|
||||||
if ref_in_file:
|
if ref_in_file:
|
||||||
try:
|
try:
|
||||||
data = []
|
pairs = []
|
||||||
with open(ref_in_file, 'r') as f:
|
with open(ref_in_file, 'r') as f:
|
||||||
reader = csv.reader(f)
|
reader = csv.reader(f)
|
||||||
next(reader) # Пропускаем заголовок
|
next(reader) # Пропускаем заголовок
|
||||||
for row in reader:
|
for row in reader:
|
||||||
if len(row) >= 2:
|
if len(row) >= 2:
|
||||||
try:
|
try:
|
||||||
data.append(float(row[1]))
|
pairs.append((int(row[0]), float(row[1])))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
continue
|
continue
|
||||||
if data:
|
if pairs:
|
||||||
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
|
||||||
median_subtract_enabled = True
|
median_subtract_enabled = True
|
||||||
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
|
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -203,22 +203,25 @@ def run_pyqtgraph(args):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# Загружаем CSV файл
|
# Загружаем CSV файл
|
||||||
data = []
|
pairs = []
|
||||||
with open(filename, 'r') as f:
|
with open(filename, 'r') as f:
|
||||||
reader = csv.reader(f)
|
reader = csv.reader(f)
|
||||||
next(reader) # Пропускаем заголовок
|
next(reader) # Пропускаем заголовок
|
||||||
for row in reader:
|
for row in reader:
|
||||||
if len(row) >= 2:
|
if len(row) >= 2:
|
||||||
try:
|
try:
|
||||||
data.append(float(row[1]))
|
pairs.append((int(row[0]), float(row[1])))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if not data:
|
if not pairs:
|
||||||
status.setText("Ошибка: файл пустой или неверный формат")
|
status.setText("Ошибка: файл пустой или неверный формат")
|
||||||
return
|
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)} точек)")
|
status.setText(f"Загружена медиана из {filename} ({len(median_data)} точек)")
|
||||||
|
|
||||||
# Автоматически включаем чекбокс
|
# Автоматически включаем чекбокс
|
||||||
@ -289,18 +292,21 @@ def run_pyqtgraph(args):
|
|||||||
# Автоматическая загрузка медианы при старте
|
# Автоматическая загрузка медианы при старте
|
||||||
if ref_in_file:
|
if ref_in_file:
|
||||||
try:
|
try:
|
||||||
data = []
|
pairs = []
|
||||||
with open(ref_in_file, 'r') as f:
|
with open(ref_in_file, 'r') as f:
|
||||||
reader = csv.reader(f)
|
reader = csv.reader(f)
|
||||||
next(reader) # Пропускаем заголовок
|
next(reader) # Пропускаем заголовок
|
||||||
for row in reader:
|
for row in reader:
|
||||||
if len(row) >= 2:
|
if len(row) >= 2:
|
||||||
try:
|
try:
|
||||||
data.append(float(row[1]))
|
pairs.append((int(row[0]), float(row[1])))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
continue
|
continue
|
||||||
if data:
|
if pairs:
|
||||||
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
|
||||||
median_subtract_enabled = True
|
median_subtract_enabled = True
|
||||||
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
|
print(f"[ref-in] Загружена медиана из {ref_in_file} ({len(median_data)} точек), вычитание включено")
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user