Differences between revisions 14 and 15
Revision 14 as of 2026-01-01 15:50:10
Size: 10403
Comment:
Revision 15 as of 2026-01-02 22:01:46
Size: 10476
Comment:
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:
|| [[https://lscsoft.docs.ligo.org/lalsuite/|lalsuite]] || {{{mamba install -c conda-forge lalsuite}}} || LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。 ||
Line 61: Line 62:
|| [[https://lscsoft.docs.ligo.org/lalsuite/|lalsuite]] || {{{mamba install -c conda-forge lalsuite}}} || LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。 ||
Line 63: Line 63:
|| [[https://pypi.org/project/dttxml/|dttxml]] || {{{pip install dttxml}}} || KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools) のXML/フィルタファイルを読み込む。 ||
Line 65: Line 64:
|| [[https://pypi.org/project/dttxml/|dttxml]] || {{{pip install dttxml}}} || KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools, diaggui) のXML/フィルタファイルを読み込む。 ||
Line 70: Line 70:
|| [[https://github.com/gwomicron/pyomicron|pyomicron]] || {{{pip install pyomicron}}} || グリッチ検出パイプライン Omicron のPythonラッパー/ツール。 ||
|| gwsim || (Check document) || 重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。 ||
|| [[https://github.com/gwpy/pyomicron|pyomicron]] || {{{mamba install -c conda-forge pyomicron}}} || グリッチ検出パイプライン Omicron のPythonラッパー/ツール。 ||
|| [[https://gitlab.et-gw.eu/wouters/gwsim|gwsim]] || {{{uv pip install gwsim}}} || 重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。 ||
Line 95: Line 95:
mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb pyomicron obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm
Line 100: Line 100:
pip install dttxml pyomicron pip install dttxml

ライブラリとパッケージ

はじめに: Pythonのバージョンについて

2025年現在、KAGRA/PEMの解析環境としては Python 3.11 をベースにすることを強く推奨します。 最新の 3.12 や 3.13 は、一部の科学技術計算ライブラリ(特に古い計測機器制御や特殊な信号処理系)がまだ完全に対応していない場合があり、環境構築でトラブルの原因になりやすいためです。

用語の整理

Pythonを触っているとよく出てくる用語について、簡単にまとめておきます。

  • モジュール (Module): Pythonのコードが書かれた1つのファイル(.pyファイル)。import math のように読み込んで使います。

  • パッケージ (Package): 複数のモジュールをディレクトリ(フォルダ)にまとめて整理したもの。通常 __init__.py というファイルが含まれています。

  • ライブラリ (Library): 複数のパッケージやモジュールをまとめて、特定の機能(数値計算、グラフ描画など)を提供するための集合体。「インストールして使う便利道具箱」です。

  • 関数 (Function): 何らかの入力(引数)を受け取り、処理を行って結果(戻り値)を返す命令の塊です。例: y = sin(x)

  • クラス (Class): データと、それを処理する関数をひとまとめにした設計図です。GWpyの TimeSeries もクラスの一種で、これを実体化(インスタンス化)して使います。

環境構築・インストールの方法

ライブラリのインストールには、主に Conda (Mamba) を使用します。 具体的なセットアップ方法やコマンドの使い方は、以下のページを参照してください。

よく使う標準ライブラリ (インストール不要)

Pythonをインストールした時点で最初から入っているライブラリです。 これらは mamba install する必要はありませんが、解析スクリプト内で頻繁に import します。 (リンク先はPython公式ドキュメントです)

import時の名前

説明

os

ファイルパスの操作、ディレクトリの作成などOS機能へのアクセス。

sys

Pythonのシステム設定、パスの追加、スクリプトの引数処理など。

glob

glob.glob('*.gwf') のように、ワイルドカードでファイルリストを取得する。

datetime

日付や時刻の計算・変換。GPS時刻との変換時によく使う。

math

基本的な数学関数(sin, cos, sqrtなど)。配列を扱わない単純計算用。

よく使う外部ライブラリ一覧

KAGRA/PEMのデータ解析において「これだけは入れておくべき」というライブラリのリストです。 環境構築時にまとめてインストールしてしまいましょう。

注意: インストールコマンドは、仮想環境(conda environment)に入った状態で実行してください。

解析・グラフ描画の基礎

科学技術計算の「三種の神器」+αです。便利なユーティリティも含みます。

import時の名前

インストールコマンド

説明

numpy

(gwpy等で自動インストール)

数値計算の基礎。配列(ベクトル・行列)計算を高速に行う。必須。

scipy

(gwpy等で自動インストール)

科学技術計算。信号処理(フィルタ、FFT)、最適化、統計など。必須。

matplotlib

(gwpy等で自動インストール)

グラフ描画のデファクトスタンダード。必須。

pandas

(geopandas等で自動インストール)

表形式データの処理。CSVの読み書きや時系列データの整理に便利。

natsort

mamba install natsort

自然順ソート(file1, file2, ... file10 の順に並べる)に使う。

chardet

mamba install chardet

文字コード判定。日本語を含む古いCSVなどを読み込む際のトラブルシューティングに。

bottleneck

mamba install bottleneck

移動平均などのスライディングウィンドウ処理を高速化するライブラリ。

lmfit

mamba install lmfit

非線形最小二乗法ライブラリ。Scipyよりも直感的にフィッティングができる。

iminuit

mamba install iminuit

高エネルギー物理で標準的な「Minuit」のPython版。高度なフィッティング用。

重力波・KAGRAデータ解析

我々の分野に特化したライブラリです。多くのツールは conda-forge チャンネルで提供されています。

import時の名前

インストールコマンド

説明

gwpy

mamba install -c conda-forge gwpy

重力波データ解析用。時系列データの取得・プロット・スペクトル解析が簡単。

lalsuite

mamba install -c conda-forge lalsuite

LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。

nds2

mamba install -c conda-forge python-nds2-client

KAGRAのクローズドなデータサーバー (NDS) にアクセスするために必要。

gwosc

(gwpy等で自動インストール)

LIGO/Virgo/KAGRAの公開データ (Open Data) を取得するツール。

gwdatafind

(gwdetchar等で自動インストール)

分散ストレージ上のフレームファイルのパスを検索するツール。

dttxml

pip install dttxml

KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools, diaggui) のXML/フィルタファイルを読み込む。

gwinc

mamba install -c conda-forge gwinc

干渉計のノイズバジェット(感度計算)を行うシミュレーションツール。

gwdetchar

mamba install -c conda-forge gwdetchar

検出器の特性評価(DetChar)用ツール群。

gwsumm

mamba install -c conda-forge gwsumm

解析結果のサマリーページ(HTML)を作成するツール。

pycbc

mamba install -c conda-forge pycbc

コンパクト連星合体(CBC)の探索・パラメータ推定用ライブラリ。

pygwb

mamba install -c conda-forge pygwb

背景重力波(SGWB)解析用ライブラリ。

pyomicron

mamba install -c conda-forge pyomicron

グリッチ検出パイプライン Omicron のPythonラッパー/ツール。

gwsim

uv pip install gwsim

重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。

地球物理・環境モニター系

PEMグループではよく使う、地図・座標・地震学関連のライブラリです。

import時の名前

インストールコマンド

説明

obspy

mamba install -c conda-forge obspy

地震学用ライブラリ。地震計データの解析、miniseedフォーマット等の読み込みに強力。

geopandas

mamba install -c conda-forge geopandas

Pandasの拡張。地図データ(シェープファイル等)を扱う。

pyproj

(geopandas等で自動インストール)

地図投影法や座標変換(緯度経度⇔平面直角座標など)を行う。

解析環境・ツール

Pythonのコードを書いたり実行したりするためのツールです。

import時の名前

インストールコマンド

説明

(コマンドとして使用)

mamba install jupyterlab

JupyterLab: ブラウザで対話的に解析できるノートブック環境。必須。

h5py

(gwpy等で自動インストール)

HDF5形式のデータを読み書きする。大量のデータを保存する場合に使用。

tqdm

mamba install tqdm

for ループの進捗バーを表示する。長い解析のイライラ解消に。

インストールコマンドのまとめ

gwpyobspy などの大型パッケージをインストールすると、依存関係にある基礎ライブラリ(numpy, scipy, matplotlib, astropy, pandasなど)は自動的にインストールされます。 そのため、以下のコマンドでは重複を省き、主要なパッケージのみを記述しています。

Step 1: Conda (Mamba) で入れるもの

mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb pyomicron obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm

Step 2: Pip で入れるもの (Condaインストール後に行う)

pip install dttxml

KAGRA/Subgroups/PEM/PythonMemoJP/Library (last edited 2026-01-02 22:01:46 by tatsuki.washimi)