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

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

2024-01-01から1年間の記事一覧

Python: OpenCVでライン(線形)プロファイルを取得する

Windows11でおなじみの壁紙のラインプロファイル=直線上のピクセルの輝度値を取得してみよう。 参考にしたブログ ラインプロファイルの取得法【5/24 訂正】 #Python - Qiita import cv2 import numpy as np import matplotlib.pyplot as plt import scipy x0…

Python: OpenCVでMJPGを表示、tkinter でフレームレートを表示させる、録画する

素直にMJPG形式で配信される動画をOpenCVで表示させる import cv2 url = f"http://192.168.0.10/mjpg/video.mjpg" cap = cv2.VideoCapture(url) while(True): try: ret, frame = cap.read() if ret: cv2.imshow("Video", frame) cv2.waitKey(1) else:raise e…

古いOSへSSH接続時のエラーへの対処

$ ssh -X physics@station Unable to negotiate with 192.168.0.2 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 と出るときは ~/.ssh/config に Host station HostName 19…

Python: 7zip用に既存の圧縮ファイルを分割する

クラウドストレージやアップローダーには、ファイルサイズに上限があることがある。その際、巨大なファイルを分割することが求められる。 巨大なファイルになりがちなのは圧縮ファイルなので、以下、圧縮ファイルを前提として話を進める。圧縮展開プログラム…

Windows: GitHubへのログインをTokenを使って自動化する方法

Githubで要ログインなリポジトリにアクセスすると以下のGitHubへのログイン画面が出てくる。 ここで「Sign in with your browser」とやってもログインはできるものの、その度にWindowsに資格情報が追加されてしまいおすすめできない。ちなみにWindowsの資格…

Windows: Adobe DC (Acrobat Pro)でエラーコード 206によりログインだけができないトラブルへの対処

Adobe Acrobat Proをインストールしようとしたところ、インストールは成功したが、ユーザー名とパスワードを入れてログインしようとしたときに、画面がループして動かなくなる状態が発生した。具体的には サーバーの切断 アドビのサーバーにアクセスできない…

Google Apps Script(GAS): Google Drive上のテキストファイルを読み取り、上書きする

Google Apps Scriptで、Google Drive上のテキストファイル(TXTやJSON)を読み取り、上書きしてみよう。 ファイルIDは、Google Drive上のファイルを表示させて、「共有」から「リンクをコピー」したときの https://drive.google.com/file/d/この部分/view?usp=…

Google Apps Script(GAS): SpotifyのAPIでプレイリストを取得する

Google Apps Script経由で、SpotifyのAPIを使って、プレイリストを取得してみよう function myFunction() { var clientId = "set your clientId here"; var clientSecret = "set your client secret here"; var url = "https://accounts.spotify.com/api/tok…

VScode: 独自の syntax highlighter 拡張機能を作る

シンタックス(構文) ハイライター用の拡張機能(Extension)を作る。拡張機能として公開することは目指さない。 インストールしていない場合は以下をインストールする。 VS Code のインストール https://code.visualstudio.com/Download node のインストール h…

Python+matplotlib: ログスケールでの目盛り、サブ目盛りを設定する

十分な広さのfigsizeにグラフを書くと、軸はそれなりに表示される import matplotlib.pyplot as plt fig, axes = plt.subplots(ncols=2, nrows=2) for ax in axes.flat: ax.plot([1,2], [0.00001,1]) ax.set_yscale("log") plt.tight_layout() plt.show() グ…

Python awkward: parquet形式で1億イベントのtreeのIO(入出力)速度を圧縮形式で比較する

この記事の Awkward のバージョンは1.X.Xです Python の awkward パッケージに実装されている parquet ファイル形式を入出力するときの処理時間を、圧縮形式ごとに比較してみる。配列の型は awkward.highlevel.Array と呼ばれる形式である。 8バイト(int64_t…

ROOT: TFile形式で1億イベントのtreeのIO(入出力)速度を圧縮形式で比較する

CERN ROOT の TTreeを TFileで入出力するときの処理時間を圧縮形式ごとに比較してみる。Pythonで同様のことをやった記事も参照。 8バイト(int64_t)✕8メンバー✕1億エントリーなので、圧縮なしの場合は6.4GBのデータサイズとなる。 圧縮形式 ファイルサイズ 出…

1億イベントのtreeデータのグラフ化の速度をPythonとROOTで比較する

この記事の Awkward のバージョンは1.X.Xです データはここのを使う。64バイト(double 8個)×1億イベント(エントリー)である。 phst.hateblo.jp 結果のまとめ 言語 ライブラリ ファイル形式 処理時間 スレッド数 Python awkward parquet 46 sec 1 C++ ROOT TT…

Windows ROOTとPython(numpy,awkward)でTreeファイルの生成と出力時間を比べる

この記事の Awkward のバージョンは1.X.Xです エマルションの飛跡情報(x,y,ax,ay,ax0,ay0,ax1,ay1)とする。Visual StudioでコンパイルしたROOTと、Python+numpy,awkwardで作ったバージョンを比較する。イベント数は1億(108)本とする。 Visual Studio でコン…

Windows + Visual StudioでCERN ROOT6 64bit版 を動かす (2024年)

最終更新: 2024/02/24 CERNのROOT Release 6.26/04 - 2022-06-07 から Windows用のプリコンパイル済みバイナリが配布されはじめた。当初はバグがありまともに動かなかったと思われるが、執筆時点での最新 Release 6.30.04 - 2024-01-31 は1.5年も経過しそれ…

Javascript Vue.js を使って非同期でデータを表示する

Vue.js を使って非同期でデータを表示する。 Vue.jsのチュートリアルの10番目を参考にした。 v-if で 表示の条件分岐ができるようだ。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>Vue.js test step-10</title> <script type="importmap"> { "imports": { "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js" } } </script> </head> <body> …</body></html>

Windows: リモートデスクトップでパスワードを毎回入力させられないようにする

あるバージョンから、Windows のリモートデスクトップ接続でパスワードを毎回聞かれるようになった。 お使いの資格情報は機能しませんでした Windows Defender Credential Guard では、保存された資格情報を使 用できません。資格情報を入力してください。 …