Change History 2026#
- Author:
Yasuhiro Inamura
- Last Update:
Jun 23, 2026
4.0.260619 or later#
- Jun 19 2026
[bugfix:uGao:master] Fix the problems that U2IFInDark::SaveAsText occurs error when data is not given on creating instance
DATA_RDCT-350 夕顔:M2PlotのDarkモードでの問題
下記のようにU2IFInDark::SaveAsTextでエラーが発生する場合がある問題に対処した。
インスタンス作成時にデータを与える場合では問題はないが
p = UIF.U2IFInDark(sliced_eca) p.SetKeys(xKey, yKey, "Intensity") p.SetData() p.SaveAsText(...)
インスタンス作成時時にデータを与えず、SetDataで与える場合では SaveAsTextでエラーとなる。
p = UIF.U2IFInDark() p.SetKeys(xKey, yKey, "Intensity") p.SetData(sliced_eca) p.SaveAsText(...)
- Jun 17 2026
[bugfix:uGao:master] Fix the problems that the function to change the color of the grid in U2IFInDark(Jupyter) does not work and add SetFont method to U2IFInDark(Jupyter).
DATA_RDCT-350 夕顔:M2PlotのDarkモードでの問題
Bugfix
U2IFInDark(Jupyter)::SetHGridおよびSetVGridで二つ目の引数(color)が効果がない問題に対処
Update
U2IFJupyter, U2IFInDarkにおいて、設定できる範囲でフォントのサイズと名前を変更するためのメソッドを追加
フォント変更の仕様
SetFont(key, fontSize, fontName) @param key(str) key @param fontSize(int) font size @param fontName(str) font name
key(文字列)
対象となるプロット上の文字
“title”
タイトル
“comment”
サブタイトル(コメント)
“x”
X軸ラベル
“y”
Y軸ラベル
“xticks”
X軸のTicks
“yticks”
Y軸Ticks
“cbticks”
カラーバー
fontName(文字列)
フォントタイプ
“Sans”
ブロック体
“Serif”
明朝体
Sampleコード
import uGao.U2IFInDark as mp p = mp.U2IFInDark(sizeX=10.0, sizeY=10.0) ... p.SetFont("title", 18) # タイトルのフォントサイズを18に(フォントはそのまま) p.SetFont("x", 14, "Sans") # Xラベルのフォントサイズを14に、フォントを"Sans"に指定 p.SetFont("yticks", 14) # Y軸のTicksのフォントサイズを14に
- Jun 15 2026
[update:Utsusemi-SAS:4.0] The problem that CMake build error occurs with boost 1.90 or later and cannot find nexus/napi.h (DATA_RDCT-289)
- Jun 12 2026
[bugfix:manyo:0.4RC] The problem that build error occurs on AlmaLinux8.x
- Jun 12 2026
[bugfix:manyo:0.4RC] The problem that CMake build error occurs with boost 1.90 or later
libboost_system.so(dylib)が1.90以降存在しなくなったため、CMakelists.txt内で”Boost::system”を要求するとビルド時にエラー。
要求するboostのバージョンを1.80にして、libboost_systemを使用しないように変更
Ubuntu 24.04 (boost 1.83), macOS (boost 1.90)で確認
- Jun 12 2026
[update:manyo:0.4RC] Improve the way to create the path to find nexus/napi.h in CMakelists.txt.
- Jun 12 2026
[bugfix:Utsusemi:4.0] The problem that CMake build error occurs with boost 1.90 or later and cannot find “nexus/napi.h”
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
boost 1.90以上でCMakeでエラー
libboost_system.so(dylib)が1.90以降存在しなくなったため、CMakelists.txt内で”Boost::system”を要求するとビルド時にエラー
ソースコードを確認すると、ヘッダファイルにもboost/systemなどは含まれていないので、libboost_systemは基本不要
要求するboostのバージョンを1.66 (AlmaLinux8)にして、libboost_systemを使用しないように変更
Ubuntu 24.04 (boost 1.83), macOS (boost 1.90)、AlmaLinux 8 (boost 1.68)で確認
NeXusのインストール先がデフォルトでないときに、
`#include <nexus/napi.h>`が見つからない問題に対処
- May 12 2026
[update:Utsusemi-SAS:4.0] Add new argument Options into Cmm::GetNeunetHistSAS
- May 12 2026
[update:Utsusemi-SAS:4.0] Update WiringInfo and environ_ana.xml
- May 7 2026
[bugfix:Utsusemi-DNA:4.0] The import error occurs on debian package installation
- Mar 22 2026
[bugfix:uGao:master] The problem that giving “nan” string as the mask value argument of U2IFJupyter::SaveAsText occurs the error.
DATA_RDCT-341 夕顔:M2Plot+のU2IFJupyer系列のSaveAsTextをGUI版と同じにしたい
U2IFJupyter::SaveAsTextで、mask valueとして”nan”を与えると以下のエラーとなる問題に対処した。
raceback (most recent call last): File "/home/sikuser/user/2025B0076_Miyazaki_Fe2VAl/test/./conv_powder.py", line 213, in <module> autosc_function(i, outPath) File "/home/sikuser/user/2025B0076_Miyazaki_Fe2VAl/test/./conv_powder.py", line 191, in autosc_function p.SaveAsText(savePathDir+"/"+"SIK{:0>6}_{}{}_SQE.txt".format(ScanNo, key, suffix), File "/opt/mlfsoft/python-utsusemi/uGao/U2IFJupyter.py", line 499, in SaveAsText saveTxt.Save(filename, dQ, isIgnoreMask, maskinfo) File "/opt/mlfsoft/python-utsusemi/uGao/U2IFJupyter.py", line 653, in Save fd.write("## %s=%g\n" % (self.MASKVALUE, maskinfo[1])) ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TypeError: must be real number, not str
float(“nan”)はエラーにならないので、それを利用した。
- Mar 17 2026
[bugfix:Utsusemi:4.0] The problem that Utsusemi functions build by cmake do not use the openMP API because of the lack of the option -DMULTH
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
最新のCMakelists.txtでビルドした空蝉でヒストグラム化すると、マルチスレッドが動作していないようでCPU使用率が100%より上がらず、D4Mat2ではデータ処理もおかしくなった。 CMakeのビルド時のログを確認するとSWIGを利用したビルド時のオプション -D MULTH=8 が使用されていなかった。 そのために、コード中の #ifdef MULTH が有効にならなかったようだ。
そこで、CMakelists.txt中のSWIGでのビルドで target_compile_definitions を追加した。
target_compile_definitions(Manyo${MODULENAME} PRIVATE MULTH=${MANYO_MULTH} UTSUSEMIMANYOREVNUMBER=${UTSUSEMI_REVISION} )- Mar 17 2026
[bugfix:manyo:0.4RC] The problem that some functions build by cmake do not use the openMP API because of the lack of the option -DMULTH
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
最新のCMakelists.txtでビルドした空蝉でヒストグラム化すると、マルチスレッドが動作していないようでCPU使用率が100%より上がらず、D4Mat2ではデータ処理もおかしくなった。 CMakeのビルド時のログを確認するとSWIGを利用したビルド時のオプション -D MULTH=8 が使用されていなかった。 そのために、コード中の #ifdef MULTH が有効にならなかったようだ。
そこで、CMakelists.txt中のSWIGでのビルドで target_compile_definitions を追加した。
target_compile_definitions(ManyoCore PRIVATE MULTH=${MANYO_MULTH})- Mar 17 2026
[bugfix:Utsusemi-DNA:4.0] The problem that Utsusemi functions build by cmake do not use the openMP API because of the lack of the option -DMULTH (DATA_RDCT-289)
- Mar 17 2026
[bugfix:Utsusemi-ENG:4.0] The problem that Utsusemi functions build by cmake do not use the openMP API because of the lack of the option -DMULTH (DATA_RDCT-289)
- Mar 17 2026
[bugfix:Utsusemi-SAS:4.0] The problem that Utsusemi functions build by cmake do not use the openMP API because of the lack of the option -DMULTH (DATA_RDCT-289)
- Mar 17 2026
[bugfix:Utsusemi-TKtools:4.0] The problem that Utsusemi functions build by cmake do not use the openMP API because of the lack of the option -DMULTH (DATA_RDCT-289)
- Mar 8 2026
[update:manyo:0.4RC] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
CMakelists.txtを以下の点で書き換えを行なった。
LinuxとmacOSでの統合
target_compile_optionsの内容を精査し、LinuxとmacOSで同じoption(flag)を使用
これにより内部でのOSによる分岐を廃止(内部変数MACの廃止)
複数のアイテムを含むコマンドでは行を分けてインデントで表示
インデントを4-spacesで統一
設定項目とその順序に一定のルール
Arguments
引数、内部でのグローバル変数定義
Dependencies
find_package関連
SWIG
find_package(SWIG)関連
Subdirectories
add_subdirectory
Library
add_library関連
Compile Settings
target_compile_features, target_compile_options
Compile Definitions
target_compile_definitions
Include Paths
target_include_directories
Linking
target_link_libraries, target_link_directories
SWIG module
swig_add_library
Install
不要なコメント分削除
- Mar 8 2026
[update:Utsusemi:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
- Mar 8 2026
[update:Utsusemi-DNA:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
CMakelists.txtを以下の点で書き換えを行なった。
LinuxとmacOSでの統合
複数のアイテムを含むコマンドでは行を分けてインデントで表示
設定項目とその順序に一定のルール
不要なコメント分削除
- Mar 8 2026
[update:Utsusemi-ENG:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
- Mar 8 2026
[update:Utsusemi-NVA:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
- Mar 8 2026
[update:Utsusemi-SAS:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
- Mar 8 2026
[update:Utsusemi-TKtools:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS (2)
- Mar 6 2026
[update:manyo:0.4RC] Improve CMakelists.txt on Ubuntu Linux and macOS
DATA_RDCT-289 万葉ライブラリ:cmakeで書き換える
以下の情報から、CMakelists.txtのスリム化を行なった。
find_packageしたパッケージをtarget_link_librariesに加えるだけで、フラグの指定やtarget_include_directoriesへの付与は不要であると学んだ
OpenMP::OpenMP_CXXを加えることで、macOSのコンパイラフラグ(-fopenmp)は不要
これによりmacOS/Linux/OpenMPの分岐(if)が不要
target_compile_features(${MODULENAME} PRIVATE cxx_std_11)はWindowsも含めたコンパイラの自動設定を行なってくれるので必須
target全てを PRIVATE に設定
この結果 swig_add_library の方でも target_link_libraries にて個別に設定する必要が出た
コンパイラフラグの整理
${CMAKE_CXX_FLAGS} が target_compile_options に設定されていたが、不要
コンパイラフラグは target_compile_options で設定するが、 target_link_options など仕様的に誤った場所にて設定されていたのを修正
結果 target_link_options は不要に
MANYO_CXX_FLAGS も不要にし、MACOSとそれ以外で、直接 target_compile_options を設定する形に
-Xclang も不要
projectにVERSIONS, LANGUAGESなどをつけた
find_package(SWIG REQUIRED) + include(UseSWIG) の組み合わせがベスト(らしい)
コンポーネントなどを羅列するタイプのコマンドで、一部に改行とインデントで見やすくした find_package(Boost) など
SerialPySrvでpthreadを使用していないので、不要なfind_packageなどを削除
SerialPySrv を ${MODULENAME} で置き換え
add_library(Target SHARED) の場合、 target_compile_option に -fPIC は不要なので削除
macOSではいくつかのライブラリのincludeに失敗( #include <omp.h> など)するので、Linuxでは不要だったitemを付与した( OpenMP::OpenMP_CXX など)
- Mar 6 2026
[update:Utsusemi:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 6 2026
[update:Utsusemi-DNA:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 6 2026
[update:Utsusemi-ENG:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 6 2026
[update:Utsusemi-NVA:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 6 2026
[update:Utsusemi-SAS:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 6 2026
[update:Utsusemi-TKtools:4.0] Improve CMakelists.txt on Ubuntu Linux and macOS
- Mar 4 2026
[bugfix:Utsusemi:4.0] The problems that the ElementContainerMatrix from LoadDataFromNxspe (NxspeFileIO) has not suitable Header for VisualContM, and D4Matrix2::SetD4MatDataReductionStepByStepGonioAtZero() with 0 value as an argument does not work correctly.
DATA_RDCT-345 空蝉4:D4Mat2スクリプトとNxspeで問題
SequenceEditorのVisualize→VisContMで、LoadDataFromNxspeで読み込んだElementConatinerMatrix(以後ECMnx)が選択できない
ECMnxのヘッダに”SampleType” (UTSUSEMI_KEY_HEAD_SAMPLETYPE) がなかったため、NxspeFileIO側で追加した
SequenceEditor側でも、仮に”SampleType”がなくても弾かないようにした
ECMnxでDoPowderを実行すると大量の “MASKED” has been registered for Int4 in this HeaderBase, メッセージが出る - ECMnxのヘッダに余計な”MASKED”がついていたのでつかないようにしたら消えた
D4Matrix::SetD4MatDataReductionStepByStepGonioAtZero(0)のときRunListが一つになる
この関数の中では、RunListという辞書に与えられたRunLists.txtのgonioの値をキーにしてRun情報、つまりgonioの値, RunNoの羅列, angle(解析)の値, プロトン数などのテキストを値として収めている
引数が0のとき、全てのRunNoでgonioの値が0のまま(全てのキーが”0000.000”)となる、というバグがあったため修正した(これが、RunListに1つしかない理由)
- Feb 27 2026
[update:Utsusemi-DNA:4.0] Improved LevmarTools.i
- Feb 26 2026
[bugfix:Utsusemi:4.0] The problem that FlexCalc returns data using the previous calculation fomula insteed of new one when FlexCalc is executed repeatedly in less than 1 second
FlexCalc使用時に1秒以下の短い周期で実行を繰り返すと、新しい計算式を与えても、以前の計算式で処理してしまうことがあるのを修正した。
与えられた計算式は一時ファイルに書き出され、それをimportすることで実行される。その一時ファイルの名前(これがモジュール名となる)をユニークにするためにint(time.time())を用いていたが、これは単位は1秒なので、1秒以内に次のFlexCalcを実行すると同じ名前のファイルをimportすることになる。Pythonは同じ名前のファイルのimportの場合、メモリ上に存在すれば再利用してしまう。
TF = __import__(<module name>)
このコマンドでは、<module name> が同じ名前だとキャッシュが働く。 モジュール名に含まれる time.time() を time.time() * 100.0 とかにしても、結局処理時間が短くなれば発生するのでバグと考えて良い。 また繰り返し実行することで、少しずつ異なる名前のモジュールがキャッシュされ続けることになる。
よって、importlib モジュールを利用して
同じモジュール名を利用
importlib.reload で再読み込み
と処理を変更した。
これにより、短時間で繰り返しても毎回モジュールをreloadするので、その間にファイル(モジュール)の書き換えが行われても問題ない。
- Feb 26 2026
[update:Utsusemi-TKtools:4.0] Remove useless space-charactors from some python codes.
DATA_RDCT-344 空蟬4:TKtoolsの復活
- Feb 26 2026
[update:Utsusemi-TKtools:4.0] Add the descriptions about the method to build with cmake into README.md
DATA_RDCT-344 空蟬4:TKtoolsの復活
- Feb 26 2026
[bugfix:Utsusemi-TKtools:4.0] The problem that the SyntaxWarning is appeared when import TkCommands
DATA_RDCT-344 空蟬4:TKtoolsの復活
下記のようなWarningが出るので修正した。
/opt/mlfsoft_cmake/python-utsusemi/utsusemi/TKtools/ana/Reduction/TkCommands.py:1736: SyntaxWarning: invalid escape sequence '\s' cont_list = re.split('[\s,]+', conts) /opt/mlfsoft_cmake/python-utsusemi/utsusemi/TKtools/ana/Reduction/TkCommands.py:1761: SyntaxWarning: invalid escape sequence '\s' cont_list = re.split('[\s,]+', conts) /opt/mlfsoft_cmake/python-utsusemi/utsusemi/TKtools/ana/Reduction/TkCommands.py:867: SyntaxWarning: "is" with 'str' literal. Did you mean "=="? elif ll[0][0] is "#" : /opt/mlfsoft_cmake/python-utsusemi/utsusemi/TKtools/ana/Reduction/TkCommands.py:870: SyntaxWarning: "is" with 'str' literal. Did you mean "=="? if ll[0] is "Q" :
4.0.260221 or later#
- Feb 21 2026
[update:manyo:0.4RC] fixed README.md
- Feb 21 2026
[update:Utsusemi-NVA:4.0] Add CMakelists.txt to enable to build with cmake and improve some codes.
CMakelists.txtとmanyo/CMakelists.txtを追加し、cmakeによるビルド可能とした
NVA.iにstd系を追記した
MergNova.ccでのビルド時のWarningに対処した(sprintf -> snprintf)
- Feb 21 2026
[update:Utsusemi-TKtools:4.0] Add CMakelists.txt
CMakelists.txtとmanyo/CMakelists.txtを追加し、cmakeによるビルド可能とした
- Feb 20 2026
[bugfix:Utsusemi:4.0] The problem that SequenceEditor cannot load user’s facade placed in UTSUSEMI_USR_DIR/facade on Utsusemi installed by debian packages.
DATA_RDCT-343 空蝉4:Debianパッケージ版で、私家版ファサードがimportされない
Debianパッケージ(Ubuntu アプリケーション)版空蝉において、自分で作成したファサードを利用する場合の UTSUSEMI_USR_DIR/facade に置かれたファサードが読み込まれない問題に対処した。
- Feb 20 2026
[bugfix:uGao:master] The problem that scipy.signal occurs the error on the old version of scipy.
- Feb 20 2026
[update:uGao:master] Rewrite SaveAsText in U2IFInDark (U2IFJupyter) to put the text data with the same format produced by M2Plot+ and add SetUnits method
DATA_RDCT-341 夕顔:M2Plot+のU2IFJupyer系列のSaveAsTextをGUI版と同じにしたい
GUIを表示せずにM2Plotの画像を保存したり、テキストに出力したりするU2IFInDarkであるが、SaveAsTextの出力フォーマットが、M2Plot+(GUI)やM2PlotPlusCuiから出力されるものと大きく異なっている。 それらが同じフォーマットになるように変更した。
U2IFInDark::SaveAsText はM2PlotPlusC::SaveAsTextと全く同じ引数と処理とした
以前のSaveAsTextはメソッド名を変更→ SaveAsTextFromPlot
各軸の単位(Unit)を変更するU2IFInDark::SetUnitsメソッドも追加
- Feb 17 2026
[bugfix:Utsusemi:4.0] Fixed small bugs
- Feb 17 2026
[update:Utsusemi-DNA:4.0] Improve CMakelists.txt to apply to latest Manyo library
CMakeでビルド・インストールする際の
-DCMAKE_INSTALL_PREFIXので与えるパスを、万葉ライブラリ(C++)およびPythonコードのインストール先の両方を含んだトップディレクトリとする。 (詳細は万葉ライブラリの更新を参照)- Feb 17 2026
[update:Utsusemi-SAS:4.0] Improve CMakelists.txt to apply to latest Manyo library
CMakeでビルド・インストールする際の
-DCMAKE_INSTALL_PREFIXので与えるパスを、万葉ライブラリ(C++)およびPythonコードのインストール先の両方を含んだトップディレクトリとする。 (詳細は万葉ライブラリの更新を参照)- Feb 17 2026
[update:Utsusemi-TKtools:4.0] Update do_make_Utsusemi.py
do_make_Utsusemi.pyを最新のものに変更
numpyのinclude先を自動的にC_INCLUDE_PATHに含めるようにした
- Feb 17 2026
[update:Utsusemi-TKtools:4.0] Update codes to apply to latest Manyo-lib
DATA_RDCT-300 万葉lib:C++コードの名前空間の整理(極力クリーンに)
最新のManyoライブラリの変更に対応するようにいくつか修正を行った。
vector, cout, endl, stringなどにstd名前空間を付与
他に
PyObjectの使い方でNumpyのアップデートに伴い、引数の型チェックが厳しくなったために発生した問題に対処したM2Slicer
- Feb 16 2026
[bugfix:Utsusemi:4.0] The problem that X position and Y position are swapped on the histogram creation for the WLSF
WLSFのヒストグラム化において、DetectMapデータとしてみた時にX軸とY軸が逆転していた問題に対処した。
- Feb 13 2026
[update:Utsusemi:4.0] Update some visualization codes to avoid the DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead th.setDaemon(True)
- Feb 13 2026
[bugfix:Utsusemi:4.0] The problem that ReadTrigEvent causes errors when TrigNET event file size is smaller than information in T0B file.
DATA_RDCT-342 空蝉4:D4Mat2Slicer連続回転測定時TrigNETの読み込みがエラーのときの対応
測定中のデータを読み込む時に、TrigNETイベントファイルの大きさが、T0Bに書かれている情報よりも小さい場合にエラーとなる。
ERROR : UtsusemiFilterTrignet::ReadTrigEvent : Cannot read enough event data from file (ReadingNumOfEvents,ii)4481,4500)
この結果、UtsusemiFilgerTrignet::MakeCaseTable が実行されず、正しくCaseTableが作成ないため、データはおかしくなる。 この問題に対処した。
読み込めないのは最後の一部のみなので、少しでも読めていればそれを利用してMakeCaseTableを実行するようにした
この場合はERRORではないと考えてWarning扱いとする
ii変数がループ内で初期化されていないので上記のメッセージに示された数値もおかしい(ReadingNumOfEvents < ii)ので修正した
表示するメッセージをWarningの内容に合わせてわかりやすくした
- Feb 10 2026
[bugfix:Utsusemi:4.0] The problem that TimeIndependent background correction does not work on D4Mat2Slicer GUI with the continuous rotation measurement.
DATA_RDCT-339 空蝉4:D4Mat2Slicerの連続回転測定時にTimeIndependentなバックグランド処理が行われていない疑惑
調査したところ、 TOF:xxxx-yyyy と指定した場合に、StepByStepでの内部処理GetDataOfMonochroEi3ではうまく処理していたが、D4Mat2Slicerの連続回転測定データ処理時には処理されていなかった。 その問題に対処した。
D4Mat2Utils::MakeTempInfoFilesにてWiringInfoを作成する際にUtsusemiGetNeunetHistogram::SetTimeDependBackGroundInfoを使用するが、最終的に TIMDEP というキーコードに変換しなくてはならなかったのに行っていなかった。
- Feb 10 2026
[update:Utsusemi:4.0] Change the default font size to 10 from 14 on some GUI codes
- Feb 10 2026
[update:uGao:master] Change the default font size to 10 from 14
- Feb 8 2026
[bugfix:Utsusemi:4.0] The problem that error messages “QFont::setPointSize: Point size <= 0 (-1), must be greater than 0” appear at PySide6 (6.10.1) on Windows.
PySide6 (6.10.1) on Windowsで、Qtアプリを起動すると下記のメッセージが死ぬほど現れる問題に対処。
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
これは、Qtアプリのなかでのフォントサイズの指定方法が古すぎたせいのようだ。
app = QtWidgets.QApplication(sys.argv) deffont = app.font() deffont.setPixelSize(12) app.setFont(deffont)
これを以下のように書き換えるべし。
app = QtWidgets.QApplication(sys.argv) deffont = app.font() deffont.setPointSize(12) app.setFont(deffont)
- Feb 8 2026
[bugfix:manyo:0.4RC] The problem that the build error occurs on Windows
- Feb 7 2026
[bugfix:uGao:master] The problem that error messages “QFont::setPointSize: Point size <= 0 (-1), must be greater than 0” appear at PySide6 (6.10.1) on Windows.
PySide6 (6.10.1) on Windowsで、Qtアプリを起動すると下記のメッセージが死ぬほど現れる問題に対処。
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
これは、Qtアプリのなかでのフォントサイズの指定方法が古すぎたせいのようだ。
app = QtWidgets.QApplication(sys.argv) deffont = app.font() deffont.setPixelSize(12) app.setFont(deffont)
これを以下のように書き換えるべし。
app = QtWidgets.QApplication(sys.argv) deffont = app.font() deffont.setPointSize(12) app.setFont(deffont)
- Feb 6 2026
[update:uGao:master] Improve arguments in U2IFJupyter::SetXScale, SetYScale, SetRange to set None value for using the auto scale value.
DATA_RDCT-331 夕顔:M2Plot+の軸範囲指定時の要望
U2IFJupyter (U2IFInDark) の、SetXScale, SetYScale, SetRange に関して、範囲指定の値に None を入れるとAuto Scale時の値が使用されるようにした。
u2dplotBase.py
D2Chart::PlotD2Chart内で、それぞれの軸で与えられたrange値がNoneならデータの最大範囲の値を使用するようにした
U2IFJupyter.py
U2IFJupyter::SetXScale, SetYScale, SetRange で 値がNoneの場合の処理(Noneを設定する)を行うようにした
SetRangeをラッパーするSetIntRangeを用意した
- Feb 6 2026
[bugfix:Utsusemi-SAS:4.0] The problem that VisualModule::AddToMPlot can not import data container list as argument
- Feb 5 2026
[update:manyo:0.4RC] fix the folder name
- Feb 5 2026
[bugfix:uGao:master] Fixed a bug and add docstrings of some methods in U2IFJupyter
- Feb 5 2026
[bugfix:uGao:master] The problems tha the argument interval does not work in U2IFJupyter::SetHGred and SetVGrid
- Feb 2 2026
[update:Utsusemi-DNA:4.0] Update BaseCommandsDNA::OutputECADAVEText and EfficiencyCorrection::ExecEfficiencyCorrection
- Feb 2 2026
[update:Utsusemi-DNA:4.0] Add WiringInfo
- Feb 2 2026
[update:Utsusemi-DNA:4.0] Update SQWqt.py by Dr. Yamada@CROSS
- Jan 26 2026
[bugfix:manyo:0.4RC] The problem that the warning occurs on compiling codes including ElementContainerArray.Add(ElementContainer) method.
ElementContainerArray.Add(ElementContainer)が含まれているコードをコンパイルしたときに、下記のようなWarningが出現した。
warning: catching polymorphic type ‘class std::bad_alloc’ by value [-Wcatch-value=] 148 | catch( std::bad_alloc error ){ | ^~~~~以下のように修正。
catch( const std::bad_alloc& error )
- Jan 26 2026
[update:Utsusemi-DNA:4.0] Rewrite codes in manyo-LevmarTools to reduce the warning messages on building in Linux.
manyo-LevmarToolsのコンパイル中にWarningが多数出現する。それらを精査し必要な修正を加えた。
ロジックのエラー
AdvModelSmallAngle.cc 条件分岐が逆であったのを修正
/usr/include/stdlib.h:483:23: warning: argument 1 null where non-null expected [-Wnonnull] 483 | return (int) strtol (__nptr, (char **) NULL, 10); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/features.h:502, from /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h:679, from /usr/include/c++/13/cstdlib:41: /usr/include/stdlib.h: In member function ‘void AdvModelSmallAngle::SetFuncParam(const char*)’: /usr/include/stdlib.h:215:17: note: in a call to function ‘long int strtol(const char*, char**, int)’ declared ‘nonnull’ 215 | extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, AdvInsMEM.cc
変数(nmin/nmax)を定義する場所がおかしいので修正
intとsize_typeの変換
warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 71 | for (int i=0;i<ResX.size()-1;i++) | ~^~~~~~~~~~~~~~こちらについては、intではなく、long unsigned int つまりUInt4を使用するようにした
- Jan 25 2026
[bugfix:Utsusemi-DNA:4.0] The problems that some codes in manyo-LevmarTools show the warning on compiling.
manyo-LevmarToolsのコンパイル中にWarningが多数出現する。それらを精査し必要な修正を加えた。
バグであるので、修正したWarning
warning: variable length arrays in C++ are a Clang extension
char buffer[length_buffer]; -> char* buffer = new char[length_buffer] ... delete [] buffer;
warning: ‘snprintf’ will always be truncated; specified size is 8, but format string expands to at least 9
sizeof(buffer)` を length_buffer に置き換え
if( !(std::strlen(buffer)) || !(std::snprintf(buffer, sizeof(buffer), "%f", omega)) ) -> if( !(std::strlen(buffer)) || !(std::snprintf(buffer, length_buffer, "%f", omega)) )
warning: ‘sizeof (dest)’ will return the size of the pointer, not the array itself
sizeof (*dest) に置き換え
できるところは修正したWarning(できないところもある)
warning: variable ‘hoge’ set but not used : 不要な部分はコメントアウト
warning: unused variable ‘hoge’ : 不要な部分はコメントアウト
warning: variable ‘hoge’ is uninitialized when used here : 初期化する
- Jan 23 2026
[update:uGao:master] Add new “SetSmoothing” method in U2IFJupyter(U2IFInDark) as same as M2PlotPlusCui
U2IFJupyter (U2IFInDark) を少しだけ使いやすくした。
SetSmoothという使いにくいメソッドがあったが、それに加えてM2PlotPlusCuiと同じメソッドが使えるようにした
SetColorMapに設定する文字列がわかりにくいので、間違っていたら有効な(使える)文字列を表示するようにした
- Jan 20 2026
[update:Utsusemi:4.0] Remove the dependency of python3 packages from the utsusemi-with-ugao debian packages.
Ubuntu 24以降ではaptでインストールされるpython3-matplotlibなど必要なパッケージのバージョンが微妙に古いため、venv + pipを利用する方法に切り替えることにしている。 しかし空蝉インストールDebianパッケージは、その依存パッケージとしてpython3関連のライブラリを指定している。 そのため空蝉インストール時に自動的にパッケージがインストールされてしまう。 これはvenv + pipを利用するには不適切(無駄)なので、その依存パッケージの指定を外す設定を行った。
4.0.260116 or later#
- Jan 19 2026
[bugfix:Utsusemi:4.0] The problem that DetectMap app cannot be launched on old matplotlib version.
DATA_RDCT-301 空蝉夕顔:2D系プロッタのToolbarのPanおよびZoom機能が動作しない(matplotlib 3.9.0)
新しいmatplotlibでPanやZoom機能が動作しない問題に対処した際に、逆に古いmatplotlibで動作しなくなった(BL02)ため、matplotlibのバージョンが3.3以上で新しい方法を用いるようにし、3.3未満では以前の方法を利用するようにした。
- Jan 16 2026
[update:Utsusemi:4.0] Improve D4Mat2 methods for CUI control with loaded binary data.
DATA_RDCT-336 空蝉4:D4Mat2SlicerのCUIで.d4mzファイルを読み込んでスライスしたらCoreDump
問題点:
d4mzファイルを読み込んでProjection処理を行う際に、これまで下記のようにSample Info関連のパラメータを入力する必要があった。
D4M = mu.UtsusemiD4Matrix2() D4M.ClearAll() D4M.LoadData(inputFile) ## set Sample Info D4M.SetD4MatSampleInfo(LatticeConst, Uvector, Vvector, RotateSteps) ## Projection D4M.Projection(ProjAxes)
本来、Sample Infoはd4mzファイルに(XtalParamの形で)含まれていて読み込まれているのに、再度指定するのは美しくない。よって、LoadDataしたときに内部でSample Infoをきちんと取り込むようにした。
LoadData時にSetCrystalParametersToHeader、SetD4MatProjectionAxesInfoを実行しProjectionに必要な情報を設定
Projection():引数なしを定義し、内部のviewAxis情報を利用するようにした
確認のため、DumpInnerHeader()を追加した
結果として、CUIでのスクリプトがシンプルになった。
D4M = mu.UtsusemiD4Matrix2() D4M.ClearAll() D4M.LoadData(inputFile) D4M.Projection(ProjAxes)
- Jan 15 2026
[bugfix:Utsusemi:4.0] The problem that CUI of D4Mat2Slicer occurs core dump on executing Slice2d.
DATA_RDCT-336 空蝉4:D4Mat2SlicerのCUIで.d4mzファイルを読み込んでスライスしたらCoreDump
D4M.Slice2d(sliced_eca, ax1, ax2, ax3, ax4, ax_dFold, ax_units)
を実行すると [2026/01/15 14:19:00] ERROR : UtsusemiSqeCalc2:: _MakeProjectionMatrix >>> viewAxes size is invalid. というエラーが出て結果的にCore Dumpする。
理由:
Projection(PyObj*) を実行した際にメモリセーブモードだった場合に、 引数で与えた viewAxis の値がメンバー変数に引き継がれなかったからである。そのためメンバー関数を利用してProjection Matrixを作成しようとして、EmptyのviewAxisを利用した結果、EmptyのProjection Matrixが作成された。 データの座標変換のために本来サイズ16の Projection Matrixが必要であるが、サイズが0であったためにメモリに不正にアクセスし、Core Dumpを引き起こした。
メモリセーブモードでなければエラーが出なかったので、このバグには気づかなかったかも。
対策:
与えられた`viewAxis` のサイズが16でなければFalseを返すようにした
メモリセーブモードでも引数として与えられた viewAxis をメンバー変数 _viewAxis にコピーするようにした
空の _viewAxis を使用して正常でないProjection Matrix(サイズが16でない)が返ってきた場合に、座標変換処理をしないようにした
- Jan 15 2026
[bugfix:uGao:master] The problem that the maximum value becomes MASKVALUE when data includes MASKVALUE on M2Plot+
DATA_RDCT-331 夕顔:M2Plot+の軸範囲指定時の要望
Auto Scaleを押した時に最大値を計算するが、単純に max() 関数を利用するとMASKVALUE=1e100に指定しているので、その値が反映される問題に対応。
最大値を取り出す時に内部でMASKVALUEの値は無視して取り出すように変更した。
params.range = (self.u2.plot.data[0].min(), self.u2.plot.data[0].max())
↓
tmp_array = np.array(self.u2.plot.data[0]) masked_arr = np.ma.masked_where(tmp_array >= MASKVALUE, tmp_array) params.range = (self.u2.plot.data[0].min(), float(masked_arr.max()))
- Jan 9 2026
[update:uGao:master] Improve the M2Plot+ behaviors when turning checkboxes for auto scale and add so on
DATA_RDCT-331 夕顔:M2Plot+の軸範囲指定時の要望
M2Plot+のパネルで、Auto Scale チェックボックスのチェックを入れた時に、Rangeの値がAuto Scale時の値に戻らない仕様だったが、戻るように変更
M2Plot+のCUIで強度や軸のスケールを変更する際に、範囲のどちらかをAutoにする方法がなかったので、その機能を追加
M2Plot+のCUIで強度や軸のAutoScaleを設定する関数を追加した
M2Plot+の内部で使用されるSetAutoScaleイベントの呼び出しの引数が発出側と受け手側で仕様が異なっていたため修正
- 2の機能詳細
引数として範囲を与える際にAutoにしたい値を数値ではなく
Noneにすることにした。なお引数なしの場合(もしくは両方None)はAutoScaleのモードを切り替えとなる。これらの使用は、強度、X軸、Y軸の全てで同等である。- 3の機能詳細
SetIntScaleAuto(),SetXScaleAuto(),SetYScaleAuto()はそれぞれ強度、X軸、Y軸のAutoScaleをOnにする
import uGao.M2PlotPlusCui as MP p = MP.M2PlotPlusCui(DAT) p.ShowData() # 強度の最低値をだけを指定したい場合 p.SetIntScale(5, None) # X軸の最大値だけを3.5に指定したい場合 p.SetXScale(None, 3.5) # X軸をAutoにしたい場合 p.SetXScaleAuto()
- Jan 8 2026
[bugfix:Utsusemi:4.0] The problem that swig/python detectes a memory leak after executing UtsusemiEventDataConverterNeunetWithPH::PutPulseHeightAll / PutPulseHeightOfDet.
UtsusemiEventDataConverterNeunetWithPH::PutPulseHeightAllなど、メモリリークを起こしそうな関数(ElementContainerを直接戻り値とする関数)を、結果を戻り値ではなく引数のポインタで渡すように変更した
BaseCommands:GetPH内で使用している
PutPulseHeightAllの使用方法をメモリリークのない方法へ変更した
- Jan 7 2026
[bugfix:Utsusemi:4.0] Fixed import error : from scipy import array exp
- Jan 7 2026
[bugfix:Utsusemi:4.0] The problem that swig/python detectes a memory leak after executing AverageElementContainerMatrix::GetAverage and GetSum methods
MLF/AverageElementContainerMatrix::GetAverageおよびGetSumの戻り値(ElementContainer)がメモリリークを起こしているらしく、下記のようなメッセージが出る。
swig/python detected a memory leak of type 'ElementContainer *', no destructor found.
そこでこれらの関数の実行結果を戻り値ではなく、引数で与えたElementContainerで戻す関数(以下)で置き直した。 これらの関数は万葉ライブラリ0.4RC_260107以降で有効となっているので注意。
bool GetAverage(ElementContainer* ec)
bool GetSum(ElementContainer* ec)
こちらの関数を使うことで、下記の関数でこれまで生じていた上記のメモリリーク表示がなくなった。
python-utsusemi/ana/Reduction/BaseCommands.py
AverageAll
IntegPixels
python-utsusemi/ana/Reduction/BaseCommandsInEla.py
GetEiFromEvent
RadialCollimatorCorrectSIK
- Jan 7 2026
[update:manyo:0.4RC] Add new methods GetAverage(ElementContainer*) and GetSum(ElementContainer*) of AverageElementContainerMatrix class
MLF/AverageElementContainerMatrix::GetAverageおよびGetSumの実行結果を引数で渡したElementContainerで戻すようにした。
bool GetAverage(ElementContainer* ec)
bool GetSum(ElementContainer* ec)
こちらの関数を使うことで、これまでの戻り値がElementContainerだった旧関数を使用した際に発生する下記のエラーがなくなった。
swig/python detected a memory leak of type 'ElementContainer *', no destructor found.
あと、いくつかのコメントを修正した。