GWexpy#
GWexpy
単位・時刻・チャンネル名とともに、実験データを解析する。
複数チャンネルを比較し、図とともに再実行に必要なコードや解析条件を保存できます。GWexpy は GWpy を拡張し、行列と場のコンテナ、ノイズ生成、フィッティング、科学技術計算ライブラリとの連携を提供します。
経験に合った入口を選ぶ#
すでに知っていることを生かせる学習経路を選んでください。 各入門レッスンには、前提知識と得られる結果を示しています。
Python や信号解析を初めて使う方へ。 スクリプトを実行し、変数を理解して、時間波形と ASD の図を読み取ります。
チャンネル、サンプリング、スペクトルを知っている方へ。 実験で使う概念を Python オブジェクトに対応付け、2 チャンネルを解析します。
GUI で行っていた解析を再実行できるスクリプトにします。 チャンネル読込、時間区間の選択、ASD とコヒーレンスの描画、設定の保存まで進めます。
NumPy 配列と辞書から始めます。 サンプリング、開始時刻、単位を付け、全チャンネルのスペクトルをまとめて計算します。
GWpy の知識を生かし、移行例を通じて追加コンテナ、解析メソッド、I/O を確認します。
次の解析に必要な手順、ケーススタディ、API リファレンスへ直接進みます。
複数チャンネルの ASD を試す#
インストール後、この例を実行すると 2 つの合成チャンネルから asd.png を保存できます。
データのダウンロードや追加パッケージは必要ありません。
from gwexpy.noise.wave import gaussian, sine
from gwexpy.timeseries import TimeSeriesDict
settings = dict(duration=16, sample_rate=512, t0=0, unit="V")
tone = sine(frequency=40, **settings)
channels = TimeSeriesDict(
{
"Sensor A": tone + gaussian(std=0.3, seed=10, **settings),
"Sensor B": tone + gaussian(std=0.8, seed=20, **settings),
}
)
spectra = channels.asd(fftlength=2, overlap=1, window="hann", method="welch")
plot = spectra.plot(xlim=(1, 256), ylabel=r"ASD [V/$\sqrt{\mathrm{Hz}}$]")
plot.gca().legend()
plot.savefig("asd.png")
ドキュメントを探す#
ドキュメントは Diátaxis に沿って、学習用レッスン、作業別手順、仕様を調べるリファレンス、背景を理解する解説に分かれています。
手順に沿って学び、動く解析を作ります。
具体的な解析課題を解決し、ケーススタディを応用します。
コンテナ、メソッド、パラメータ、対応ファイル形式を調べます。
データモデル、解析上の規約、設計判断を理解します。
対応する GWpy API では、既定の有限数値結果、sample 選択、軸情報、正常終了を GWpy と互換に保ちます。これらの保証から意図的に外れる場合は明示的な user opt-in が必要ですが、全policy gateを満たす名前付き・human-approvedの安全例外は除きます。GWpy 互換性ポリシーを参照してください。
開発への参加、テスト、リリースについては開発者ガイドを参照してください。