物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

キヤノン CanoScan LiDE 400 のフラットベットサイズ

安いことで有名なキャノンのフラットベットスキャナーの CanoScan LiDE 400 personal.canon.jp 手元の実機で、縁から縁までの距離を測定した。結果は、ガラス面の有効サイズで 横 219 mm × 縦 308 mmだった。 用紙として載せられるのは 各1 mm減らして、218 …

Windows11 + Visual Studio 2022で64bit版 GEANT4を動かす (2025年)

https://geant4.web.cern.ch/ Windowsで64bit版Geant4を入れたお話です。32bit版は過去記事参照。 これまで、Windows用Geant4は32bit版しか提供されてきませんでしたが、11.3から64bitに対応したようです。 というわけで、インストールしてみましょう。 Gean…

Windows で Wi-Fiのパスワード認証が通らないときは一旦SSIDを削除すべし

Windows 11で パスワードを入力してください。 前回の接続の後で、いくつかの情報が変更されています。接続するには追加の情報が必要です。 でパスワードを要求されるが、パスワードを入れても接続中のまま失敗するケースがあった。 Windowsの設定から、Wi-F…

Windowsで awkward が dll の依存問題で動かない場合、Visual C++ 再頒布可能パッケージをインストールしよう

エラーメッセージ >>> import awkward Traceback (most recent call last): File "<python-input-0>", line 1, in <module> import awkward File "C:\Program Files\Python313\Lib\site-packages\awkward\__init__.py", line 14, in <module> from awkward import contents File "C:\Program </module></module></python-input-0>…

Visual Studio 古いLinuxに接続できる February 2025 (version 1.98) へのリンク

https://update.code.visualstudio.com/1.98.2/win32-x64-archive/stable

Ubuntuでsshfs

Ubuntuでスクショを撮ったとき、サーバーに自動転送するために、SSHFSでScreenshotsディレクトリにサーバー側のディレクトリをマウントすることを考えた。 SSHFSを使ってマウントする sshfs user@server.host:/Users/user/ScreenShots /home/user/Pictures/S…

Windows 11 で ログオンイベントをイベントビューアーに残す

「ローカルセキュリティポリシー」(secpol.msc)→「ローカルポリシー」→「監査ポリシー」→「ログオン イベントの監査」で「成功」「失敗」を有効化。 イベント IDは 4624 (成功) 、 4625 (失敗)

UltraVNC 1.6.1.0 でエラー Handshake aborted. このコンテキストは、期限が切れているので使用できません。(0x90317)

UltraVNC Viewer 1.6.1.0 Handshake aborted. このコンテキストは、期限が切れているので使用できません。 (0x90317) というエラーが出る。 原因は分からないが、UltraVNCの バージョン 1.6.1.0 を 1.4.3.6 に戻すとエラーが出なくなった。 uvnc.com 原因が…

音源編集(3) 分割と結合

ノイズ処理のためには、長尺音源は分割したほうがメモリの観点で処理速度が速くなる。以下は300秒ごとに5秒ごとのオーバーラップ付きで分割する方法。300秒のところは尺にあわせて調整すべし。 import librosa import soundfile as sf import os import nump…

音源編集(2)

録音のゲインは一定で録るべし。ゲイン可変だとノイズ除去がめんどくさくなる。ゲイン情報も出力してくれたらいいんだけどね

音源編集 (1)

物理の実験屋なら、音源は編集できる。ただの 16bit 44,100 Hz 1ch/2ch の連続データである。

Python+AME2020: イオンの質量を計算する

AME2020の mass modelを使って計算する方法。IAEAのウェブサイトからダウンロードした mass_1.mas20.txt を以下のpythonファイルと同じディレクトリに置いてください。load_ame20 関数は何度も実行しなくてもいいようにキャッシュを有効にしています。 mnucl…

vscode + copilot のコミットメッセージ自動生成の設定

"github.copilot.chat.commitMessageGeneration.instructions": [ { "text": "Semantic Commit MessageおよびCommit Message Guidelineに従い、日本語のコミットメッセージを1行で作成してください。" } ]

重イオンの物質中の電荷状態計算ツール

重イオンの物質中における電荷状態を計算するツールを作った。 https://simcc-web.streamlit.app/ 平衡状態における重イオンの電荷状態の、飛翔体のZ依存性、エネルギー依存性、物質のZ依存性を表示できる。 https://simcc-web.streamlit.app/Equilibrium 物…

Google検索結果をJSONで保存するブックマークレット

Google検索で表示される最大10件のウェブサイトの、タイトル、URL、説明を保存するためのブックマークレットを作った。 以下のスクリプトをコピーして、ブックマークのURL部分にペーストして保存する。Google検索してからこのブックマークを押すと、結果をJS…

