Interop / 変換ガイド#
このページは gwexpy の専用 interop ガイドです。 ここでの interop とは、to_*() / from_*() API を中心とした変換とブリッジを意味します。
このページで扱うもの:
to_*()/from_*()によるオブジェクト変換外部ライブラリや外部データモデルへの橋渡し
object 単位の file-bridge helper
対称でない変換 API
一部クラスにしか適用されない変換
このページで扱わないもの:
Class.read(..., format=...)obj.write(..., format=...)ローカルファイル形式の採用判断そのもの
ローカルファイルの .read() / .write() / fetch() 系の入口は ファイル I/O 対応フォーマットガイド を参照してください。
直接 I/O 名#
以下は gwexpy で使う direct I/O の正規名です。 移行期間中は旧 alias も使えますが、新しい例では下の正規名を優先してください。
正規名 |
旧 alias |
代表的な direct I/O 入口 |
外部パッケージ / スキーマ |
|---|---|---|---|
|
|
|
ObsPy |
|
|
|
|
|
|
|
ndscope HDF5 スキーマ |
|
|
|
DiagGUI / DTT XML |
ジャンプリンク#
このページの読み方#
手元のオブジェクトを保存形式やコンテナに写したいなら A を見てください。
pandas / xarray / astropy / dask のような解析オブジェクトに写したいなら B を見てください。
PyTorch / TensorFlow / JAX / CuPy に渡したいなら C を見てください。
ROOT / ObsPy / LAL / PyCBC などの分野別ライブラリに接続したいなら D を見てください。
Field を xarray / NetCDF4 / Zarr に
to_*()/from_*()で渡したい場合は、I/O ではなく interop として扱います。
S. 基盤レイヤー#
このレイヤーは、このページの他の項目へ数値計算と重力波解析の文脈を与えるライブラリを示します。利用統計による順位ではありません。
ライブラリ |
GWexpy エコシステムでの役割 |
Interop に関する注記 |
|---|---|---|
時系列と周波数系列の基盤エコシステム |
GWexpy は、これを任意の変換先として扱うのではなく、そのオブジェクトモデルを拡張します。 |
|
配列表現と数値計算ルーチン |
多くの公開 API の基盤です。専用の往復変換 API があることを意味しません。 |
|
単位、時刻、天文学向けオブジェクトの規約 |
明示的な |
|
重力波の時系列と周波数系列の規約 |
明示的な LAL 変換 API は D に示します。 |
状態ラベル#
公開済み: 実装があり、reference/api/interopから到達できる実装済み: 実装はあるが、このページ上の導線や参照整理がまだ残っている実装済み(一部経路は対応中): 主経路は使えるが、一部変換経路の完成度が不足している対応中: 専用の実装面または公開面の整理が未完対応予定: 設計対象として明示するが、まだ実装がない
オプション依存関係の方針#
Interop bridge は runtime optional backend を遅延 import します。runtime backend が未導入の場合、import gwexpy の時点ではなく、該当 bridge を呼び出した時点でインストール案内付きの ImportError を送出します。
import 中心の adapter の一部は、外部 package が生成した object や dict を受け取りますが、その producer package 自体は import しません。たとえば from_pyoma_results(), from_mtspec(), from_mtspec_array(), from_uff_dataset55(), from_uff_dataset58(), from_sdynpy_*(), from_metpy_dataarray(), from_wrf_variable(), from_harmonica_grid() は、呼び出し側が渡す pyOMA, multitaper, mtspec, pyuff, SDynPy, MetPy, wrf-python, Harmonica 形式の object を消費します。これらの package は source object を作る必要がある場合に導入してください。adapter が直接 import するためではありません。
方針 |
依存関係 |
インストール案内 |
|---|---|---|
GWexpy extras で宣言済み |
|
インストールガイド の説明に従い、対応する extra を PyPI からインストールしてください(例: |
個別 package install |
|
bridge が直接 import する場合、または受け渡す source object を作る必要がある場合に、該当 backend を個別に導入してください。 |
gwexpy[all] は GWexpy が宣言している extra をまとめて導入するための convenience bundle です。すべての public interop backend を導入するもの ではありません。個別 package install の行にある backend は、bridge が直接 import する場合や受け渡す source object を作る場合に、個別に導入してください。
xarray 系の interop bridge は、GWexpy が独立した xarray extra を公開していないため netcdf4 extra を案内します。メモリ上の xarray 変換だけが必要で netCDF4 を入れたくない場合は、xarray を個別に導入してください。
A. 保存形式・コンテナ変換#
このセクションは、変換先がファイル形式・コンテナ・ストレージ表現である変換を扱います。 「どのストレージ表現にブリッジするか?」という問いのときに使います。
目的: 保存表現を相手にする object-level bridge の入口を見分ける
入力:
gwexpyオブジェクトと、保存先のコンテナやストレージ表現出力:
to_*()/from_*()による変換結果や保存向けオブジェクト
連携先 |
API / 入口 |
状態 |
注意事項 |
詳細 |
|---|---|---|---|---|
|
公開済み |
object-level 変換 |
||
HDF5 FrequencySeries |
|
公開済み |
FrequencySeries HDF5 ヘルパー |
|
JSON |
|
公開済み |
JSON 文字列との相互変換 |
|
Python dict |
|
公開済み |
dict との相互変換 |
— |
|
公開済み |
オブジェクト単位のブリッジ |
||
|
公開済み |
配列/ストアのブリッジ |
||
|
公開済み |
オブジェクト単位のブリッジ |
B. 解析ライブラリ・オブジェクト変換#
このセクションは、変換先がストレージ形式ではなく Python オブジェクトモデルである変換を扱います。 「どの解析ライブラリのオブジェクトにブリッジするか?」という問いのときに使います。
目的: 解析ライブラリ向けの橋渡し先を選ぶ
入力:
gwexpyオブジェクト、または pandas / xarray / astropy などの外部オブジェクト出力: 解析ライブラリのオブジェクト、または
gwexpyに戻したオブジェクト
連携先 |
API / 入口 |
状態 |
注意事項 |
詳細 |
|---|---|---|---|---|
NumPy |
専用 |
実装済み(基盤対応) |
内部配列表現として広く利用 |
— |
|
公開済み |
Series / DataFrame |
||
pandas FrequencySeries |
|
公開済み |
FrequencySeries ⇔ pandas.Series |
|
|
公開済み |
Series / DataFrame / dict / FrequencySeries |
||
|
公開済み |
DataArray / Dataset |
||
xarray Field |
|
公開済み |
ScalarField / VectorField |
|
xarray FrequencySeries |
|
公開済み |
FrequencySeries ⇔ xarray.DataArray |
|
|
公開済み |
|
||
|
公開済み |
dask 配列のブリッジ |
C. 科学計算、信号処理、機械学習、配列バックエンド#
このセクションは、高速計算および ML 指向のブリッジを扱います。 配列のペイロードのみが移動するのか、メタデータも再構築できるのかを確認してください。
目的: ML や GPU 配列への橋渡しで、何が保持されるかを見極める
入力:
gwexpyオブジェクトと、PyTorch / TensorFlow / JAX / CuPy などの連携先出力: Tensor や高速化配列、場合によっては
gwexpyへ戻すための経路
連携先 |
API / 入口 |
状態 |
注意事項 |
詳細 |
|---|---|---|---|---|
|
公開済み |
Tensor 変換 |
||
PyTorch Dataset |
|
公開済み |
トレーニングループ用ウィンドウデータセット |
|
|
公開済み |
Tensor 変換 |
||
|
公開済み |
JAX array 変換 |
||
|
公開済み |
GPU array 変換 |
||
|
公開済み |
音響特徴量のエクスポート。解析オブジェクトと機械学習ワークフローの中間に位置しますが、主に後者のためにここへ分類します。 |
||
|
公開済み |
室内音響シミュレーションとアレイ処理のワークフロー |
D. 物理・ドメイン特化ライブラリ#
この節では、分野特化ライブラリと特殊なオブジェクトを扱います。ステータスを確認してください。完全な往復変換の対象、主にインポート経路の対象、公開整理中の対象があります。材料科学と生命科学の項目は価値の低い分野ではありません。将来の手法移植や、材料熱雑音の研究などへの経路を提供します。
目的: 分野別ライブラリとの橋渡しを、直 I/O と混同せずに整理する
入力:
gwexpyオブジェクト、または ObsPy / ROOT / LAL / PyCBC などの外部オブジェクト出力: 連携先ライブラリのオブジェクト、import 結果、または限定的な往復変換
連携先 |
API / 入口 |
状態 |
注意事項 |
詳細 |
|---|---|---|---|---|
|
実装済み(一部経路は対応中) |
|
||
|
公開済み |
地震データのブリッジ |
||
|
公開済み |
GW 時系列 / 周波数系列 |
||
|
公開済み |
GW 時系列 / 周波数系列 |
||
|
公開済み |
バジェットのインポート |
||
|
公開済み |
光学/応答 |
||
|
公開済み |
FRD / response。 |
||
|
公開済み |
地球物理 |
||
|
公開済み |
地磁気地電流(MT) |
||
MTpy |
専用 |
対応中 |
MTH5 周辺との整理が未完 |
— |
|
公開済み |
EEG/生体信号 |
||
|
公開済み |
電気生理 |
||
Elephant |
専用 |
対応中 |
|
— |
|
公開済み |
物理量のブリッジ |
||
|
公開済み |
音声オブジェクトのブリッジ |
||
|
公開済み |
天文スペクトル |
||
|
公開済み |
スペクトル解析 |
||
PySpice |
|
公開済み |
import 中心 |
|
|
公開済み |
RF ネットワーク解析 |
||
|
公開済み |
import 中心 |
||
multitaper |
|
公開済み |
import 中心 |
|
mtspec |
|
公開済み |
import 中心 |
|
pySDy |
|
公開済み |
import 中心 |
|
SDynPy |
|
公開済み |
import 中心 |
|
Meep |
|
公開済み |
import 中心 |
|
openEMS |
|
公開済み |
import 中心 |
|
emg3d |
|
公開済み |
EM 場の入出力 |
|
meshio |
|
公開済み |
import 中心 |
|
MetPy |
|
公開済み |
import 中心 |
|
WRF |
|
公開済み |
import 中心 |
|
Harmonica |
|
公開済み |
import 中心 |
|
Exudyn |
|
公開済み |
import 中心 |
|
OpenSees |
|
公開済み |
import 中心 |
次に読む#
ファイル I/O 対応フォーマットガイド で
Class.read(..., format=...)とobj.write(...)を確認するGPS 時刻ユーティリティ で GPS 時刻やタイムゾーンの補助関数を確認する
API リファレンスに進む前に、実例については Interop チュートリアル を参照してください