OneDrive +100 の契約終了に関するお知らせ のメールについて

Microsoftから microsoft-noreply@microsoft.com のメールアドレスで「OneDrive +100 の契約終了に関するお知らせ」というメールが届いた。ヘッダーを確認すると SPF: PASS(IP: 209.85.220.41)。詳細 DKIM: 'PASS'(ドメイン: microsoft.com)詳細 DMARC: …

Python scipyで離散データの内挿 interpolate 積分 integrateを使ってみる

# サンプルデータを取得 import urllib.request with urllib.request.urlopen("https://gitlab.com/gifuescan/atima_rangeenergy/-/raw/1e7c7d1432c302d0705a5ea9fe40d696ec468e54/splines_emul_1.41/BeamZ1_TargetZ6.txt") as web_file: data = web_file.re…

C# Windows フォームアプリケーションで別スレッドからUIを操作する方法

この記事は、Windows フォームアプリケーション (.NET Framework)の話です。 Windows WPFアプリ (.NET Framework) の場合 HeavyTask_Error だと System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外の…

Python: 非対称な誤差の計算をモンテカルロシミュレーション法で計算する

Asymmetric uncertainties in measurements: SOAD a Python package based on Monte Carlo Simulations https://aip.scitation.org/doi/abs/10.1063/1.5135421 という論文があったので使ってみた。数学的に正しいかどうかは確認していない Githubにソースコ…

C# Windows WPFアプリで別スレッドからUIを操作する方法

この記事は、Windows WPFアプリ (.NET Framework)の話です。 Windows フォームアプリケーション (.NET Framework) の場合 HeavyTask_Error だと System.InvalidOperationException: 'このオブジェクトは別のスレッドに所有されているため、呼び出しスレッド…

Geant4のGeometryの最もシンプルな記述法

