※ これらのソフトウェアは東京大学物性研究所益田研究室の菊地帆高が個人開発したものです。何か問題があった場合は(hodaka.kikuchi[at]issp.u-tokyo.ac.jp)まで連絡下さい。
※ 申し訳ありませんがmacユーザーとlinuxユーザーの方は、githubの方からソースコードをダウンロードし使用してください。私の環境ではクロスコンパイルすることができません。
SPICEのlog fileを読み込み、fileの最終行をfileが更新された直後にslackへ自動送信するプログラム。SlackにIncoming Webhookを設定し自動送信したいチャンネルのURLを取得してください。"history.txt"を選択して下さい。
ソースコードはこちら(githubのリンクです。)
一定間隔でスクリーンショットから数値データを読み込みCSV fileへ書き込むプログラム。dilutionなどのlogが残せないSE用に作成しました。位置設定で範囲を指定(ドラッグで反映されます)し、指定時間ごとにSSを取り文字起こしします。Tesseract OCRを使用しているため、本ソフトをインストールするPCにtesseractをインストールし環境pathに追加してください。デフォルトであればC:\Program Files\Tesseract-OCR\をpathに追加すればよいはずです。(追加スクリプトでjapanese script, japanese verical script, javanese, japanese, japanese(vertical)の5つを選択するようにして下さい。)
基本的に白背景に黒字であればなかなかの精度で数値を読み込んでくれます。それ以外の場合にはSSを変換する等処理する必要があります。outputファイルには1列目に年月日、2列目に時間、3列目に読み取った文字列を記入するようになっています。データは積算されていくので上書きされることはありません。
ソースコードはこちら(githubのリンクです。)
一定間隔でスクリーンショットを保存するプログラム。dilutionなどのlogが残せないSE用に作成しました。位置設定で範囲を指定(ドラッグで反映されます)し、指定時間ごとにSSを取り"year/month/day_hour/minite/second.png"というファイル名で指定したディレクトリに保存します。
ソースコードはこちら(githubのリンクです。)
UBmatrixを使用した角度計算や、分解能関数計算、スキャン中の分光器の動作可視化(リミットの確認として使用することをお勧めします。)、lattice constantのfittingが可能となっています。もともとはlavbiewの通信が不安定であること、特定の冷凍機のログがSPICE上で残せないことを解決するために、SPICEをpythonで動かせるようにとのモチベーションで開発したものです。config.ini及びflux.datをいじることで各三軸分光器に対応したものが作成できます。ここにアップロードしているconfig.ini及びflux.datはC11のものです。
私の任期が残り1年ちょっとなので、それまでにC11ではこのプログラムを用いた制御ソフトを開発したいところですが、そこまでできるかわからないです。
以下の点に注意して使用してください。
※ 申し訳ないですが、水平集光の場合の分解能計算に自信がありません。reslibのマニュアルに記載されたとおりに作成したつもりですが、、、
※ まだ分解能行列を外部ファイルに出力できません。
※ 例によってwindows版のみアップロードしています。macやlinuxを使用の方はソースコードをダウンロードしてください。
※ flux.datファイルの1列目はエネルギー、2列目はCPSです。他のビームラインで使用する場合は中身を書き換えてください。
ソースコードはこちら(githubのリンクです。)
上がconfig.iniファイル、中が.exeファイル、下がflux.datファイルです。
TAS simulatorについてのコメント
最重要事項 申し訳ありません。version 1.7以前のものに関して分解能計算が完全に間違っていました。修正バージョンを近々アップデートいたします。
->アップデートしました。1.7以前のものはアンインストールするようにして下さい。
->再度アップデートしました。1.11以前のものはアンインストールするようにして下さい。
version 1.1.0をリリースしました。1.0.0はc2を求めるfitting機能に関して不具合を発見したため修正しました。ただし、散乱面外のQの角度を求めるときに計算結果が正しくない場合があります。この不具合については後日修正します。UIをアップデートし、デフォルト設定(figureについて表示するかどうかや、ブラッグピーク位置等)の保存範囲が増えました。
version 1.2.0をリリースしました。散乱面外のQの角度を正しく求めることができるようになりました。
version 1.3.0をリリースしました。toolboxを追加しました。逆格子ベクトルの計算、エネルギー波長波数変換、hklからQとdの計算を行えるようになりました。分解能関数の図にFWHMを表示するようにしました。軽微なバグを修正しました。
version 1.4.3をリリースしました。guide管のミラー係数を入力することで発散角度を自動的に計算するようにしました。波長依存性についても自動で補正します。水平集光の分解能計算を見直し、誤りを修正しました。
verion 1.5.0をリリースしました。分光器が敷地範囲を超える場合とハードウェアリミットを超える場合には警告を出すようにしました。また、(h,k,l)に関して分数も読み込みできるようにしました。
version 1.6.0をリリースしました。逆格子空間内でのki,kf,τベクトル表示ができるようになりました。
version 1.7.0をリリースしました。flux.datを.exeファイルと同じディレクトリに置くことで、エネルギーのflux依存性を考慮したスキャン時間の見積もりが計算できるようになりました。flux.datが無い場合にはflux依存性はないものとして計算されます。
version 1.8.0をリリースしました。分解能計算を正しいものにしました。ini fileを新しくしました。
version 1.9.0をリリースしました。分解能行列をCSVファイルに出力できるようにしました。分光器の配置についてW配置もしくはanti-W配置を選択できるようにしました。guide管の発散角度について、中性子の全反射角度のエネルギー依存性を考慮するか、ユーザー指定の値にするか選択できるようにしました。ini fileを新しくしました。
version 1.10.0をリリースしました。 分解能行列をQベクトル基準の(Qpara,Qperp)座標から試料の逆格子ベクトル基準の(Qx,Qy)に変換したものを出力・保存するように変更しました。
version 1.11.0をリリースしました。小さなバグを解消しました。
version 1.12.0をリリースしました。analyzerとmonochromatorのd値をiniファイルからだけではなく、GUIからも編集できるようにしました。分解能関数の計算で結晶が直交系でない場合に間違った投影図を表示する問題を解消しました。
version 1.13.0をリリースしました。散乱面外方向の分解能も表示するように改良しました。これに伴ってaxis 3を入力する必要がありますが、分解能を表示する際に(r.l.u.)の計算をするために使用するので、もし必要ない場合は適当な値を入力するようにして下さい。また、分解能のグラフ表示について個別表示(slider)と全表示(overview)を選択できるようにしました。作成した結果、consntant Q scanに関してはoverviewの方が、constant E scanに関してはsliderの方が見やすいと思います。
version 1.14.0をリリースしました。分光器のconfigurationで"+-+"と"-+-"を切り替えられるようにしました。
今後
reslibのように畳み込み及びfittingが可能になるようにします。現在、HERで取得したデータと分解能が畳み込まれたシミュレーションを比較し、半定量的に一致することを確かめました。この畳み込み計算の機能についてはアップデートする予定ですが、どのようなUIやファイル形式がユーザーフレンドリーであるか検証中です。
下記はマニュアルです。
複数のピークをfittingするためのソフトウェアです。まだGaussianにしか対応していませんが、いずれ他のピーク関数(Lorentz, Voigt)にも対応する予定です。
version 1.4.0以降、3種類のピーク関数(Gaussian, Lorentz, 擬Voigt)に対応しました。
version 1.5.0以降、Voigt関数に対応しました。
ソースコードはこちら
Multi Gaussian Fittingについてのコメント
version 1.1.0をリリースしました。UIを縦型から横型に変更しました。グラフの表示領域を指定できるようになりました。また、グラフの拡大縮小のツールボックスを追加しました。
version 1.2.0をリリースしました。fitting結果を参照したX値のincrementが1/10になるように設定しました。これにより、拡大してもfitting結果が滑らかに表示されます。saveするときにも同様にfineなデータが出力されます。χ^2を表示、及び保存するようにしました。
version 1.3.0をリリースしました。ASYURAの出力ファイルと連携できるようになりました。
version 1.4.0をリリースしました。3種類のピーク関数(Gaussian, Lorentz, 擬Voigt)に対応しました。ただ、擬Voigtは収束が非常に悪いです。fittingには何かしらの拘束条件を加えた方が良いと思います(例えばGaussianのFWHMを固定する等)。
version 1.4.1をリリースしました。fitting範囲を指定できるようになりました。
version 1.4.2をリリースしました。load CSV (view data)が正常に機能しないバグを修正しました。UIを若干変更しました。fittingパラメータの範囲を指定しました。ratioは0~1、各FWHMの下限値を0としました。これによりfittingの失敗が減り収束するようになりました。Save CSVについて改良しました。出力されるファイルがよりわかりやすいようにしました。
version 1.4.3.をリリースしました。fitting結果の出力形式について、各peak+BGのy値もしくは各peakのy値をユーザーが選択できるようにしました。
version 1.5.0をリリースしました。voigt関数をサポートするようにしました。scipy.special.wofzってなんて素晴らしいパッケージ何でしょう!
下記はマニュアルです。
HER及びHODACA分光器での光軸調整用ソフトウェアです。本ソフトウェアではiniファイルを使用してデフォルト値を読み込む仕組みになっています。C11ではA1とA2の校正にAl2O3を用いています。アップロードしたものはC11用のデフォルト値となっていますが、校正物質の格子定数及びエネルギーともに変更可能です。
ソースコードはこちら
上がexeファイル、下がconfig.iniファイルです。
version 1.1.0をリリースしました。
(2025/06/21) version 1.2.0をリリースしました。C3 scanのファイルを読み込んで自動でfittingし、データファイルのディレクトリにC3_fit_results.txtを出力します。中身はdriveコマンドになっており、これをコピーし、Edit MacroにペーストしてExecuteすることでほぼ自動化できます。
次のソフトのリリースをお待ちください。