Analysis tool for TanQ/FunQ project
Project description
Haniwers : ハニワーズ
墳Qの解析コード(個人用)
クイックスタート
$ haniwers --help
Usage: haniwers [OPTIONS] COMMAND [ARGS]...
Commands
daq Start DAQ. Set up with daq.toml.
docs Open online document.
fit スレッショルド計算.
mock-daq Dummy DAQ.
ports Search available ports and show device names.
raw2tmp Parse raw_data into CSV format. Should be used temporarily for quick analysis.
run2csv Parse raw_data into CSV format. Specify RunID.
scan スレッショルド測定.
version Show haniwers version.
vth スレッショルド設定.
haniwers --help
でサブコマンドを確認できます。
インストール
pipx
でインストールします。
$ pipx install haniwers
$ which haniwers
~/.local/bin/haniwers
$ haniwers version --env
haniwers 0.19.0
Python: 3.12.5
System: Darwin
OS: macOS-14.6.1-arm64-arm-64bit
Logs: ~/Library/Logs/haniwers/0.19.0/haniwers_log.json
アップデート
pipx upgrade
で最新版に更新できます。
$ pipx upgrade haniwers
セットアップ
作業ディレクトリを作成
$ mkdir ~/repos/hnw-daq/
データを取得するディレクトリを作成してください。 以後、このディレクトリをデータ取得するときのルートディレクトリとします。
設定ファイルを作成
haniwers/examplesにある設定ファイルをダウンロードして、 作業ディレクトリに配置してください。 (とてもめんどくさくてすみません。そのうちデフォルト設定を自動で生成できるようにしようと思います)
ドキュメント
関連ドキュメントはGitLab Pagesで公開しています。
haniwers
の使い方(built with sphinx): https://qumasan.gitlab.io/haniwers/docs/- 解析ログブック(built with mystmd): https://qumasan.gitlab.io/haniwers/
それぞれのコマンドの使い方はhaniwers docs
でオンラインヘルプを確認できます。
$ haniwers docs
$ haniwers docs --page version
$ haniwers docs --page scan
$ haniwers docs --page fit
$ haniwers docs --page vth
$ haniwers docs --page daq
$ haniwers docs --page raw2tmp
$ haniwers docs --page run2csv
できること/したいこと
- 宇宙線検出器OSECHIで取得したデータを、解析可能なCSVファイルに変換する
- データを理解するのに必要は基本プロットを作成する
- まとめスライドのテンプレートを作成する
以下はあまり整理できてない
開発者向け
インストール&ビルド
haniwers
はDAQツールと解析ツールが同梱されている- 測定環境と解析環境で作業ディレクトリを分けて、それぞれクローンすることを推奨
作業ディレクトリを作成する
// 作業環境を作成する(ディレクトリ名は任意)
$ cd mkdir ~/repos/hnw/
// 測定に使う環境(ディレクトリ)
$ mkdir hnw-daq
// 解析に使う環境(ディレクトリ)
$ mkdir hnw-analysis
- 測定環境:タグを指定してリポジトリをクローンする
- 解析環境:最先端のブランチ(
main
)をクローンし、解析トピックごとにブランチを作成する
測定に使う環境を構築する
$ cd ~/repos/hnw/hnw-daq/
// タグを指定してクローンする
$ git clone https://gitlab.com/qumasan/haniwers.git -b 0.13.1 --depth 1
$ cd haniwers
$ poetry install
$ poetry shell
(.venv) $ cd sandbox/
(.venv) $ haniwers --help
- データ測定環境を構築する場合は、
-b タグ番号
でタグを指定してshallowクローン(--depth 1
)する- 最新のタグ番号はタグ一覧で調べる
- それぞれのタグの内容は変更履歴(CHANGELOG)を調べる
- データ測定中に不意にソースコードが更新されないようにする必要がある
- 測定中にソースコードを更新してしまった場合、どのような動作になるかは分からない
- 取得したデータの健全性を確保するため、意図しない更新はできるだけ避けるようにする
解析に使う環境を構築する
$ cd ~/repos/hnw/hnw-analysis/
$ git clone https://gitlab.com/qumasan/haniwers.git
$ cd haniwers
$ poetry install
$ poetry shell
(.venv) $ git switch ブランチ名
(.venv) $ cd sandbox/
(.venv) $ haniwers --help
事前準備
必要な開発環境
Gitの設定
// 現在の設定内容を確認する
$ git config -l
// 基本項目が設定されてない場合
$ git config --global user.name "名前"
$ git config --global user.email "メールアドレス"
$ git config --global pull.rebase false
// エディターを設定したい場合(どれかひとつ)
$ git config --global core.editor emacsclient # Emacsに設定
$ git config --global core.editor "code --wait" # VS Codeに設定
$ git config --global core.editor hx # Helixに設定
- Gitをはじめて使う場合、ユーザー名/メールアドレスの基本設定が必要
- 必要であればエディターを設定する(これは後回しでもOK)
Python環境 /Poetry環境を構築する
$ poetry install
$ poetry shell
(.venv) $ cd sandbox
(.venv) $ haniwers --help
(.venv) $ haniwers version
haniwers 0.12.0
ポータブル環境を作成する
Dockerを使ってポータブルな環境(Dockerイメージ)を作成する
イメージを作成する
$ cd docker
$ docker build --platform=linux/arm64 -t myhaniwers .
- Raspberry Piで動作するイメージを作る場合は、
ARM
ベース(--platform=linux/arm64
)でビルドする - MacBookなどRPi以外のパソコンでビルドする
- RPiでイメージをビルドすると、かなり時間がかかる
イメージを移動する
// MBPで実行する
$ docker save myhaniwers:latest > myhaniwers.tar
// RPiで実行する
$ docker load -i myhaniwers.tar
- 作成したイメージを
.tar
形式に出力し、USBメモリにコピーする - USBメモリから測定用のRPiにイメージをコピーする
- RPiでイメージを読み込む
コンテナを起動する
$ docker run --rm -it \
-v $PWD/sandbox:/home/app/haniwers/sandbox \
--device=/dev/ttyUSB0:/dev/ttyUSB0 \
myhaniwers:latest bash
- ホスト側の
sandbox
をコンテナ側にマウントする - ホスト側のUSBポート(
/dev/ttyUSB0
)をコンテナ側のUSBポート(/dev/ttyUSB0
)に接続する
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
haniwers-0.19.3.tar.gz
(36.1 kB
view details)
Built Distribution
haniwers-0.19.3-py3-none-any.whl
(38.9 kB
view details)
File details
Details for the file haniwers-0.19.3.tar.gz
.
File metadata
- Download URL: haniwers-0.19.3.tar.gz
- Upload date:
- Size: 36.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46e709f44a84ffc8b8ba813a59cfd47654fcd2515525e64a88d40ac54863d2f1 |
|
MD5 | fa7c91ce1451f7e9c25472477ad66ed8 |
|
BLAKE2b-256 | a9c248e93eaeec09f291cde4633491fa9e83ec77e3f4bb54336f24ce339c0896 |
File details
Details for the file haniwers-0.19.3-py3-none-any.whl
.
File metadata
- Download URL: haniwers-0.19.3-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 329b76249690b67d44a101d86f5f0dad81464b24efe9ed7d9d1663cafa96f078 |
|
MD5 | 2eb9ce670663056625a2b20e8467bfa9 |
|
BLAKE2b-256 | b864bbecbdd9c4ec48ea9784c556639b02b8ef56a1efe90b6005f4d6655b7353 |