一辺2メートルの立方体の空気(不可視)に、一辺2メートルの立方体のアルゴンガスを詰めた例 Geant4で定義されている物質一覧 G4VPhysicalVolume* Geometry::Construct() { G4NistManager* materi_Man = G4NistManager::Instance(); G4double leng_X_World = 2…

Geant4で重イオンをPrimaryGeneratorで入射する

Geant4で重イオンを入射したいという欲求に駆られた。Geant4で標準で扱える入射粒子はZが2以上だとヘリウム-4のみである。それ以外の原子核はやや特殊な方法で作る。 class PrimaryGenerator : public G4VUserPrimaryGeneratorAction { public: PrimaryGener…

PythonでJPGの2値画像をPNG画像に変換する

元々2値のPNG画像を無理やりJPG画像にすると、アナログノイズ的に輝度値が揺らいでしまう。 また、JPG画像の方が画像サイズが増えてしまうこともある。 JPG画像にしても輝度値は大きく変わらないので、閾値127で2値画像を作り、PNG形式で保存する関数を作っ…

Python + pandas でcsvデータの一部を除去して保存する

pandas で読んだデータの一部を除去して保存する方法。下の例ではdata1という変数が1000以下のものを除去している。 import pandas as pd df = pd.read_csv('run0001.csv') index_drop = [] for i, row in enumerate(dfdump.itertuples()): if row.data1<100…

Python (numpy+scipy)でプロファイルヒストグラムを描画する

プロファイルヒストグラム(Profile histograms ROOT: TProfile Class Reference を参照) は、2次元データをあるX軸の区画ごとに、Y軸のデータの平均値と標準偏差などを描画したものである。 matplotlib - Plotting profile hitstograms in python - Stack Ov…

meviyの切削プレートで円筒部品を発注してみる

FAメカニカル部品の切削プレートでは、円筒部品の見積もりを取ろうとすると、 「対象外形状が含まれています」と出る。切削プレートでは旋盤加工が必要な円筒形は作れない。 だが、真円に近くなくていいケースは多々ある。多角形にすると発注できるのだろう…

Microsoft ExchangeのメールをAndroidのGmailアプリから認証できないバグ

解決しました。Microsoft Exchange (Microsoft 365)の設定で携帯電話向けのExchange ActiveSyncが無効になっていたことが原因だそうです。 この記事は問題提起なので、解決はできていません。 Microsoft ExchangeのOutlookメールをAndroidのGmailアプリの「…

ラプラス変換、ラプラス逆変換をPythonで計算してみる

DiracDelta はディラックのデルタ関数またはインパルス関数 Heaviside は階段関数またはステップ関数と呼ばれるものです。 >>> import sympy as sp >>> s, t = sp.symbols('s, t') >>> a = sp.symbols('a', real=True) >>> sp.laplace_transform(sp.DiracDel…

Python で数値を科学的表記にする方法

科学的な表記のため、あまりにも長い桁数を丸める必要がある。ざっくりそういう需要のための関数を作った。 やり方は、指数表記にして指数部の大きさで判定させているだけである。自分で作ったほうが早いと思うので参考にしつつ作ってみてはどうだろうか。 d…

Python scipyで任意の方程式の解を求める

from scipy.optimize import fsolve import numpy as np # 変数 beta = 0.6955076793404303 ionpair = 4886 # 方程式 func = lambda delE : np.sqrt(delE/(np.log(ionpair*beta**2)-np.log(1-beta**2)-beta**2))*beta-92 # 初期値 initial_guess = 1000 # 解…

Python matplotlibのhist2dでカラーバーをfigsなしで表示する方法

import matplotlib.pyplot as plt import numpy as np x = np.random.normal(0,1,10000) #平均0、標準偏差1、N=10000 y = np.random.normal(3,2,10000) #平均3、標準偏差2、N=10000 counts, xedges, yedges, im = plt.hist2d(x, y, range=[[-10,10],[-10,10]…

Pythonで、正規分布でフィッティングする汎用的な関数を作ってみる 2

過去のコードをより汎用的にするために修正した。 phst.hateblo.jp 小数の桁を取得して、小数点以下の有効桁数が4桁になるようにした。 gaus_sample.txt は ガウス分布のフィッティング用のサンプルデータ Sample data からダウンロードできます。 import ma…

C#でGoogleのワンタイムパスワード計算アルゴリズム TOTP (RFC6238)を実装する

Stackoverflowのこの投稿で十分 stackoverflow.com だが、クリップボードにコピーして即プログラムを終了するように少し修正した。 using System; using System.Windows.Forms; using System.Security.Cryptography; namespace totp { class Program { publi…

WindowsでSVG(ベクター画像)ファイルをベクター情報を保持したままEPSファイルに変換する方法

Windows+Officeを使っている筆者は、通常図をOfficeのPowerPointで作成している。某雑誌は提出するファイルにEPS形式を要求しているが、PowerPointから出力できるベクターファイル形式で最も一般的なものはSVGファイルである。 このSVG(ベクター画像)ファイ…

複数のサーバーを、PythonとHTMLで監視する

pingを飛ばすのに pings というパッケージを使った pip install pings でインストール可能。次の例では36台のPCを監視している。 import datetime import matplotlib.pyplot as plt import pings hosts = [] for i in range(1, 37): hosts.append("192.168.0…

Pythonで複数のPNG画像をPDFファイルに変換する

画像からPDFにするためのパッケージ img2pdf が必要。 数字を自然順にソートするためのパッケージと関数 natsort natsorted が必要。 PNGファイルに透過チャンネルがある場合、 img2pdf.AlphaChannelError: Refusing to work on images with alpha channel …

Pythonのmatplotlibで長方形 Rectangle を描画する

0 0 0 -1000.0 6000.0 -1000.0 6000.0 0.0 5000.0 0.0 5000.0 - 1 1 0 4000.0 11000.0 -1000.0 6000.0 5000.0 10000.0 0.0 5000.0 - 2 2 0 9000.0 16000.0 -1000.0 6000.0 10000.0 15000.0 0.0 5000.0 - 3 3 0 14000.0 21000.0 -1000.0 6000.0 15000.0 20001…

TexLive2021のインストールメモ

TexLive 2021がリリースされたため、2020用の tlmgr のコマンドでエラーが吐かれるようになってしまった。 > tlmgr update --list tlmgr.pl: Local TeX Live (2020) is older than remote repository (2021). Cross release updates are only supported with…

OpenCV Pythonで画像の切り抜き (トリミング)

OpenCVでいうところのRectをやるには、配列の一部をスライスすればよい。 dst1 はY=164からHeight=2960、X=356からWidth=2028ピクセル分。XとYが逆になってることに注意。 import cv2 import glob files = glob.glob("*.jpg") i=0 for file in files: im = c…

WSL用のFedora RemixでROOT PyROOT などを使う

WSL用のFedora Remixを購入しインストールする Fedora Remix for WSL を購入 - Microsoft Store ja-JP $ sudo yum install root $ sudo yum install root python3-root root-notebook これで終わり。 WSLのデフォルトをFedora Remixにする wsl --set-default…

PyROOTでROOTファイルを読む TFileとRDataFrameの比較

PyROOTでROOTファイルを扱うには、ROOTの作法に従うか、Numpyで頑張るかの2択となる。 ROOTの作法に従った例 ROOTファイルに、イベントごとに色んなパラメータが固定長で格納されているものとする。データ名 ADC の[0]に格納されているデータをヒストグラム…

WSL上のJupyter LabでPython/ROOT C++/PyROOT、Jupyter Notebookでjsrootを動かす

超メモです。$は削除して実行してください WSLでJupyter Labを動かす方法 nodejsは最新版を推奨する。それ以外だとエラーが出ることがある。pip3でsudoは付けない。以下、実行すべきコマンド。 $ sudo sed -i.bak -e 's%http://[^ ]\+%mirror://mirrors.ubun…

PTEPのSubject Index 全リスト (と簡易日本語訳)

PTEPのSubject Indexの全リストに直接アクセスする場合はこのページ publication.jps.jp PTEPのトップページからアクセスする場合は以下のように辿るべし Subject Index

PythonでZIPファイルを作成する

arXivに投稿する時、関連するファイルをZIPファイルで書庫化しておくと楽である。動的にZIPファイルを作るにはPythonが手っ取り早いので、コードを作ってみた。 # PTEPのフォーマットで必要なファイルリスト # bibを使うときはbblも必要 import zipfile impo…

IPoE (IP over Ethernet)ルータ 対応機種

下記のブログによると、光のIPoEルータ 対応機種は以下の3種類らしい。 NEC Aterm 2020年10月 8日 発売 Aterm WG1200HS4 PA-WG1200HS4 Wi-Fi 5対応の無線LANルーター(最大867Mbps) kakaku.com NEC Aterm 2020年10月 8日 発売 Aterm WG1200HP4 PA-WG1200HP4…