Ubuntu (raspberry pi) で streamlit サーバーを作る

手元に好きに使える raspberry pi があったので、立ち上げてみた サーバー環境の準備 サーバーの選定 環境は以下の通り $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookwor…

Python+Jupyter Lab: Windows で仮想環境を設定する

python 公式からインストールする。 Python 3.8.10 Python 3.13.3 最初に3.8.10 を入れる。Optional Features はすべてチェックを入れる。 Advanced Options は Install for all users と Precompile standard library のチェックを入れる。 次に、3.13.3 を…

ATIMA (CATIMA) のほぼ全機能をPythonで使うためのラッパー pycatima

pip install pycatima でインストール可能。pybind11を使ってC++の実行ファイル DLLをPythonから呼んでいるので実行速度はCATIMA (C++版) とほぼ変わらない。

ユニバーサルデザイン推奨配色セットをPythonで扱う

cudo.jp import matplotlib.pyplot as plt import matplotlib.colors as mcolors import numpy as np univ_colors = [] univ_colors.append((255,75,0)) univ_colors.append((255,241,0)) univ_colors.append((3,175,122)) univ_colors.append((0,90,255)) u…

SIGLENTのオシロスコープをPythonで画像を自動保存する方法

siglentna.com websocketを使って保存するPythonコードは公開されているので、多少の変更を加えるだけで実用レベルに達する。 main部分を改造して、bmpファイルではなくpngファイル形式で、ファイル名は 日時.png で保存するようにした。 def main(): global…

Xサーバー Xming でフォント(画面)を大きくする方法

起動オプションに -dpi 100 を追加する。 起動オプション全体 "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow -nolisten inet6 -dpi 100

Linux であるディレクトリを監視して変更があれば commitする方法

以下のようなシェルスクリプトを cron で定期的に実行すれば良い。 #!/bin/bash export HOME=/home/physics export PATH=/usr/bin:/bin git config --global user.email "physics@physics" git config --global user.name "physics" cd /home/physics/target…

CRONでは .bashrc 等で設定した環境変数は読み込まれない

CRON で実行したときだけプログラムが想定どおりに動かないと思ったら、PATH等の環境変数の設定が読み込まれていなかった。 crontab -e 等で 毎分実行させるシェルスクリプトを指定する場合は * * * * * /home/physics/bin/test.sh > /dev/null 2>&1 などと…

2次元の正規分布を描画、信頼区間の設定、任意の楕円領域で確率密度を積分

まずは2次元の正規分布を描画する。簡便のために対角成分以外は0とする。 import numpy as np from scipy.stats import multivariate_normal import matplotlib.pyplot as plt np.random.seed(2) mu_x,mu_y = 5,10 sigma_x,sigma_y = 1,5 cov = np.array([[1…

正規分布とポアソン分布の信頼区間、有意度、p値について

正規分布について考えるため、以下の図で記号を定義する。 出典: PDG 信頼区間(confidence interval) を定義したとき、有意度(σ)と、信頼区間から外れる確率(両側の場合はα、片側の場合はα/2)は以下のように計算できる。 from scipy.stats import norm for s…

Windows11 でNet-SNMPを動かす

Net-SNMP のインストール sourceforge.net 5.5-binaries から x64 のバイナリをダウンロードしてインストール。オプションは特に変更しない。 snmpd.confの設置 C:\usr\etc\snmp に https://gitlab.com/-/snippets/3736552 から snmpd.conf をダウンロードし…

Windows11 非対応PCで Windows10 から Windows11 にアップグレードする裏技

Windows11のisoをダウンロードして、マウントして、コマンドプロンプトで setup.exe /product server というオプションを付けて起動。

Python: PNG形式の画像ファイルのDPIだけバイナリで書き換える

JPG形式の記事 と基本的には同じである。 違いは物理サイズ指定の単位が JPGではDPI (dots per inch) であるのに対して、PNGではPPM (pixels per meter) であること、チャンク(セグメント)ごとにCRC-32の巡回冗長検査があるのでそれを書き換える必要があるこ…

Python: JPG形式の画像ファイルのDPIだけバイナリで書き換える

以下、JPG形式の画像ファイルの物理サイズをA4サイズの横幅にするコード。 PNG形式の記事も参照 def parse_jpg(file_path): with open(file_path, 'rb') as f: data = f.read() i = 0 segments = {} while i < len(data): assert(data[i] == 0xff) marker = …

Python: 斜視を矯正するための輻輳訓練カードを作るプログラミングコード

ある事情で、斜視を家庭で矯正訓練するための、円と線が書かれた紙(輻輳訓練カードと呼ばれるらしい)を作ったので、そのコードを公開します。 こういうの↓ import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import ma…