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+の軸範囲指定時の要望

  1. M2Plot+のパネルで、Auto Scale チェックボックスのチェックを入れた時に、Rangeの値がAuto Scale時の値に戻らない仕様だったが、戻るように変更

  2. M2Plot+のCUIで強度や軸のスケールを変更する際に、範囲のどちらかをAutoにする方法がなかったので、その機能を追加

  3. M2Plot+のCUIで強度や軸のAutoScaleを設定する関数を追加した

  4. 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.

あと、いくつかのコメントを修正した。