Note

このページは Jupyter Notebook から生成されました。 ノートブックをダウンロード (.ipynb)

[1]:
# Skipped in CI: Colab/bootstrap dependency install cell.

セグメント解析: 可視化

SegmentTable は豊富な描画機能を提供します。特に overlay_spectra() は、複数セグメント間のスペクトルを美しく比較するために最適化されています。

ここでも区間そのものは gwpy.segments.Segment、重ね描きするスペクトルは GWpy の FrequencySeries を使います。gwexpy はそれらの GWpy 基盤クラスを SegmentTable にまとめ、可視化や色分け、俯瞰レイアウトを表処理として追加しています。基礎関係は SegmentTable: 基本 を参照してください。

[2]:
import warnings

warnings.filterwarnings("ignore", category=UserWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)

import warnings

with warnings.catch_warnings():
    warnings.simplefilter('ignore')

    import numpy as np
    from gwpy.frequencyseries import FrequencySeries
    from gwpy.segments import Segment

    from gwexpy.table import SegmentTable

    def make_fs(i):
        f = np.linspace(1, 32, 256)
        data = (1.0/(f**1.5)) * (1.0 + i*0.1)
        return FrequencySeries(data, frequencies=f)

    segs = [Segment(i*100, i*100+100) for i in range(10)]
    st = SegmentTable.from_segments(segs, snr=np.random.uniform(5, 20, 10))
    st.add_series_column("asd", data=[make_fs(i) for i in range(10)], kind="frequencyseries")

    # 1. Overlay spectra graded by start time (default)
    plot = st.overlay_spectra("asd", color_by="t0")
    plot

../../../../_images/web_ja_user_guide_tutorials_segment_visualization_2_0.png

メタデータ列による色付け

任意の数値メタデータ(例:SNR)に基づいて、各行のラインに色をつけることができます。

[3]:
plot = st.overlay_spectra("asd", color_by="snr", cmap="plasma")
plot
[3]:
../../../../_images/web_ja_user_guide_tutorials_segment_visualization_4_0.png
../../../../_images/web_ja_user_guide_tutorials_segment_visualization_4_1.png

俯瞰レイアウト

segments() を使用して、テーブルの時間的なレイアウトを確認します。

[4]:
st.segments(color="snr")
[4]:
../../../../_images/web_ja_user_guide_tutorials_segment_visualization_6_0.png
../../../../_images/web_ja_user_guide_tutorials_segment_visualization_6_1.png