mea2npz

MEA計測データを 軽い .npz へ。
速く、シンプルに。

.hed / .bio → .npz converter

mea2npz manual

流れ

  • What — このツールでできること
  • Setup — インストール(1回だけ)
  • Run — 対話モードとコマンド
  • More — 一括変換・中身の確認
  • Help — エラー別の対処
mea2npz manual

できること

.hed / .bio は サイズが大きく 持ち運びが大変。
mea2npz がこれを 軽い .npz に変換します。

.hed / .bio大きい生データ
→
.npz軽い・1/4〜1/2
→
pyMEA解析・グラフ化
mea2npz manual

3つの強み

  • Python 不要
    実行ファイル1つを置くだけで動く
  • マルチOS対応
    Windows / Mac / Linux で同じ操作
  • 完全に同じ数値
    変換した .npz は pyMEA でそのまま読める
mea2npz manual

用語ガイド

言葉 かんたんな意味
MEA 多数の電極で細胞の電気信号を測る装置
.hed 計測の設定が入った小さなファイル
.bio 実際の電位データ(大きなかたまり)
.npz 変換後の軽いファイル
ターミナル コマンドを打つ画面(Winは git bash)

.hed と .bio はセットで1計測。.hed を渡せば .bio は自動で探します。

mea2npz manual

インストール

最初の 1回だけ。ターミナルに貼り付けて Enter。

curl -fsSL https://raw.githubusercontent.com/kkito0726/MEA_modules/main/tools/mea2npz/install.sh | bash
  • Windows — スタートメニューで git bash を開いて実行
  • Mac / Linux — ターミナルを開いて実行
  • 完了後、ターミナルを 開き直す
mea2npz -version   # 文字が出れば成功

Mac で開けない時 → xattr -d com.apple.quarantine ~/bin/mea2npz

mea2npz manual

いちばん簡単

対話モード — 質問に答えるだけで変換できます。

mea2npz
入力パス (.hed ファイル or ディレクトリ): sample.hed
保存dtype (int16/float32) [int16]:        ← Enter でOK
読み込み時間を指定する [Y/n]: n            ← 全部なら n
電極間距離 (μm) [450]:                     ← 450 なら空欄のまま Enter
変換完了: sample.npz

電極間距離はたいてい 450 → 何も入れず Enter(空欄)でOK。
ファイルは ドラッグ&ドロップ で入力できます。

mea2npz manual

質問の意味

質問 意味 迷ったら
入力パス 変換したい .hed の場所 必須
保存dtype 圧縮方式(int16=軽い) int16
時間を指定 一部だけ切り出すか n(全部)
電極間距離 電極の間隔(μm) 450 なら空欄でOK
時刻リセット 切出しを0秒開始にする Enter
出力先 保存先 Enter(同じ場所)
mea2npz manual

コマンドで使う

慣れたら、質問なしで一発変換。

# いちばん基本(全部を int16 で変換)
mea2npz sample.hed

# 30秒〜60秒だけ切り出す
mea2npz sample.hed -start 30 -end 60

# float32 で保存する
mea2npz sample.hed -dtype float32

ヘルプは mea2npz -h で表示されます。

mea2npz manual

主なオプション

オプション 意味 初期値
-start <秒> 何秒から読むか 0
-end <秒> 何秒まで読むか 最後まで
-dtype 圧縮方式 int16/float32 int16
-distance <μm> 電極間距離 450
-o <場所> 出力先を指定 同じ場所
-keep-time 時刻をリセットしない リセット
mea2npz manual

まとめて変換

フォルダを渡すと 中身を全部 変換します。

mea2npz ./measurements          # サブフォルダも → -recursive
  • 結果はフォルダ内の output/ にまとめて保存
  • 変換できないファイルは 止まらず飛ばす
  • 最後に 成功 / スキップ / 失敗 の件数を表示
フォルダ指定
→
1つずつ変換失敗はSKIP
→
件数を表示
mea2npz manual

中身の確認

「この .npz どんな設定だっけ?」は .npz を渡すだけ。

mea2npz sample.npz
項目 値
電極間距離 (μm) 450
サンプリングレート (Hz) 5000
GAIN 50000
計測時間 (s) 1
dtype int16

このとき 変換はされません。中身を見るだけなので安全です。

mea2npz manual

Python で読む

pyMEA では .hed とほぼ同じように読めます。

from pyMEA import read_MEA_npz

mea = read_MEA_npz("sample.npz")
print(mea.data.array.shape)
# (65, データ数) … 1行目は時刻、2行目以降が各電極
  • mea2npz の .npz は pyMEA 製と 数値が完全に一致
  • これまでの 解析コードがそのまま使える
mea2npz manual

処理の流れ

変換ボタンを押すと、中ではこう動いています。

diagram

中身確認のときは、重い電位データは読まず 設定部分だけを読みます。

mea2npz manual

困ったとき

症状 対処
command not found ターミナルを 開き直す
.bio が見つかりません .hed と ○○0001.bio を同じ場所に
end=○○s が…超えています -end を短く / 時間指定をやめる
dtype は int16 または… int16 か float32 にする
Mac で開けない xattr -d com.apple.quarantine ~/bin/mea2npz

エラーは赤い画面ではなく ふつうの文字。落ち着いて読めば原因が書いてあります。

mea2npz manual

Happy Analyzing.

質問に答えるだけ、コマンド1つで変換完了。

github.com/kkito0726/MEA_modules

mea2npz manual