Skip to main content

Analysis tool for TanQ/FunQ project

Project description

GitLab Tag PyPI - Python Version GitLab License PyPI - Downloads PyPI -Downloads PyPI - Downloads Gitlab Pipeline Status GitLab Last Commit


Haniwers : ハニワーズ

墳Qの解析コード(個人用)

w:300

インストール

$ pipx install haniwers
$ which haniwers
~/.local/bin/haniwers

$ haniwers --help
  • pipx(もしくはpip3)を使ってインストールできます

セットアップ

作業ディレクトリを作成

$ mkdir ~/repos/hnw-daq/

データを取得するディレクトリを作成してください。 以後、このディレクトリをデータ取得するときのルートディレクトリとします。

設定ファイルを作成

haniwers/examplesにある設定ファイルをダウンロードして、 作業ディレクトリに配置してください。 (とてもめんどくさくてすみません。そのうちデフォルト設定を自動で生成できるようにしようと思います)


ドキュメント

関連ドキュメントはGitLab Pagesで公開しています。


できること/したいこと

  • 宇宙線検出器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)する
  • データ測定中に不意にソースコードが更新されないようにする必要がある
    • 測定中にソースコードを更新してしまった場合、どのような動作になるかは分からない
    • 取得したデータの健全性を確保するため、意図しない更新はできるだけ避けるようにする

解析に使う環境を構築する

$ 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

事前準備

必要な開発環境

  1. Gitのインストール
  2. Pythonのインストール
  3. Poetryのインストール
  4. VS Codeのインストール

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


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.17.0.tar.gz (30.8 kB view hashes)

Uploaded Source

Built Distribution

haniwers-0.17.0-py3-none-any.whl (33.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page