import matplotlib.pyplot as plt
import pandas as pd
from scipy.signal import find_peaks
import sys

file_path = "J125188_0508_100Hz.txt"
MIN_HEIGHT = 2.44
MIN_DISTANCE = 5

try:df = pd.read_csv(file_path, header=None, names=["Time", "Voltage"])
except FileNotFoundError:
    print("ユーザー通知: ファイルが見つからないため、標準入力(stdin)からデータを読み込みます。")
    try:
        df = pd.read_csv(sys.stdin, header=None, names=["Time", "Voltage"])
    except Exception:
        print("エラー: データが入力されていません。")
        exit()

times = df["Time"].values
voltages = df["Voltage"].values

peak_indices, _ = find_peaks(voltages, height=MIN_HEIGHT, distance=MIN_DISTANCE)

print("\n--- 実行結果 ---")
print(f"検出されたピークの数: {len(peak_indices)} 個")
print("ピークの位置（時間）と値（電圧）:")
for idx in peak_indices:
    print(f"Time: {times[idx]}, Voltage: {voltages[idx]}")