============================ Utsusemi Change History ============================ :Author: Yasuhiro Inamura :Last Update: May. 29, 2020 .. contents:: contents :depth: 3 0.3.7 ======= ----------------------- 0.3.7.200529 or later ----------------------- May 29 2020 [update:Utsusemi-SAS:0.3.7] The memory leak in SectorAverageByAngle::_MakeQHistogram May 29 2020 [update:Utsusemi-SAS:0.3.7] Update SAS/ana/xml/*.xml by BL's PC May 21 2020 [update:0.3.7] Add a function to get the summation of raw neutron counts at the end of data reduction steps in D4Matrix data treatment 非弾性単結晶回転測定(step by step)により作成されたD4Matrixデータを4次元でテキストに吐き出す際に、通常行う強度の各種補正とノーマライズをせずに、生のカウント数として取り出したいという要望に対応した。 通常、非弾性単結晶回転測定(step by step)において4次元のテキストデータを得たい場合 1. イベントデータ非弾性ヒストグラム化 2. 各種補正、規格化 3. 測定および試料情報による座標変換とD4Mat用データへの出力(UtsusemiSqeCalc) 4. 全データの統合処理およびテキスト吐き出し(UtsusemiD4Matrix) の各過程において様々な規格化を行っているが、それを行わずにヒストグラム化直後のカウント数を維持したまま座標変換だけを行って、4次元空間におけるカウント数を得たい、という要望である。 2. 3. 4.の処理において、以下の対応をとった - 2. は処理そのものを行わないことで対処 - 3. はD4Mat用データへの出力部分で規格化(同じbinに入った個数で割る)を行わないフラグがあるのでそれを利用 - 4. はテキスト吐き出しにおいて規格化(同じbinに入った個数で割る)を行わないフラグを作成 結果として - UtsusemiSqeCalc::ConvertToD4Mat に bool isAverageMode の引数を追加し利用 - UtsusemiD4Matrix::DumpD4MatToFile に bool isAve の引数を追加し利用 という変更を行った。 May 15 2020 [bugfix:0.3.7] the issue that D2Vis.py causes the error on reading text file in a kind format. Apr 20 2020 [bugfix:0.3.7] The issue that SaveDataToDAVEgrp returns wrong values when the intensity value is too small and described with e ( scientific notation ) SaveDataToDAVEgrpの中で、str(val)を実行した時に指数部分が負になった(十分に小さな値の時のみ)場合にエラーが発生するのを修正した。 Apr 15 2020 [bugfix:0.3.7] The issue that Manyo module can not be loaded correctly in ana.Reduction.BaseCommands series Apr 14 2020 [update:0.3.7] Add new argument DetEffi to BaseCommandsInEla::GetDataOfMonochroEi2 and Ei3 to do the detector efficiency correction. (for SIK) 検出器効率補正をデフォルトで使用するように、BaseCommandsInEla::GetDataOfMonochroEi2 と Ei3 にDetEffiパラメータを追加した +--------------+----------------------------------------------+ |DetEffi |動作 | +==============+==============================================+ |"None" |何もしない | +--------------+----------------------------------------------+ ||を検出器補正データとして補正する| +--------------+----------------------------------------------+ なおSIKの環境では、 **python-utsusemi-SIK/ana/xml/SIK-SUS304-3He-PSD.dat** を追加し、 **python-utsusemi-SIK/facade/DR.py** にもDetEffiパラメータを追加したので、SIKではすぐにも利用できる。 Apr 2 2020 [bugfix:0.3.7] The issue that TOF mask ( to remove T0 burst ) does not work. T0のバーストを省くためのTOF maskの機能が動作しない問題を修正した。 *経緯* WiringInfoEditor系の統合を行った際に、TofMask関連の機能の移植を中途半端に終わらせていたことがわかったので修正した。 *対応* WiringInfoのTOF maskの情報は、WiringInfoEditorBase::TofMaskPtnInfoに読み込まれる。 1. TOF maskの範囲が正しく読み取れていなかった パラメータの分離に内部でDivMultiContDoubleを用いているが、その区切りは":"でなければ正しく分けられないが"-"が使われていたので、修正した 2. TOF maskの情報が正しくSetMaskOnErrorに伝わっていなかった TOF maskの処理が行われる以下の関数 - UtsusemiNeunetEventDecoderBase::SetMaskOnError - UtsusemiReadoutEventDecoderTemplate::SetMaskOnError の中で、TOF maskの情報はWiringInfoEditorBase::TofMaskPtnVecに納められている前提であった。しかしWiringInfoEditoBase内では、TofMaskPtnInfoからTofMaskPtnVecへの情報の受け渡しがされていなかった。 そこで、 - TofMaskPtnVecの廃止 - SetMaskOnErrorでのTofMaskPtnInfoの使用 で対処した。 Apr 2 2020 [bugfix:0.3.7] The issue that SectorAverageByAngle cannot read correctly "Qrange" text file in which empty row is included. SectorAverageByAnglesの引数Qrangeで指定されるテキストファイルに空行があった場合に正しく動作しない問題に対処 Apr 2 2020 [update:Utsusemi-SAS:0.3.7] Add Trans.GetTransNormByMon and Trans.GetTransNormByMon 上流と下流のモニターを利用して透過率を計算する関数"Trans.GetTransNormByMonCounts", "Trans.GetTransNormByMonCountsTS"の引数の改善や機能を追加した Trans.GetTransNormByMon Trans.GetTransNormByMonTS を追加した。 **改良点** 1. AxType, XRange -> Xrangeに統一 2. 上流のモニターをMON1かMON3かを選べるようにした Apr 2 2020 [bugfix:Utsusemi-SAS:0.3.7] The issue that TOF mask ( to remove T0 burst ) does not work T0のバーストを省くためのTOF maskの機能が動作しない問題を修正した。 Apr 1 2020 [update:0.3.7] Add new commands to control UtsusemiLogger これまでUtsusemiLogger関連コマンド(UtsusemiMessage, UtsusemiWarning, UtsusemiError)のログは永遠に蓄えられる状況(同一プロセス内)であった。 これを改善し、明示的にロギングをオン・オフするコマンドを追加した。またデフォルトはオフとし、無駄なログを溜めないようにした。 +-------------------------------------+---------------------------------------+ |void Utsusemi::UtsusemiLoggerOn() |ロギングを開始する | +-------------------------------------+---------------------------------------+ |void Utsusemi::UtsusemiLoggerOff() |ロギングを停止する | +-------------------------------------+---------------------------------------+ |bool Utsusemi::UtsusemiLoggerStatus()|ロギングの状態を返す(ロギング中:True)| +-------------------------------------+---------------------------------------+ |void Utsusemi::UtsusemiLoggerClear() |ログを全て消去する | +-------------------------------------+---------------------------------------+ Mar 17 2020 [bugfix:0.3.7] The issue of memory leaks in live data reduction codes Live Data Reduction用のコードで発生していたメモリリークを塞いだ。また、UtsusemiSqeCalc内で発生していたメモリリークを塞いだ。 Mar 13 2020 [bugfix:0.3.7] The issue that the irregular memory access occurs in codes around EventDadaDecoder and EventDataConverter イベントデータを扱う部分の一部のコードに、不正なメモリアクセスが発生している部分があったので修正した。 +--------------+----------------------------------------------------------------------+ |TofBinInfo |WiringInfoのTofのBinの区切りのパターンを収めている(通常数個のvector)| +--------------+----------------------------------------------------------------------+ |TofBinInfoList|全ピクセルのTofのBinの区切りを収めている(Pixel全数のvector) | +--------------+----------------------------------------------------------------------+ 今回、TofBinInfoにピクセルの値でアクセスしている部分があり、Windowsで落ちたことから発見された。 Mar 6 2020 [bugfix:0.3.7] The issue that TreatSPE occurs the error in reading SPE file SPEファイルを読み込む際に、QやHWの個数が8の倍数だった時に読み込みが失敗するバグに対処。 また同時にPython3で動作させた時にもエラーになるのでそれも修正 - range( numQ/8 ) の式でnumQ/8がPython3ではfloatになるため Feb 28 2020 [bugfix:0.3.7] The issue that ArrayDataCut does not treat IntegRange values. ArrayDataCut の引数IntegRaangeで指定した値が、正しくMlfArraySlicerに渡されていなかった問題を修正。 また結果をMPlotで表示した時のコメントやラベルがおかしくなる問題にも対応した。 Feb 28 2020 [update:Utsusemi-SAS:0.3.7] Add SetRPMTMaskBy2theta RPMT上のあるpixelを中心として、与えられた角度よりも外側(もしくは内側)の全pixelにマスクをかけるための関数を追加した Feb 13 2020 [bugfix:0.3.7] The issue that ArrayDataCut facade does not come into SequenceEditor Feb 13 2020 [update:0.3.7] Add ArrayDataCut facade to Com.py to cut array data using MlfArraySlicer MlfArraySlicerを簡単に扱うための新しいファサード関数 ArrayDataCut を加えた。 - ana/Reduction/BaseCommands.py - facade/Com.py Feb 12 2020 [bugfix:0.3.7] The issue that string arguments of some methods in UtsusemiEventDataConverterTemplate and UtsusemiGetHistogramTemplate cannot be set from python UtsusemiEventDataConverterTemplete や UtsusemiGetHistogramTemplate において、引数にstringを持つメソッドをPythonから呼び出した時に、Pythonのstrオブジェクトがこれらのメソッドに渡せない(エラーとなる)問題に対応。 *詳細* 例えば、 Function( string XXX ) というメソッドを含むテンプレートクラスがあって、PythonからFunction( str )として呼び出すと引数のエラーとなる。 SWIGの問題なのか、テンプレートクラスを用いた時にC++コード中の "string" とPython.hのstrが接続されないパターンがあるようだ。 解決方法としては、"string"の名前空間を以下のように規定することが有効なようだ。 Function( std::string XXX ) これで、回避できることがわかった。 ただメソッド内部でstringを用いていても特に問題はないので、C++ <-> Python間のインターフェース部分に若干問題があるようだ。 Feb 10 2020 [update:Utsusemi-SAS:0.3.7] Correct value in DetectorInfo files to 8.0x8.0=64.0 Feb 4 2020 [update:0.3.7] update UtsusemiD4Matrix2 to use of dHWCorrect instead of HistogramBinToPoint and make it controlable. UtsusemiD4Matrix2クラスにおいて以下の機能追加を行った - ImportEcmsContRotの引数のreductCase により、dHWCorrectも制御できるようにした。 - 下から4ビット目が立っていれば dHWCorrectを実行する。よって reductCaseの範囲は 0 - 15 となる。 - bin幅で規格化する部分をHitogramBinToPointクラスからUtsusemiReductionInEla::dHWCorrectに置き換えた。 - ImportEcmContRotの引数にも reductCase を加え、bin幅補正の実行・非実行を選択できるようにした。 - デフォルト(省略時)で bin幅補正は実行されるのはこれまで通り。 Feb 3 2020 [update:0.3.7] Add new method on UtsusemiD4Matrix2 to switch averaging intensities or summation on slicing UtsusemiD4Matrix2::SetAveragingOnSliceメソッドを追加した _Slice3Dや_Slice2Dの中でのスライスは、Q-hwメッシュに強度を振り分けたのちにメッシュごとの強度の平均値を計算しているが、その平均化をしないという選択ができるようにした。(巽さんwork用) Jan 30 2020 [bugfix:0.3.7] The issue of core dump error on executing UtsusemiD4Matrix2::ImportEcmsContRot UtsusemiD4Matrix2::ImportEcmsContRotをMULTHが1以外で実行すると **double free or corruption (top)** というメッセージでコアダンプする問題に対処した。 *解説* このメッセージはメモリを二重に解放した時のコアダンプ時に表示される。 ImportEcmsContRot内では *UtsusemiEventDataConverterNeunet::SetElementContainerMatrix( ECM, caseId )* を *#pragma omp parallel for* で高速化しているが、その実行時に問題が起きていた。 大抵はdeleteされたポインタを目安に問題点を探せば良いらしいが、今回の件ではコード中にあらわにdeleteされている箇所はなかった。しかし、クラス内でグローバル変数として使用されている **vector _numOfT0List** を別のvectorで上書きしている部分があり、これをclear(), resize(), copy()で書き直したところ問題がなくなった。 ----------------------- 0.3.7.200124 or later ----------------------- Jan 21 2020 [update:0.3.7] Add new argument to UtsusemiD4Matrix2::ImportEcmsContRot to choose data reduction functions executed in this method UtsusemiD4Matrix2::ImportEcmsContRotに新しい引数reductCase (UInt4)を追加した これは内部のData Reductionとして行なっている +-+------------------+ |1|NormByKickers() | +-+------------------+ |2|KiKfCorrect() | +-+------------------+ |3|NormBySolidAngle()| +-+------------------+ の実行を制御するものである。実行したい関数の番号がbit位置となるbitを立てた値を渡す。 よって、以下のようになる。 +----------+---+--------------------------------------+ |reductCase|bit|意味 | +==========+===+======================================+ |0 |000|どれも実行しない | +----------+---+--------------------------------------+ |1 |001|NormByKickers()のみ実行 | +----------+---+--------------------------------------+ |2 |010|KiKfCorrect()のみ実行 | +----------+---+--------------------------------------+ |3 |011|KiKfCorrect()とNormByKickers()のみ実行| +----------+---+--------------------------------------+ |4 |100|NormBySolidAngle()のみ実行 | +----------+---+--------------------------------------+ |7 |111|全て実行 | +----------+---+--------------------------------------+ Jan 7 2020 [bugfix:0.3.7] The issue of small memory leak in DetectorInfoEditorNeunet ----------------------- 0.3.7.191225 or later ----------------------- Dec 24 2019 [update:0.3.7] Add new class D4Mat2Utils in D4Mat2Slicer.py to be used some functions in D4Mat2Slicer as API from CUI and a python script D4Mat2SlicerをCUIから操作するのに、GUIコードのクラスから分離させる必要のあった関数(MakeTempInfoFilesやMakeCaseInfoFile)をD4Mat2Utilsというクラスに分離した。 Dec 24 2019 [bugfix:Utsusemi-SAS:0.3.7] typo in code SASDetectorEfficiencyCorrection.cc Dec 24 2019 [update:Utsusemi-SAS:0.3.7] Small improvement for some messages and ElementContainer treatments in some codes. Dec 19 2019 [bugfix:Utsusemi-SAS:0.3.7] The issue that DoMask function does not retrun Error Message on SequenceEditor when given mask file is not found. Dec 17 2019 [update:0.3.7] Add new detecter effeciency data and script. [update:0.3.7] Change default argument value for new detecter effeciency data. [update:0.3.7] Add new detecter effeciency data and script (AMR). ----------------------- 0.3.7.191217 or later ----------------------- Dec 17 2019 [update:0.3.7] Add new WiringInfo and DetectorInfo for SIK from BL-PC. Dec 17 2019 [bugfix:0.3.7] The issue that WiringInfoEditer puts wrong temporary file when original wiring file has incorrect headPixelId WiringInfoEditorで、オリジナルのWiringInfoが誤ったheadPixelIdを持っていると正しく動作しない一時ファイルを作成することがあるのを修正した。 0.3.7からWiringInfoEditorは、 1. オリジナルのWiringInfoがheadPixelIdがない(タグ自体がない)場合headPixelIdは内部で適当に生成 2. headPixelIdがない場合、オリジナルのheadPixelIdを積極的に使用する という機能にしたが、2はオリジナルのheadPixelIdが正しいことを前提としている。 headPixelIdの記述は間違いが発生しやすいので、2も以下のフラグがfalseならば内部で生成することにした。 追加内部フラグ _isFixedHeadPixelId 追加メソッド void FixHeadPixelId(bool) : _isFixedHeadPixelIdの変更 またheadPixelId=""の時の挙動が、それがない場合の処理(headPixelId=-1)と同じになるように修正した。 Dec 17 2019 [bugfix:0.3.7] The issue that UtsusemiAnaEnvironReader::Read(UInt4,bool) returns error when no environ_ana.xml is found in data-folder given by run number. XXX/ana/xml/environ_ana.xmlを読み込むために使用するのは UtsusemiAnaEnvironReader::Read( string, string ) : XXX/ana/xml内を探す(デフォルト) UtsusemiAnaEnvironReader::Read( UInt4, bool ) : 与えられたRunNoのデータフォルダ内を探す であるが、後者で存在しなかった時にエラーになっていたのを、デフォルトであるXXX/ana/xmlを探しにゆくようにした。 Dec 17 2019 [bugfix:Utsusemi-SAS:0.3.7] The issue that old values used as a default of Banks argmument in SectorAverageByAngle cause the error 0.3.6時代にSectorAverageの引数Banksにデフォルトで使用されていた"SM16"や"SM14"が0.3.7ではエラーとなるため、対処した。 Dec 17 2019 [update:Utsusemi-SAS:0.3.7] update WiringInfo and environ_ana.xml to current ones in beamline's PC 検出器が増えたことによるWiringInfoの修正と、現場のPCで使用されてきたWiringInfoの履歴とファイルをアップデートした。 Dec 17 2019 [update:Utsusemi-SAS:0.3.7] update codes to define new bank SCC and to use them SCバンク内で新しく20atm PSDで置き換わったDetIdを、気圧の違いによるデータ処理の変更に対応しやすいよう、SCCバンクを分離独立することにした。 それに伴い以下を行なった。 1. バンクの定義の変更(DetectorInfo内の定義、SAS/ana/Reductionコード内の定義) - SASBankDicの修正 in SASUtils.py - DetectorInfo_after2019B_191215.xml 修正 どちらもBankNem="SCC", BankId=15とする(過去のRunと共通化するため) 2. 20atm用の検出器補正が行えるようにする - Manyoライブラリの補正関数を利用するように変更 - manyo/SASDetectorEfficiencyCorrection クラス新規追加 - CorrectDetEffiMulti 関数追加 - facade/Corr.py - facade/Cmm.py - ana/Reduction/CorrBaseCommands.py - 補正用ファイルの作成と追加 - ana/xml/SUS304-3He-PSD-SAS-6atm.dat - ana/xml/SUS304-3He-PSD-SAS-20atm.dat - 補正用パラメータの記述 - DetectorInfo_after2019B_191215.xml へ追記 Dec 17 2019 [bugfix:manyo] The issue that the calculation of the incident angle to detector is wrong. MLF/MlfDetectorEfficiencyCorrection::Execute で、検出器の方向ベクトルとPixel位置のベクトルから角度を計算する部分に間違いがあったので修正した。 Dec 13 2019 [update:manyo] Move some variables in MlfDetectorEfficiencyCorrection from private to protected manyo-SASから検出器効率補正の関数を呼び出せるようにするために、いくつかのprivate変数をprotected変数に変更した。 将来的には、manyo-SASの関数をMLFかUtsusemiにマージすることを考える。 Dec 11 2019 [update:0.3.7] Define a special argument "EMPTYDAT" to be used at facade function as None value in SequenceEditor2 SequenceEditor2で、新たに"EMPTYDAT"を定義した。Facade関数の引数として明示的にNoneを与えたい場合に使用する。 例:Cmm.ExecCodeManyArgs(Code="A.Dump()", A=EC, B=EMPTYDAT,... ) またファイルを書き出した際にもEMPTYDAT=Noneをファイル先頭に定義してあるので、スクリプトになっても使用可能。 Dec 11 2019 [update:Utsusemi-SAS:0.3.7devSCC] Add new facade ScaleIntensityBanks to scale the intensity of each bank to be easy to unify them into one data. Corr::ScaleIntensityBanksを追加した。これはそれぞれのBankごとに決められた適当なファクターでBankの強度をスケールするものである。 引数となるデータはQなどでマージする前のデータとなるのでGetHistogramSASの直後のElementContainerMatrixで、また一つのデータに複数のバンクが含まれていても良い。 また複数のElementContainerMatrix(例えば小角,中角,高角,背面などでグルーピングされたECMなど)をCorr::MakeDataListForSIBでList化してScaleIntensityBanksの第一引数に渡すこともできる。 .. code-block:: shell def ScaleIntensityBanks( datalist, SCC, SC, SM, ... ) @param datalist : ElementContainerMatrix もしくは ElementContainerMatrixのリスト(これはCorr.MakeDataListForSIBで作成できる) @param SCC : SCCのデータの強度に掛けるファクター @param SC : SCのデータの強度に掛けるファクター(以下同様) @retval None Dec 11 2019 [update:Utsusemi-SAS:0.3.7devSCC] Move SASBankDic to new added file SASUtils.py and change some related codes. Dec 10 2019 [bugfix:0.3.7] The issue that DetectorInfoEditorBase::PutBankInfo returns wrong format of contens DetectorInfoからバンク情報を取り出す(BankIDを与えてそのコンテンツをvectorで取り出す)際に、コンテンツをそのまま渡していたのを、,(コンマ)区切りで分割して返すようにした。 すなわち、DetectorInfoの 96-127,156-172 の情報が PutBankInfo(1) => [ "BankcC", "96-127,156-172" ] と戻っていたのを PutBankInfo(1) => [ "BankcC", "96-127" ,"156-172" ] と戻すようにした。 Dec 10 2019 [update:Utsusemi-SAS:0.3.7] Add new WiringInfo to apply new installed PSD and change environ_ana.xml [update:Utsusemi-SAS:0.3.7devSCC] Add new DetectorInfo including SCC info ----------------------- 0.3.7.191204 or later ----------------------- Nov 30 2019 [update:manyo] update to sort file names given as arguments in T0TreatToolsBase Nov 28 2019 [update:0.3.7] Add new initializing method on UtsusemiDetectorEfficiencyCorrection using with run number and mode number to get DetectorInfo file. UtsusemiDetectorEfficiencyCorrectionの初期化の一つとして、RunNoとmode numberを与えると、UtsusemiAnaEnvironReaderクラスを利用して自動的にDetectorInfoファイルを選択し、検出器情報を取り出し処理に用いることができるようにした。 Nov 28 2019 [bugfix:0.3.7] The issue that GetEiFromEvent occurs the error and stops when given PSD range is not found. BaseCommandInEla::GetEiFromEvet の PSD範囲が与えられたECMの中にない場合に単にエラーで処理が止まってしまうのを、無視するようにした。 Nov 19 2019 [update:0.3.7] improved UtsusemiTrignetDictionary to apply to new DAQ component for counting signals of the rotary encoder information 新しいTrigNET用のDAQミドルウェアコンポーネントに対応した。 この新しいモジュールは、連続回転測定などのエンコーダのシグナルをLineDriver経由でTrigNETで取り込む際の - 多く発生するノイズの低減 - フレームごとの角度情報(A相B相から算出)がわからない の点を改善するため、A相B相から角度情報を算出し、LADC1イベントとして保存するものである。 このデータを処理するためのモードを設定した。 このモードを使用する場合のCaseInfoは以下のようになる。 .. code-block:: xml ... 0.002866242038 -90.00 -90.0,90.0,1.0 ここで重要な点は、 - の属性typeが"ABC"("ABP"ではなく) - //の数は一つだけ(これを角度情報イベントとして取り込む) - // - 属性ioはA相を示す値であること - 属性typeは"LADC1"であること である。あとは通常のカウンターの動作と同じ。 Oct 4 2019 [update:Utsusemi-SAS:0.3.7] Update Cmm.DoMask to use newer method to find mask file path. Sep 25 2019 [update:0.3.7] Update Makefile.obj.vc to compile on Windows Sep 21 2019 [update:0.3.7devNewCyclic] add function to distinguish between "condition to be ignored" and "decided case" on counter judging UtsusemiFilterTrignet::CaseSorting内でのUtsusemiTrignetCounter::SetClockやCountEventが使われている。 この時、SetClock, CountEventの戻り値であるCaseが0の場合、「その判定は無効」(Current Caseの変更はなし)の意味でのみ使用されていた。 しかしCounter系の場合、イベントやClockの判定の結果が明確にCase=0である、すなわちCurrent Caseを0に変更しなくてはならない場合に対応できていなかったので、それを修正した。 その識別用に、戻り値Caseの値がUInt4(unsigned long)の最大値の場合「判定は無効」というルールを定めることにし、新たに定数 UTSUSEMIMASKVALUEUINT4 を定義した。 すなわち戻り値Caseが UTSUSEMIMASKVALUEUINT4の場合:その判定は無効でありCurrent Caseに変更なし それ以外の場合 :戻り値を新たなCurrent Caseに変更 というロジックに変更した。 Sep 21 2019 [bugfix:Utsusemi-SAS:0.3.7] The issue that histogram creation function causes the error with the latest version of Utsusemi 0.3.7 Utsusemi 0.3.7の最新版で動作させるとSASのヒストグラム化の部分でエラーを起こすのを修正。 Sep 21 2019 [bugfix:Utsusemi-SAS:0.3.6] Small bugfix about some comments and WiringInfo information - facade/Hist2.py facade/Hist3.py:GetHistogramSASの引数Xrangeのコメントを修正 - SAS/ana/xml/WiringInfo_after2017A_180316.xmlにTrigNETの情報が含まれていなかったので追記 Sep 21 2019 [bugfix:0.3.7] The issue that D4Mat2Slicer does not work because the format of created CaseInfo is older. D4Mat2Slicer で作成されるCaseInfo.xmlの一時ファイルのフォーマットが古かったため動作しなかった。 - より新しい(正しい)フォーマットのCaseInfoを作成するようにした - 古い : - 新しい: - 一部のattributeがなくてもデフォルトを与えるようにした - indexがない場合 :index="0"を与える - typeがない、もしくは空の場合:DIOを与える Sep 18 2019 [update:0.3.7devNewCyclic] Update UtsusemiFilterTrignet::DumpTrigEventFile to enable to output trigger informations with decorations. - UtsusemiFilterTrignet::DumpTrigEventFile の出力フォーマットをよりわかりやすい形でも出せるようにした - 小さなバグも修正した(first_clock) Sep 18 2019 [update:0.3.7devNewCyclic] Add new cyclic data treatment with trignet signals TrigNETのシグナルイベントを起点とした時間分解をサイクリックに処理する機能を実装した。 CaseInfo.xmlは以下の感じ。 .. code-block:: xml 0 0 1.0 0.0 0.0,5.00,1.0 指定したシグナル(/)が入ったフレームを時間分解の原点とし、それ以降を条件(/)により時間分解する。 この時、必ず以下の設定を行うこと。 - を指定 - は空 追加したメソッド - UtsusemiTrignetDictionary::SetClock 与えたClock(秒)からCaseIdを引き出すメソッド 変更したメソッド - UtsusemiTrignetDictionary::CountEvent - 引数としてClockを与えられるようにした(時間原点を設定するため) - UtsusemiFilgerTrignet::CaseSorting - 上記のSetClockを使用するようにした。 Sep 9 2019 [update:0.3.7] Add new RedisPubSubMonitor for Readout1d in UtsusemiRedisPubSubMon (2) UtsusemiRedisPubSubMon/manyo/do_make_Utsusemi.pyで、UtsusemiRedisPubSubMonReadout1dをコンパイルできるようにした。 Sep 9 2019 [update:0.3.7] Add new RedisPubSubMonitor for Readout1d in UtsusemiRedisPubSubMon UtsusemiRedisPubSubMon に、新たにReadout1d用のRedusPubSubMonitorを追加した。 Sep 9 2019 [update:0.3.7] Add new CuiD2Chart function to save plot file with auto intensity scale CuiD2Chart::MakePlotの引数zrangeに[min,max]とは異なるフォーマットの引数([]など)が与えられた時にオートスケールで表示するようにした。 Aug 30 2019 [bugfix:Utsusemi-SAS:0.3.7] The issue that the CalibEffi argument of GetMonHistSAS does not work on creating histogram of RPMT GetMonHistSASで、RPMTをモニターとする処理の時に、パラメータ CalibEffi (bool) が機能していない問題を修正。 Aug 27 2019 [update:0.3.7] Add the function to return the latest run number from run number folders (PutLatestRunNoFromDataFolder) 装置用データフォルダ(通常は /data/XXX)の中のデータフォルダからもっとも新しいRun Numberを返す関数を加えた。 Aug 1 2019 [packaging] Create contrib/0.3.7 Aug 1 2019 [packaging] Modify Dockerfile Aug 1 2019 [packaging] change requires mxml to manyo-deps-mxml ----------------------- 0.3.7.190802 or later ----------------------- Jul 25 2019 [bugfix:0.3.7] Fixed small bugs on reading Nxspe and par files and so on. SPEファイル読み込みで以下の問題の指摘と修正の提案 - nxspeからElementContainerMatrixへと読み込むとき、PixelPositionが異なる値になるのを修正 - parからの読み込む時に、azimuthの符号が異なるのを修正 - phx書き出し時に、L2を現在の定数では無く、実際の値を出力する機能を追加 対応 - NxspeFileIO.ccの修正 - ana/Reduction/TreatSPE.pyの修正 Contributor : R. Murasaki Jul 10 2019 [update:0.3.7] Remove Cmm.SavePowderDataToText ----------------------- 0.3.7.190710 or later ----------------------- Jul 10 2019 [update:master] Add new method WriteNeXusFile::WriteDataWithAttribute - nxspeのスキーム(https://github.com/nexusformat/definitions/blob/master/applications/NXspe.nxdl.xml)によると、definitionフィールドは、versionアトリビュートが必須 - Horaceでは、読み込み時にversionアトリビュートを確認し、その値によって振る舞いを変えるバージョンチェックルーチンがあるために、そのままではUtsusemiが出力したnxspeがエラーになって読み込めない 対策 - 万葉ライブラリのWriteNeXusFile::WriteDataWithAttributeを追加 - NxspeFileIO.ccの改変 Contributor : R. Murasaki Jul 10 2019 [bugfix:0.3.7] The issue that the definition of azimuth angle in .par file is wrong on Horace software Mantidのサイト (https://docs.mantidproject.org/nightly/algorithms/SavePAR-v1.html) (https://docs.mantidproject.org/nightly/algorithms/SavePHX-v1.html#algm-savephx) に従うと、parファイルとphxファイルではアジマス角の定義が逆(それぞれ反時計回り、時計回りが正)であるべきですが、UtsusemiのTreatSpe.pyだと定義が同じにまま また、UtsusemiのM2plotの結果、spe+parを用いてHoraceで図示した結果、spe+phxを用いてDAVE-Msliceで図示した結果を比較すると spe+parを用いてHoraceで図示した結果のみアジマス角が反転(鉛直上下が反転)している 対策 python-utsusemi/ana/Reduction/TreatSPE.py の.parファイルにAzimuth角を書き込む部分を修正した。 Contributor : K. Nawa Jul 9 2019 [bugfix:0.3.7] The issue the failure to output file of the time independent background 報告事象: Cmm.GetDataOfMonochroEi3でのTimeDepBackのパラメータに"TOF:0-40000(DARK.txt)"などを入れても出力されない 確認: ana.Reduction.BaseCommands::GetNeunetHist内部で、SetElementContainerMatrixへの変換を これまで .. code-block:: c UtsusemiGetNeunetHistogram::SetElementContainerMatrix( ElementContainerMatrix* ecm, string dataPath ) を利用していた部分を全てCaseIdを利用する形である .. code-block:: none UtsusemiGetNeunetHistogram::LoadEventDataFiles( string dataPath, string t0dataPath ) UtsusemiGetNeunetHistogram::SetElementContainerMatrix( ElementContainerMatrix* ecm, UInt4 caseId ) の組み合わせに全て変更したのだが、実はこれらの関数の中で正しく時間非依存BGの処理が行われていなかったためであることがわかった。 対策: UtsusemiGetNeunetHistogramのメソッドにおいて以下の修正を行った - LoadEventDataFileとSetElementContainerMatrixの内部で正しく時間非依存BGの処理を行うようにした - これまで使用してきたSetElementContainerMatrix( ElementContainerMatrix*, string, string )を廃止した Jun 28 2019 [bugfix:master] [bugfix] the issue that the compile on MacOS for 0.3.7 fails 0.3.7のMacOS用としてコンパイルするときのオプションを追加した。 経緯 190614版を作成しインストールするとエラーが発生した。 import Manyo.MLF でエラー。 色々見ると、Jenkinsのmodify-packageのログで、libMLF.soあたりでエラーがあった。 install_name_tool -change libMLF.so @loader_path(省略) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names) ウェブ情報ではLinkerにこのオプションをつけろとのことだったので、manyo/MLF/Makefile.macにこのオプションをつけた。 この結果、エラーが出なくなった。 ----------------------- 0.3.7.190614 or later ----------------------- Jun 14 2019 [bugfix:0.3.7] The issue of the failure to compile on Windows 7 Windows上でのコンパイルでエラーが発生する原因となる以下のバグを修正した - isnan関数がWindowsのVC(2008)では実装されていないので、UtsusemiHeader.hhに追記した - このisnan関数はVC2015より実装されているらしいので、_MSC_VER<1800 の時にisnan関数を追記するようにした - MlfHeaderで定義されている複数の関数を、UtsusemiHeader内で同じ名前で定義していたのでエラーとなっていたのを修正 Jun 14 2019 [bugfix:Utsusemi-SAS:0.3.7] The issue of the failure to compile in Windows7 Jun 12 2019 [bugfix:0.3.7] The issue that MakeRunListFromParams.py (for IROHA1) occurs error, which is caused by upgrade of the method to get beam current Jun 10 2019 [bugfix:0.3.7] Small bugfix that the output format (.par) of TreatSPE is wrong and the loading dump file made by Utsusemi4 is failed. 以下のバグを修正した - TreatSPEの出力 PAR ファイルのフォーマットが以前と異なっていたのを修正(飯田氏指摘) - Utsusemi4で作成したDumpファイルを0.3系で読み込む際にエラーとなる問題 May 28 2019 [bugfix:0.3.7] The issue that the sub-title position on M2Plot is not suitable for single crystal projection infomation 2018年1月ごろになぜか変更していた M2Plot のSubTitleの位置をほぼオリジナルの位置に戻した。 May 27 2019 [bugfix:0.3.7devTimeSlice] The issue that the slicing time ranges in CaseInfo are not treated correctly. CaseInfo内に記述された時分割用の情報が、CaseInfo::_TimeSlicingに登録される際、DoubleであるべきがUInt4で登録されていた。 結果、小数点以下の秒数が丸められ、スライスの精度が悪くなっていたのを修正した。 May 27 2019 [update:0.3.7devTimeSlice] Move SetRangeOfSingleTimeSlicing methods in several classes in UtsusemiEvnetDataConverterTemplate いくつかのクラスに分散されていた SetRangeOfSingleTimeSlicing メソッドを全て UtsusemiEventDataConverterTemplate に集約した. May 27 2019 [update:0.3.7devTimeSlice] Enable to do SetTimeSlicing for many time slice ranges 一度に複数の時間領域をスライスする機能として、CaseInfoを用いずとも、GetNeunetHistのTimeRangeパラメータで行えるようにした。 以前からUtsusemiEventDataConverterNeunet::SetTimeSlicingを用いることで可能なように開発していたが、実際には動作できない状況だった。それを使えるようにした。 BaseCommands.py GetNeunetHistにおいて、これまでの動作では、CaseInfoがNoneの時には SetElementContainerMatrix( dat, dataPath )を実行していたが、これではTimeRangeにファイルを与えた場合には、CaseIdごとに取り出す LoadEventDataFiles + SetElementContainerMatrix( dat, caseId )が使用されない。そこで、CaseInfoが設定されていようといまいと後者を実行するようにした。 UtsusemiGetNeunetHistogram.cc SetTimeSlicingを含めた時間スライスの設定を行うタイミングをLoadParamFilesの前に行うようにした。 シンプルにCaseInfoを読み込む前に設定するようにした。 ただ、現状では、"CaseInfo"と"SetTimeSlicing"は同時には使えない。 UtsusemiGetHistogramTemplate.cc SetTimeRangeを変更し、ファイル名が指定されていると以下のようなフォーマットのファイルだと考えて読み込む 文頭の#はコメントアウト , , ... UtsusemiEventDataConverterNeunet, -Template SetTimeSlicintメソッドを UtsusemiEventDataConverterTemplateへ移した。 これによりUtsusemiEventDataConverterTemplateWithPH系でもTimeSlicingが使えるようになった。 次は、SetRangeOfSingleTimeSlicing も各所に分散しているので、UtsusemiEventDataConverterTemplateに集約する UtsusemiEventCaseDecoderTemplate.cc SetTimeSlicing実行後に _NumOfCsesを正しく設定するようにした。 これがないとSetHistAllocationが正しく動作しない UtsusemiFilterTrignet.cc PutListOfCases で、CaseInfo.xmlが読み込まれておらず、かつSetTimeSlicingが行われてる場合に、正しくCaseListを返すようにした。 CaseInfoReaderBase.cc SetTimeSlicingを実行するとcore dumpする問題に対処。 May 24 2019 [bugfix:0.3.7] The issue that ToPowder fails to make Q binning when Q range (starQ and endQ) are given. May 24 2019 [update:0.3.7] Add new color manp named terrain to M2Plot May 13 2019 [bugfix:0.3.7] The issue that wrong filename of Nxspe was made by given filename argument without extension on SaveDataToNxspe May 8 2019 [update:0.3.7] Add new option of do_make_Manyo.py and new environment variables in Makefile to control compile options depended on linux distributions CentOS 7やUbuntuなどで必要となる環境変数の制御(下記)を、do_make_Manyo.pyで制御するために--dist-nameというオプションをつけた。 CentOS 7 with Python3 - Library名は python$(PyVer)m - Include先は /usr/include/python$(PyVer)m Ubuntu - Include先に -I/usr/include/hdf5/serial を追加 May 7 2019 [update:0.3.7] SaveDataToDAVEgrp enables to show the error message when given parameters are out of range. SaveDataToDAVEgrpでデータのない領域までスライスした時のエラーメッセージを表示するようにした。 Apr 26 2019 [bugfix:0.3.7] The issue that pixel position calculation is wrong, and update NxspeFileIO to avoid errors on reading data by not-existed name and update to treat mask flag more accurately. Nxspeフォーマット(MSlice用のデータファイル)から読み込む際に、ピクセル位置の計算に問題があったのを修正した。 また、Nxspeファイル内に存在しない名前のデータを読み込もうとしてエラーになるのを防ぐロジックにした。 また、読み込まれたデータによっては、強度にnanが入る可能性があり、その場合はそのbinにマスクをかけるようにした。さらにElementContainer, -Array単位でのマスクもかけられるようにした。 Apr 26 2019 [update:0.3.7] Update codes of NxspeFileIO to avoid errors on reading data by not-existed name and update to treat mask flag more accurately. Nxspeフォーマット(MSlice用のデータファイル)から読み込む際に、存在しない名前のデータを読み込もうとしてエラーになるのを防ぐロジックにした。 また、読み込まれたデータによっては、強度にnanが入る可能性があり、その場合はそのbinにマスクをかけるようにした。さらにElementContainer, -Array単位でのマスクもかけられるようにした。 Apr 26 2019 [bugfix:0.3.7] The issue that there are some memory leaks in NxspeFileIO.cc. Apr 26 2019 [bugfix:0.3.7] The issue that the data loaded from Nxspe file can not be converted to powder data by ToPowder command. Nxspeフォーマット(MSlice用のデータファイル)から読み込まれたデータ(ElementContainerMatrix)がPowderへの変換時にエラーを出す問題を修正した。 また、LoadDataFromNxspeコマンドの戻り値のデフォルト値が長かったのを修正した。 Apr 26 2019 [update:0.3.7] Add new methods to read Nxspe file and its facade functions Nxspeフォーマット(MSlice用のデータファイル)の読み込みを可能とするために、NxspeFileIO::Readメソッドなどを追加した。 またAMR,SIKのCmmファサードにLoadDataFromNxspeを追加した。 Apr 24 2019 [bugfix:0.3.7] The issue core dump occurs on creating histogram with pulse height info ヒストグラム化のときにパルス高も計算させる場合において、AddRunInfoToHeader実行時に _timeDependBackGroundList が初期化されていないためコアダンプになるのを修正した。 Apr 24 2019 [bugfix:0.3.7] The issue error happens in SaveDataToDAVEgrp SaveDataToDAVEgrpの出力時に強度がeで記述される指数表示の変換にバグがあったのを修正した Apr 23 2019 [update:0.3.7] Change default value for MaskFile argument of GetDataOfMonochroEi2 , -Ei3 Apr 23 2019 [update:0.3.7] Add new MaskInfo to AMR and change environ_ana.xml アマテラス用のMaskInfoをT.Kikuchi氏からのmask.txtをもとに作成し、それぞれのRunNoで適切なMaskInfoを選ぶようにした。 +-------------------+-------------------+------------------+ |Original |Converted |Notes | +===================+===================+==================+ |mask_20181210.txt |MaskInfo_181210.xml| | +-------------------+-------------------+------------------+ |mask_20180110.txt |MaskInfo_180110.xml| | +-------------------+-------------------+------------------+ |mask_20170117.txt |MaskInfo_170117.xml| | +-------------------+-------------------+------------------+ |MaskInfo_170117.xml|MaskInfo_161101.xml|# detId=164 masked| +-------------------+-------------------+------------------+ |mask_kikuchi_r6.txt|MaskInfo_151026.xml| | +-------------------+-------------------+------------------+ |mask_kikuchi_r5.txt|MaskInfo.xml | | +-------------------+-------------------+------------------+ Apr 23 2019 [update:0.3.7] Add new facade functions to save data as NXspe file NXspeファイルに保存するためのファサード関数を追加した。現状AMR, SIKのみ。 Apr 22 2019 [update:0.3.7] Add new class to treat NXspe for MSlice ( only Write ) MSlice用のデータファイルのNeXusフォーマット版である NXspeを書き出すためのクラスを作成した。 いずれは読み込みも可能としたい。 Apr 17 2019 [bugfix:dev037TimeDepBK] The issue that calculation of error values is invalid on using TimeIndependentBG 時間非依存BGのファイルを読み込んで補正する際に、エラーの値が正しく計算されていない問題に対処。 Apr 16 2019 [update:dev037TimeDepBK] Improve functions to reduce the time-depend background(2) BGデータをXMLで出力するようにしていたが、pixel数が多くなると処理が重くなるので、テキストでの入出力機能を加えた。 ファイル名に.xmlがつけばXMLで、.txtがつけばTEXTで出力・入力する。 テキストフォーマット - 行頭の# はコメント、もしくはパラメータ行 - 現在パラメータとして機能するのは、# normFactor = <キッカー数>, unit=kickers のみ - データ部分は、ピクセルIDとバックグランド値[1/μs]のカンマ区切り , Apr 15 2019 [update:dev037TimeDepBK] Improve functions to reduce the time-depend background これまで、あるデータから時間依存のバックグランドを引くのに、そのデータそのものからバックグランドを作成していた。 しかし、データによっては統計精度が足りない場合が生じるため、時間依存バックグランドデータを保存できるようにして、他のデータにも適応できるようにした。 **UtsusemiEventDataConverterTemplate** *追加変数* .. code-block:: none vector< vector* > _timeDependBackGroundList;: TimeDependBackGroundの設定を行うと自動的に作成される bool _isLoadedTimeDependBackGroundList; : ファイルからTimeDependBackGroundListを読み込んだ時にTrue Double _timeDependBackGroundNormalizeFactor; : ファイルからTimeDependBackGroundListを読み込んだ時に読み込まれる規格化因子(通常はKicker) vector _numOfT0List; : CaseId別のキッカー値(高速化のために追加) *追加関数* .. code-block:: none TimeDependBackGroundCorrection(...) : 計算された時間依存バックグランドの値[/unit of time]を戻り値にするようにした InitTimeDependBackGroundList() : _timeDependBackGroundListの初期化(NumOfMulThとHistAllocationの情報からemptyのリストを作成) TimeDependBackGroundCorrectionByList() : ファイルからの時間依存情報を利用して補正する SaveTimeDependBackGroundListToFile(...) : 作成された_timeDependBackGroundListをxmlファイルに書き出す ReadTimeDependBackGroundListFromFile(...) : 作成された_timeDependBackGroundListのxmlファイルを読み込む ClearTimeDependBackGroundList() : _timeDependBackGroundListの削除(NULL) *改変* - _timeDependBackGroundListは高速化のためにmulti-threadに対応させる - SetHistAllocationにて、_timeDependBackGroundListを初期化し、 - PutHistにて時間非依存バックグランドの設定がなく、ファイルからも読み込まれていなければ、ノーマルのヒストグラム - ファイルが読み込まれていれば、時間依存BGの設定があっても、ファイル情報でBGを差し引く - 時間依存BGの計算結果は、_timeDependBackGroundListに収める - PutErrにて - PutHistと同様だが、_timeDependBackGroundListへの入力はしない - 高速化のために_timeDependBackGroundListはmulti-thread対応しているが、最終的にはどこかのタイミングでmulth-threadに分かれている値をたたみこむ必要がある。その作業を、AddRunInfoToHeaderにて実行していることに注意。同時にKickerの値も保存している。 **UtsusemiGetHistogramTemplate** *追加変数* - bool _isLoadFileOfTimeDependBackGround : ファイルが読み込まれたかどうか - string _pathFileOfTimeDependBackGround : ファイルのパス *追加関数* - SetSaveFileOfTimeDependBackGround : 保存先ファイルパス(フルパス)を与える - SetFileOfTimeDependBackGround : 読み込むファイル名(フルパスも可能)を与える(Searchされる) **UtsusemiGetNeunetHistogram** *変更* - SetElementContainerMatrixに、_isLoadFileOfTimeDependBackGroundと_pathFileOfTimeDependBackGroundの状態に応じて挙動を変更 **BaseCommands::GetNeunetHist** *変更* - BGInfoにおいて、以下のようなフォーマットとする "TimeDep:None" : 設定しない "TimeDep:-" : バックグランドとするTOF領域の指定 "TimeDep:-()" : バックグランドのファイルを書き出したい場合(追加) "TimeDep:()" : 存在するバックグランドのファイルを読み込んで利用したい場合(追加) ここで、 - start-TOF : 時間依存のバックグランドのTOF領域の下限 - end-TOF : 時間依存のバックグランドのTOF領域の上限 - file path : 保存先もしくは読み込み先のファイルパス("None"を指定すると設定しないのと同じ) である。 Apr 10 2019 [update:0.3.7] Add new WiringInfo modified by R. Kajimoto and modify environ_ana.xml to use it after runNo 42329 梶本氏がLLDを編集したファイルを新たに追加し、SIK042329以降のデータ(最近の飯田さんの測定)から利用するようにした。 Apr 9 2019 [update:0.3.7] Add SaveDataToDAVEgrp from TKtools.OutputQSliceToGrpText to change output text format for intensity and error. TKtoolsのOutputQSliceToGrpTextをBaseCommandsInElaに移植した。 その際に強度とエラーの出力のフォーマットを浮動小数点表記から小数点表記にした。 Apr 9 2019 [update:Utsusemi-SAS:0.3.7] Updated codes for effective uses of RPMT RPMTをうまく扱うためにいくつかの関数の高度化を行った。 - GetMonHistSAS RPMTを下流のモニターとして扱えるようにした - MonNo=10でRPMTを指定し、RPMTarea でRPMT上の積分エリア、RPMTeffiParam でRPMTのEfficiency計算用パラメータを与える - TransBaseCommands にあったRPMTの領域積分の部分を汎用化し、GetSumPixelAreaとしてHistBaseCommandsに加えた - ConvertQSpaceWithGravityのパラメータのデフォルト値を変更した そのほか - GetPulseHeightSASでNormByKickersが使えるように戻り値のECAのヘッダをオリジナルのECMのヘッダをコピーするようにした Mar 4 2019 [update:Utsusemi-SAS:0.3.6] Add facade functions to QSpace group for GetAzimuthProfile Apr 2 2019 [bugfix:Utsusemi-SAS:0.3.7] the issue that UserWarning is invalid syntax on python3 Mar 22 2019 [bugfix:0.3.7] The issue that core dump happens when edb and t0b files are not consistent. edbファイルと、t0bファイルとの間に整合性がない時、特に測定中のデータなどで、コアダンプが起きる問題に対応。 この問題は、コミット番号3eb9dd25679d652ea1aa89ca6baf26e41f67280f (Fri Mar 15 11:08:56 2019 +0900) 以降で発生する。 Mar 21 2019 [bugfix:0.3.7] The issue that Close button on Vaisualize panel of SequencerQ.py does not work. Mar 20 2019 [bugfix:0.3.7] The issue that there are the unnecessary Q values calculation in ToPowder function ToPowderで、角度計算の時に余計な計算を行なっていた部分を削除した。 Mar 19 2019 [bugfix:0.3.7] The issue that wrong wiring info is used in histogram conversion with changing both a detector range and the number of pixels in one detector. PSDのヒストグラム化の時に、検出器範囲と1PSDあたりのPixel数を設定した時に、headPixelIdがアップデートされない問題を修正。 Mar 19 2019 [bugfix:0.3.7] the issue that FindRunDataFolder returns useless values when run number = 0 (dummy data mode) ヒストグラム化におけるダミーデータ解析用のRunNo=0の時に、なんどもFindRunDataFoldersが実行され、その度にemptyが登録される問題に対応した。 Mar 15 2019 [bugfix:0.3.6] The issue that some method functions return indefinite values 戻り値(bool)が求められているのに返していないコードがあったので修正。 Mar 15 2019 [bugfix:0.3.6] The issue that histogram creation fails on using many runs with short measurement periods into one histogram data. 複数の非常に短い測定(1分未満)をまとめてヒストグラム化する際に、読み込み時にエラーが発生する問題を修正した。 Mar 11 2019 [update:0.3.7] Add the function to merge several run data sets which have same angle value. Extract_runlist.pyでは、同じ角度で異なるRunのデータをまとめることができなかった。そこで小数点以下第3位まで同じ値なら同等のデータとして扱うようにLoadRunListToExtractを修正した。 またその機能を用いる雛形となるスクリプト(Extract_anglist.py)も追加した。 Mar 9 2019 [bugfix:0.3.6] The issue that the mouse drag to select area on M2Plot does not work correctly. matplotlibのバージョンが2.0以降で、M2Plotにおけるメインプロット上のドラッグによる選択領域がうまく動作しなかった問題を修正した。 Mar 8 2019 [bugfix:0.3.6] The issue that VisContMOutputFileByPhi makes wrong vbin file with using twice Y angle value when XtalParam.xml tags includes Y value. VisContMOutputFileByPhiでのD4Mat用のvbinファイル書き出しに用いるXtalParam.xmlにおいて、タグにY軸情報(例えば"Y:0.000")が含まれていると、Y軸回転角度が2倍で計算されたデータが書き出される問題に対処。 仕様: - XtalParam.xmlのタグにY軸の情報が入っていても上書きする(以前の値は無視される) - ただし、別の軸(X軸、Z軸)に関してはそのまま使用する Mar 4 2019 [bugfix:0.3.7] The issue that FastPlot fitting does not work correctly on using fixed parameter(2) MPlotのフィッティング関数で、パラメータを固定させた時にうまく動作しない問題に対応。 - パラメータ固定した時のエラー値がおかしい Mar 4 2019 [bugfix:0.3.7] The issue that FastPlot fitting does not work correctly on using fixed parameter. MPlotのフィッティング関数で、パラメータを固定させた時にうまく動作しない問題に対応。 - 正しく固定されない(前のフィッティング結果が利用される) - パラメータ固定した時のエラーの欄がずれる Mar 1 2019 [update:Utsusemi-SAS:0.3.6] Add facade/VisualModuleQ.py Feb 26 2019 [bugfix:0.3.7] the issue that SetFrameBoundary cannot set correctly by giving argument using , format 例えばGetNeunetHistのFrameInfoに与えるパラメータとして、"Ei"や"Lambda"と境界値を与えるやり方が可能になっているが、 "tof"を与えた時にうまく動作しなかったのを修正した。 Feb 25 2019 [bugfix:Utsusemi-SAS:0.3.6] The issue that MergeSMSC4DetMap makes wrong pixels position data for bank SC - Bugfix - MergeSMSC4DetMapで作成されるSCのPixelの位置が上下逆さまであったのを修正 Feb 20 2019 [bugfix:0.3.7] the issue of invalid title line made by MakeRunList Feb 15 2019 [update] Replace new WiringInfo and MaskInfo corrected by PSD corrections with SIK038843. Feb 7 2019 [update:0.3.7] Add some detectors to be masked ----------------------- 0.3.7.190207 or later ----------------------- Feb 7 2019 [update:0.3.7] Add some detectors to be masked Feb 5 2019 [update:0.3.7] Change the default values of arguments PixelRange on Trans.GetTransRPMTNormByMon Feb 5 2019 [bugfix:0.3.7] The issue that the returned EC from GetSumRPMTPixelArea causes the error on Trans.GetCalcTransmittance Feb 5 2019 [update:0.3.7] add new func. Trans.GetTransRPMTNormByMon GetTransNormByMonCountsのRPMT版を作成した。 GetTransRPMTNormByMon(SmplRunNo=104000, DrctRunNo=104000, PixelRange="150 150 152 152", AxType="lambda", XRange="0.7 7.6 0.1", frameBoundary=0.0, CalibEffi=True ) SmpleRunNo, DrctRunNoそれぞれ、RPMTの指定した領域を積算し、Mon1のカウント数でノーマライズしたのち、SmpleRun/DrctRunで透過率を計算する。 Feb 4 2019 [bugfix:0.3.7] The issue that push of [A] buttons in VisualContM before [Projection] causes core dump. VisualContMで"Projection"実行(ボタンを押す)前に、Ax1-Ax4のA(範囲の自動入力)ボタンを押すと落ちる問題に対処。 - UtsusemiSqeCalc::PutQRange SetTargetより前にPutQRangeを呼び出すと落ちる問題に対処 - vis.VisualContM SetStatusの仕組みを修正し、Aボタンの制御も含めるようにした Feb 4 2019 [bugfix:0.3.7] The issue that MakeRunList makes unsuitable title line for Extract_runlist.y Jan 30 2019 [bugfix:0.3.7] the issue that error on MakeRunList occurs. Jan 30 2019 [update:0.3.7] change the default value of MaskFile argument in GetDataOfWhite. Jan 30 2019 [bugfix:0.3.7] the issue the ambiguity of arguments in function abs Jan 29 2019 [update:0.3.7] update MakeRunListIROHA2 for users to choose temperature sensors of A,B,C,D1,D2,D3,D4 from LS350 MakeRunListが収集して保存する温度情報を拡張した。 引数のdevTempの欄にカンマ区切りで "デバイス名,センサー1,センサー2"と記述。 LS350-1Out3,D2,D3 同時に表示できるセンサーの数は2まで。 結果 .. code-block:: shell run# start end kickers protons CT8n ratio T_D2 T_D3 gonio 29439 2019/01/25 00:07:22 2019/01/25 03:08:25 243126 10208352.8769 1.0207e+07 0.999864 14.97 20.00 --- Jan 29 2019 [bugfix:0.3.6] Bugfix the ConvertToQSpace::SetIncidentBeamWithGravity on using RPMT-KEK data - Bugfix - RPMT-KEKのデータを用いて重力効果を考慮したQの計算が正しくないのを修正した RPMT-KEKではPSDとして扱うので、XPOSやYPOSの情報が存在しない、RPMTとRPMT-KEKではピクセルの並び方などが異なる、など Jan 28 2019 [update:0.3.7] update default value of maskfile arguments in Extract_runlist.py Jan 28 2019 [update:0.3.7] Add new AMR mask files Jan 25 2019 [update:0.3.7] Replace corrected PSD parameters in new WiringInfo. Jan 25 2019 [bugfix:0.3.6] Bugfix and improve the RPMT conversion function - Bugfix - RPMTのチャンネル数が間違っていたのを修正 - X方向とY方向が入れ違っていたのを修正 - Improvement - DetectorInfoの位置情報を設定した - 返還後のデータを削除するようにした - オリジナルのイベントデータが複数(連番)に分かれている場合に対応した Jan 25 2019 [update:0.3.6] Enable to do data reduction for the event data of RPMT-KEK RPMT(KEK)のイベントデータをヒストグラム化できるようにした。 GetHistogramBaseSASのBank引数に"RPMT"を指定すると、Manyo.SAS.RPMTDataConverterクラスを呼び出して、RPMT-KEKのデータを変換し保存、それをヒストグラム化することにした。 これまでの"RPMT"は、"RPMTo"と書くことで動作する。 environ_ana.xmlのmode_noは5を利用。 Jan 25 2019 [update:0.3.6] Add the data converter from RPMT(KEK) event data to PSD event data RPMT(KEK)のイベントデータをPSDのフォーマットに変換するクラスを作成した。 orgFile = "/data/SAS/SAS120911_20180617/SAS120911_13_000_000.edb" tt = RPMTDataConverter() tt.SetDaqId(13) tt.Execute( orgFile, "/data/SAS/SAS120911_20190121", 120911, 0, 4096 ) tt.Execute( , , , , , ) Jan 24 2019 [bugfix:0.3.7] HeadPixelIds calculation is not correct on changing numPixel by SetDetRange SetDetRangeでピクセル数を変更した時に、正しく計算されない(変更されない)問題を修正。 Jan 24 2019 [update:0.3.7] MaskInfo.xml for the broken PSD. Jan 23 2019 [bugfix:0.3.7] Wrong descriptions on some parameter files for BL01 Jan 22 2019 [update:0.3.7] Add new detectors information to the parameter files for the histogram creation Jan 19 2019 [update:0.3.7] Rewrite some codes for Python3 Python3対応 by Smart Solutions. 基本的にprintと、raise, 辞書のKEYなどの扱いなど。 Jan 18 2019 [packaging:0.3.7] DockerのREADMEに生成されたRPMファイルの取得方法を追加 - ビルドしたDockerイメージの中からRPMファイルを取得する方法を記述した Jan 18 2019 [packaging:0.3.7] Add files for building Docker image - Dockerイメージビルド用のファイルを追加 Jan 18 2019 [packaging:0.3.7] Exclude .git directory from creating tar file - build.shでtarを作成する際に.gitディレクトリを除外するようにした Jan 17 2019 [packaging:0.3.7] Add build script and modify utsusemi.spec - ビルドスクリプトを追加 - SPECファイルのソースtarのファイル名解析部分を修正 Jan 17 2019 [update:0.3.7] manyo/Makefile to be suitable for rpm build rpmを作成するために適切なようにmanyo/Makefileを書き換えた(岡崎氏の修正)。 Jan 16 2019 [packaging] Add SPEC and patch files for RPM packaging CentOS7 RPMパッケージ作成のためのSPECファイルおよびパッチファイルを追加 Dec 20 2018 [update:0.3.7] Measurement period information can be imported from the t0b file of the module used for histogram creation. UtsusemiEventDataConverterTemplate::SetDataPathにおいて、T0イベントファイル(.t0b)から時刻情報を取り出す際に、実際にヒストグラム化を行うモジュールのt0bファイルを利用するように改変した。 Dec 19 2018 [update:0.3.7] Speed up to a part ot histogram creations by removing several tasks executions to find run folders ヒストグラム化時にRun Folderを探しにゆく部分において、実行結果をキャッシュすることで高速化を実現した。 UtsusemiHeaderに含まれる FindRunDataFoldersはデータフォルダが多くなると実行時間が長くなる。 environ_ana.xmlやWiringInfoの探査にこれを何度か呼び出す必要があるが、毎回FindRunDataFoldersを実行すると時間のコストが増大するので、シングルトンのキャッシュクラスを作成し使用することでFindRunDataFoldersの2回目以降の実行を高速化した。 キャッシュクラス: UtsusemiRunDataPathDict これをFindDataRunFoldersの中でキャッシュとして使用している。 Dec 18 2018 [bugfix:0.3.7] the issue that opened directories are not closed. Dec 15 2018 [update:0.3.7] Update Install_0_3_7.py Install_0_3_7.pyでのインストール時に、全部入りを選んでも装置を選択する(複数同時選択可能)ようにした。 Dec 15 2018 [update:0.3.7] Add Install.py for 0.3.7 Dec 14 2018 [update:0.3.6] Add d-value histogram creation function on GetHistogramBaseSAS ----------------------- 0.3.7.181214 or later ----------------------- Dec 14 2018 [update:0.3.7] Standardize braket notation for units as ( unit ) etc. - 単位の表記で[ unit ]と( unit )が混在していたので、( unit )に統一した - ラベルと単位の間にスペースを入れた - DR.GetDataOfMonochroEi3のTimeSliceのヘルプの表記がおかしいのを修正した Dec 13 2018 [bugfix:0.3.7] The issue that some manyo functions can not distinguish string parameters from os.path.join." Serializeなどの万葉の関数の一部が、パラメータとして与えた文字列、特にos.path系列の出力をstrとして認識できないので、str(XXX)でキャストした。 Dec 13 2018 [bugfix:0.3.7] the issue that some patterns of beam current and tag shots information cause to error Dec 13 2018 [update:0.3.7] Add functions to treat ManyoDataBinary format Manyoライブラリのバイナリフォーマット ManyoDataBinary (mdb)の読み書きを可能とした。 - BaseCommand::SaveDataToManyoBinary - BaseCommand::LoadDataFromManyoBinary ファサードCmmにも追加した。 Dec 11 2018 [update:0.3.7] Add NormByKickers to BaseCommands.py Cmm.py Dec 11 2018 [update:0.3.7-devBeamCurrent] Update Extract_runlist.py applied to new format of MakeRunList with flag_proton=4 MakeRunListの新しい出力フォオーマット(全部入り)を読み込めるように変更した。 ヘッダ部分からプロトン数やキッカー数、ゴニオの値の場所を推定して読み込むようになった。 ある程度古いrun listファイルも読み込める。 あと、MakeRunListの引数flag_protonのデフォルト値を4とした。 Dec 11 2018 [bugfix:0.3.7-devBeamCurrent] the issue that the format of header information in run list by MakeRunList is not correct. Dec 11 2018 [update:0.3.7-devBeamCurrent] add Extract_runlist.py Dec 11 2018 [update:0.3.7-devBeamCurrent] Add new argument isTagCorrect=True to NormByBeamXXXX series in Cmm facades プロトン数のサーバーの数え落とし問題に対応。 1. Cmm.NormByBeamとCmm.NormByBeamCurrentにisTagCorrectを加え、デフォルトをTrueに 2. isCT8NeutronをisCT8nに統一(AMR) 3. isCT8nのデフォルト値をTrueに Dec 11 2018 [update:0.3.7-devBeamCurrent] Change NormByBeamCurrent argument isTagCorrect=True in GetDataOfMonochroEi2 and -Ei3, add new option to MakeRunList (full showing) プロトン数のサーバーの数え落とし問題に対応。 1. GetDataOfMonochroEi系列のプロトン数による規格化において、ショットタグ番号を用いた補正値をデフォルトとする。 2. MakeRunListで、以下の全ての情報を示す新たなオプションflag_proton=4を追加した。 RunNo 開始時刻 終了時刻 キッカー数 修正プロトン数(オリジナル,比率) 温度A 温度B ゴニオ (そのほか試料環境) Dec 11 2018 [update:0.3.7-devBeamCurrent] Add functions to correct proton current using by shot tags numbers プロトン数のサーバーの数え落とし問題に対応。 ショットタグ番号を用いて補正を行う。 ショットタグを取り出すAquireNeutronSourceTextInformation::PutShotsCounts()を作成しているが、その値を用いて補正を行うようにした。 getNeutronSourceInfo.pyのgetBeamCurrentの戻り値をこれまで単独のプロトン数だったが、これを (補正プロトン数, 補正比率, オリジナルプロトン数) を戻すようにした。 BaseCommands::getBeamCurrent, NormByBeamCurrent, NormByBeam に isTagCorrect(bool)引数を追加し、 補正プロトンを使うか、オリジナルを使うかを選択できるようにした。 Dec 7 2018 [update] Add new WiringInfo_181207.xml and update environ_ana.xml Dec 7 2018 [bugfix] No error when program fails to get proton current on treating several run numbers Nov 28 2018 [bugfix] the issue that the virtual D4Matrix creation fails on D4MatSlicer. Nov 26 2018 [bugfix:0.3.7] the issue that free slice on M2Plot(D2Vis.py) called from D4Mat does not work correctly M2PlotのFreeSlice機能において、正しくスライスできない(領域が正しく指定されない)問題と、MASKVALUEが入っている値が正しく処理されない問題を修正した。 Nov 26 2018 [bugfix:0.3.7] the issue that the intensity values of vbin output for D4Matrix are wrong ( double 1/dHW corrections ) dHW補正を行なったヒストグラムをD4Matrix用にvbinファイルで出力した際に、二重にdHW補正を行なってしまう問題に対処した。 Nov 22 2018 [bugfix:0.3.7] the issue that the behaviors of some functions tool-tips are different with the others on Sequencer SequenceEditor上のいくつかの関数のツールチップの挙動がおかしい。 Cmm.SumOfPixel() をシーケンス欄に入れて、選択状態で、かつマウスをシーケンス欄に置いた時に表示されるツールチップの挙動において、マウスを動かしてもツールチップ表示が移動しないという問題。 SumOfPixel のdef 直下に置いているドキュメンテーション文字列の書き方で @retval EC と書かれているが、これを正しく動く関数にあるように @retval EC (ElementContainer) と追記したところ、動作するようになった。 このバグの意味はわからないが、修正しておく。 Nov 16 2018 [bugfix:0.3.7] the issue that some functions of WiringInfoEditor does not work correctly WiringInfoEditorを用いてWiringInfoを作成する際に、いくつか正しく設定できない、もしくは利用されない情報があったので修正した。 - 検出器のtypeが正しく反映されない問題 - 検出器情報のaxisが正しく反映されない問題 - WiringInfoEditor::SetInstInfo の追加(InstCode, Version, Updateを更新) Nov 16 2018 [bugfix:0.3.7] the issue that core dump occurs on creating histograms for two or upper run numbers with the single time slicing 複数のRunNumberを与え、かつSingleTimeSlice(単純な時間スライス)の設定を行ったヒストグラム化を行うと、コアダンプする場合がある問題を修正した。 TimeSliceの最初の時刻のイベントが最初のRunNumberのデータ内にない場合に落ちるので、落ちないようにした。 またBaseCommands::NormByBeamCurrentのraiseを分類して、どのエラーなのかの表示(主にSequencer上のエラーダイアログ)をするようにした。それには不要なtry - exceptを省く必要があった。 1. プロトンカレントが-1の時、サーバーにアクセスできない 2. プロトンカレントが0の時、データ自体か、Time Slice領域の指定がおかしい Nov 8 2018 [update:0.3.7] Rewrite the default value of MaskInfo argument on DR.GetDataOfMonochroEi2,~Ei3 and Cmm.GetNeunetHist in SIK to "default" SIK(BL01)の環境で、DR.GetDataOfMonochroEi2,-Ei3やCmm.GetNeunetHistのMaskInfoのデフォルトを"default"にした。これでenviron_ana.xmlのマスクファイルを利用する。 Nov 7 2018 [update:0.3.7] Add kicker information to MakeRunList MakeRunListの出力に、Kickerを加えることができるようにした。 +-----------+----------------------------------------------+ |flag_proton|意味 | +===========+==============================================+ |0 |プロトンカレントなし、キッカーなし | +-----------+----------------------------------------------+ |1 |プロトンカレントのみ | +-----------+----------------------------------------------+ |2 |キッカーのみ(プロトンカレントの値と入れ替え)| +-----------+----------------------------------------------+ |3 |両方(出力される数値が一つ増えるので注意) | +-----------+----------------------------------------------+ Nov 7 2018 [bugfix:0.3.7] The issus that PeakLabel of FastPlotQt does not work with matplotlib 2.1.1 on Ubuntu 18.04 [bugfix:0.3.7] issue that smoothing does not work on Ubuntu 18.04 (Scipy 0.19.1 or later) vis.MPlot (FastPlotQt)のPeakLabel機能がうまく動作しない問題に対処。 Ubuntu 18.04 (Scipy 0.19.1) でスムージングに問題があったのを修正。 Scipy 0.19.0 より scipy.signal.convolve の仕様が変更になったため。 Nov 5 2018 [update:0.3.7-devFindPath] Add MaskInfo files for SIK environ_ana.xmlとそれぞれのWiringInfoを元に、MaskInfoを作成した。 検出器の増加、ABCパラメータ調整の有無などで世代を分けて、environ_ana.xmlに反映した。 Nov 5 2018 [update:0.3.7-devFindPath] Add functions to use MaskInfo from param files in environ_ana.xml 今回の仕様: - マスクファイルがRunNoデータフォルダ内にある場合でも読みに行けるようにした(サーチパスにRunNoデータフォルダも追加した) - 複数の同じRunNoのフォルダがあった場合、日付が一番新しいものを選択する(MaskInfoだけでなく、イベントデータサーチにも適応) 現状サーチの順番は 1. RunNoデータフォルダ内 params/Utsusemi <- NEW (FindEnvironFolderInRunData) 2. python-utsusemi/XXX/ana/xml <- (FindParamFilesFolders) 3. ~/ana/xml <- (FindParamFilesFolders) 4. [Current Folder] <- (FindParamFilesFolders) である。 Nov 5 2018 [update:0.3.7-devFindPath] Add functions to use MaskInfo from param files in environ_ana.xml 現状、マスクファイルは、BL01だと、"mask.txt"を利用しているが、本来は、検出器の配置ごとに修正が行われるべきものである。よって、environ_ana.xmlに当初から搭載されているタグをきちんと利用できるようにする。 今回の仕様: 1. RunNoを与えられるとenviron_ana.xmlに書かれているを利用する(既存のUtsusemiAnaEnvironに搭載) 2. SetMaskInfoで"Default"が与えられると、environ_ana.xmlのを利用する(新規) 3. SetMaskInfoでファイル名が与えられると、FindParamFilePathで探す GetNeunetHistのMaskInfoと、DoMaskのMaskInfoの違い: - GetNeunetHistのMaskInfoは、Pixelのマスク化と、TOF方向のマスクの両方に作用する - DoMaskでのMaskInfoは、Pixelのマスク化のみ行う(GetNeunetHistのPixelマスクに加える形 Nov 2 2018 [update:0.3.7-devFindPath] Add functions to search param files for histogram creation in run data folder to UtsusemiAnaEnvironReader ヒストグラム化に使用するパラメータファイルが、RunNoのデータフォルダ内にある params/Utsusemi にあれば優先的に使うようにする。 今後は、例えばSIK012345_20181102/paramsの中に、そのデータに対して有効なヒストグラム化パラメータファイルも収めることで、データフォルダさえあればデータ処理ができるようにする。 具体例としては、 /data/SIK012345_20181102/params/ の中にUtsusemiフォルダを作成し、そこへ最新のenviron_ana.xml、最新のWiringInfo、DetectorInfo, MaskInfoを配置する。 - environ_ana.xmlはこれまでと同様のもの(modeも使用可能) - WiringInfo, DetectorInfo, MaskInfoは そのデータを処理するのに必要となる最小限のファイル 今回の仕様: 1. 自動的に空蟬の環境変数を用いて上のUtsusemiパラメータフォルダを探し、見つかればそれを利用 2. 見つからなければこれまで通り、python-utsusemi/SIK/ana/xmlを探す Nov 2 2018 [update:0.3.7-devFindPath] move some functions from UtsusemiEventDataCoverterTemplate to UtsusemiHeader about search path for a folder UtsusemiEventDataConverterTemplate::SetDataPath 内で使用されていたフォルダを探すルーチンをHeaderBaseに移した。 - UtsusemiEventDataConverterTemplate::SetDataPathがちょっとだけすっきり - UtsusemiHeaderに以下のメソッドを追加 - string UtsusemiHeader::FindRootDataFolder( string _dataDir="" ) - vector UtsusemiHeader::FindInstDataFolders( string _instCode, string _rootDir="" ) - vector UtsusemiHeader::FindRunDataFolders( string _runNo ) - vector UtsusemiHeader::FindRunDataFolders( string _instCode, string _runNo ) - vector UtsusemiHeader::FindRunDataFolders( string _instCode, string _runNo, vector _instDataFolders ) - これらの変更に伴い、いくつかのコードを変更 ----------------------- 0.3.7.181101 or later ----------------------- Nov 1 2018 [update:0.3.7] Add descriptions about executing dHWCorrection to DR facade functions DR系ファサード関数のヘルプに(1/dhw)補正の関数を実行していることを示す文言を追加した。 Nov 1 2018 [bugifx] compile error in UtsusemiD4Matrix2 on MacOS Nov 1 2018 [update:0.3.7] Add dHWCorrection function to facade/Cmm.py (1/dhw)補正の関数をCmm系ファサード関数に追加した(AMR,SIK)。 Oct 30 2018 [bugfix:0.3.7] Failure to compile in Windows Oct 30 2018 [update:0.3.7] update mask file by R.Kajimoto Oct 26 2018 [update:0.3.7-devNoPixelHed] The 2nd attempt to change the role of headPixelId attribute 仕様の変更を行った。 1. WiringInfoで、headPixelIdの属性値が正確に書かれていなくても動作するようにした。 上を廃止、以下のようにした。 1. headPixelIdがない、もしくは負の値の時はdetIdの増加に伴い、numPixelの値でPixelIdも増加 2. headPixelIdが0以上の整数の場合は、そこで一旦PixelIdがheadPixelIdにセットされて以降は1.で増加 よって基本は headPixelIdはなくすか"-1"をセットする。 どうしてもPixelIdを固定させたいDetectorに対して、headPixelIdを加える。 ただし、2.の場合、同じPixelIdがセットされてしまう可能性もある。その場合ヒストグラム化の時に同じPixelIdのどちらかにヒストグラムが貯まることになるので注意。 Oct 26 2018 [update:0.3.7-devNoPixelHed] The first attempt to change the role of headPixelId attribute WiringInfoで、headPixelIdの属性値が正確に書かれていなくても動作するようにした。 ただ、現時点での仕様は headPixelIdに何が書かれていても以下の動作となる。 - WiringInfoの最初のdetIdの最初のpixelをPixelId=0とする。 - それ以降は、detIdに抜け、マスクがかかっていても連番となる。 という仕様である。 .. code-block:: python ResetHeadPixelId(0,-1,0); SetInfoAsReader(); 次は、 - headPixelId属性がなくても動作するように - headPixelIdに値が設定されていれば、それを利用するように - headPixelIdあり・なしが同一ファイルの中に混在する場合の処理はどうするのか などを検討する。 Oct 24 2018 [bugfix:0.3.7] The issue that the core dump occures when UtsusemiD4Matrix reads small-size vbin file. UtsusemiD4Matrixで非常に小さなvbinファイルを読み込むとき、コアダンプする問題を修正。 Oct 24 2018 [bugfix] the issue that GetMultiEi does not work correctly. Oct 23 2018 [bugfix] Wrong NumOfPixel parameters of the added WiringInfo. Oct 23 2018 [update] Correct A-B-C parameters for PSDs around the beam catcher Oct 23 2018 [update] Correct A-B-C parameters for new installed PSD Oct 23 2018 [bugfix] fixed wrong index in WiringInfo Oct 23 2018 [update] Add the information parameters for New installed PSD Oct 11 2018 [bugfix:0.3.7] The issue of the failure to compile UtsusemiEventConv2Q codes UtsusemiEventConv2Qのコンパイルに失敗するのを修正。VisualCalcSqeをUtsusemiSqeCalc, UtusemiSqeCalcXtalParamsで置き換えた。 Oct 9 2018 [update:0.3.7] add a new arguments values pattern of UtsusemiReductionCommon::CalcPhi UtsusemiReductionCommon::CalcPhiにおいて、d_px, d_py, d_pzの値はPolar Angle及びAzim Angleの尤度の計算に使用される。 与えられる値による尤度計算の挙動を変更した。 - d_px,d_py,d_pzが全て0の時(デフォルト): UTSUSEMI_KEY_HEAD_TYPICALPIXELSIZEを利用する - d_px,d_py,d_pzが全て負の時(SAS環境で使用): 尤度を0 - d_px,d_py,d_pzが正の値の時: 通常の計算 Oct 3 2018 [bugfix] The issue that CuiCtrlVisContM does not work correctly CuiCtrlVisContMでいかに対応。 - DoSliceでエラーが発生する問題(UtsusemiSqeCalc::Sliceの引数の仕様が変わったため) - SaveFigureOfM2Plotでプロット図上のタイトルが正しく表示されない問題 Sep 25 2018 [update:0.3.7] Change the treatment of functions on BaseCommands group BaseCommandsElaとBaseCommandsInElaの先頭に from ana.Reduction.BaseCommands import * を加えることで、BaseCommandsグループの関数を使用する時には BaseCommandsEla か BaseCommandsInEla をimportするだけで良いようにした。 すなわち、これまで import ana.Reduction.BaseCommands as BaseCom import ana.Reduction.BaseCommandsInEla as BCI などとしていたが、 import ana.Reduction.BaseCommandsInEla as BaseCom とするだけで、BaseCommandsの関数も BaseCommandsInElaの関数も呼び出せるようになった。 これに伴い、facade/Cmm.py, facade/DR.py なども変更を加えた。 Sep 25 2018 [update:0.3.7] Fix the issue of the possibility that WiringInfoEditorBase::PutNumOfPixelForDet returns wrong value Aug 24 2018 [update] update Makefile.obj Aug 24 2018 [update] Remove BoseFactorChoppers class BoseFactorChoppers classのコードをobsoleteフォルダに移動し、関連するコードを修正した。 Aug 24 2018 [update] Replace some double literals in C++ code MlfHeader.hhにて定義された定数を利用し、いくつかの数値のリテラルを置き換えた。 あと、WiringInfoEdotr系で使用される単位変換用キーコードの大文字・小文字に揺らぎがある可能性があるので、修正した。 Aug 24 2018 [update] Add string constants in UtsusemiHeader to replace string literals in C++ code about detType UtsusemiHeader.hhにて以下を定義し、 C++コード内で使用されている文字列のリテラルを置き換えた。 UTSUSEMI_KEYHEAD_DETTYPE_UPSD = "UPSD" UTSUSEMI_KEYHEAD_DETTYPE_MON = "MON" UTSUSEMI_KEYHEAD_DETTYPE_TRIGNET = "TRIGNET" Aug 23 2018 [update] Replace string literals in C++ code with string constants in UtsusemiHeader.hh UtsusemiHeader.hhにて定義された文字定数を利用して、 C++コード内で使用されている文字列のリテラルを置き換えた。 Aug 23 2018 [update] Define string constants in UtsusemiHeader.hh as a replacement for string literal in C++ codes. UtsusemiHeader.hhに, C++コード内で使用されている文字列のリテラルを置き換える文字定数を定義した。 Aug 21 2018 [update:devCorrectFuncs] update files for C++ compile. Aug 21 2018 [update:devCorrectFuncs] Remove ConvertToSPEChoppers class and UtsusemiHistogramBinToPoint class - ConvertToSPEChoppers は他で使用されていない、かつ中身がおかしいので削除した - UtsusemiHistogramBinToPoint は他で使用されておらず、かつ同様の関数をUtsusemiReductionCommon::NormByBinWidthで使用できるので削除した Aug 21 2018 [update:devCorrectFuncs] Apply UtsusemiReductionInEla funcs to data reduction part in UtsusemiD4Matrix2 - UtsusemiD4Matrix2のデータリダクション部分をUtsusemiReductionInEla クラスで置き換えた。 - UtsusemiD4Matrix2でUtsusemiEventDataConverterNeunetのインスタンスをUtsusemiGetNeunetHistogramから取り出すメソッドを追加。 - UtsusemiReductionCommon::CalcPhiのプロセスキーを変更。 Aug 20 2018 [update:devCorrectFuncs] Remove ToPowderChoppers class ToPowderChoppers classのコードをobsoleteフォルダに移動し、関連するコードを修正した。 また、UtsusemiHeader::UTSUSEMIMANYOVERSIONを'0.3.7'にあげた。 Aug 19 2018 [update:devCorrectFuncs] Remove KiKfCorrection class KiKfCorrection classのコードをobsoleteフォルダに移動し、関連するコードを修正した。 Aug 19 2018 [update:devCorrectFuncs] Remove D4Matrix class D4Matrix classのコードをobsoleteフォルダに移動し、関連するコードを修正した。 Aug 19 2018 [update:devCorrectFuncs] Remove PhiCalculation class PhiCalculation classのコードをobsoleteフォルダに移動し、関連するコードを修正した。 Aug 19 2018 [update:devCorrectFuncs] Remove UtsusemiD4MatOnMem from manyo code UtsusemiD4MatOnMemのコードをobsoleteフォルダに移動し、関連するコードを修正した。 Aug 19 2018 [update:devCorrectFuncs] Add NormByKickers func in UtsusemiReductionCommon Kickerカウントでノーマライズする機能を追加した。 あと、いくつかのエラーメッセージで_MessageTag文字列が2回続くことがあるのを修正した。 Aug 17 2018 [update:devCorrectFuncs] Add dHWCorrect func in UtsusemiGetNeunetHistogram::SetElementContainerMatrix 1.0/Δhw 補正を行う関数UtuseumiReductionCommon::dHWCorrectを - UtsusemiGetNeunetHistogram::SetElementContainerMatrix 内に追加した その結果、 - python-utsusemi/ana/Reduction/BaseCommands::GetNeunetHist から、不要となったPhiCalclationを削除した また、いくつか誤っていたコメント文を修正し、UtsusemiGetNeunetHistogram::SetElementContainerMatrix でSetMaskに失敗した時の戻り値をFalseに確定した。 Aug 17 2018 [update:devCorrectFuncs] Add dHWCorrection func in BaseCommandsInEla.py 1.0/Δhw 補正を行う関数dHWCorrectionをBaseCommandsInElaに追加した。中身はUtsusemiReductionInEla::dHWCorrectの実行。 また、dHWCorrectionを - GetDataOfMonochroEi2 - GetDataOfMonochroEi3 の中に追加し、この関数で取り出したデータはbin幅補正されているものとなる。 あと不要なDoMaskなどを消した。 Aug 17 2018 [bugfix] Compile error about Python API on Python 3 Python2で使用できるPython API のいくつかが、Python3では変更になったり、なくなったものがあるので、それらを修正した。 Aug 8 2018 [update] refined and unified data reduction codes 補正系のC++コードを統合する最初の一手。 - UtsusemiReductionCommon - UtsusemiReductionInEla を準備する。 +-----------------------+-----------------+------------------------------------------------------------------------+ |クラス名 |メソッド |説明 | +=======================+=================+========================================================================+ |UtsusemiReductionCommon|CalcPhi |Polar angleとAzimuth angleを計算しヘッダへ入れる(PhiCalcurationと同等)| | +-----------------+------------------------------------------------------------------------+ | |NormByBinWidth |SetKeysで指定されたX軸のbin幅で強度をわる。 | | | |ヘッダに"isHistogram=0"を追記。将来的には ec->HistToScat() を利用。 | | +-----------------+------------------------------------------------------------------------+ | |NormBySolidAngle |立体角補正関数を行う | | +-----------------+------------------------------------------------------------------------+ | |SolidAngleCorrect|NormBySolidAngleを呼び出す | +-----------------------+-----------------+------------------------------------------------------------------------+ |UtsusemiReductionInEla |上記のメソッド |ReductionCommonを継承しているので、CalcPhiなども使用できる | | +-----------------+------------------------------------------------------------------------+ | |KiKfCorrect |KiKfCorrectionと同じ | | +-----------------+------------------------------------------------------------------------+ | |dHWCorrect |横軸"Energy"(hw)のbin幅で割る、つまり1/dhw補正を行う | +-----------------------+-----------------+------------------------------------------------------------------------+ Aug 8 2018 [bugfix] small bugfix about error to add L2 information to Header and import module Jul 18 2018 [update] divide functions in BaseCommands.py into ones for elastic and inelastic, unify functions in DR.py into BaseCommandsIne.py. BaseCommands.pyのうち、Elasticで使用する関数とInelasticで使用する関数に分けた。 それに関わる関数の呼び出し側を修正した。 SIKとAMRのDR.pyの関数をBaseCommandsIne.pyに移動した。 Jun 18 2018 [update] working for issue no. 46 to remove literal from codes 4 コードに含まれるリテラルをなくす。 WiringInfoで使用されていたいくつかのリテラルを置き換えた。 特にUtsusemiFrameBoundaryInfoに関して、BoundaryTypeを定義し、それを利用するように変えた。 その際に、WiringInfoEditorBaseにFrameBoundaryInfoがあると、WiringInfoConversionDictionaryからincludeの関係性からか、FrameBoundaryInfoが呼び出せないことがわかったので、新たにWiringInfoDataBaseクラスを作成し、WiringInfoEditorBaseにあったいくつかのクラス(WiringInfo.xmlのTAGの情報やそれぞれのタグの情報を蓄えるクラス)をまとめて移動させた。 Jun 18 2018 [update] working for issue no. 46 to remove literal from codes 3 コードに含まれるリテラルをなくす。 今回は、ElementContainerのベクトルやヘッダ情報のキーとして使用していた文字列のリテラルを撤廃する試み。 検出器の種類("TYPE")とその値("PSD","uPSD",...)を文字型定数に置き直した。 Jun 18 2018 [update] working for issue no. 46 to remove literal from codes 2 コードに含まれるリテラルをなくす。 今回は、ElementContainerのベクトルやヘッダ情報のキーとして使用していた文字列のリテラルを撤廃する試み。 いくつか紛らわしいキーがあったので修正。 Jun 18 2018 [update] working for issue no. 46 to remove literal from codes コードに含まれるリテラルをなくす。 今回は、ElementContainerのベクトルやヘッダ情報のキーとして使用していた文字列のリテラルを撤廃する試み。 Jun 15 2018 [update] continuous works for issueNo40 on Python facade codes ana.Reduction.DefaultInstParams.pyを極力使用しないようにするために, Pythonのfacadeコードで使用されている関数や機能の置き換えを行なった。 - 他の装置でも使用しているため、確認が重要。 - DetectorInfoにいくつか情報を追記する必要もある。 Jun 15 2018 [update] merge branch issueNo40 ana.Reduction.DefaultInstParams.pyを極力使用しないようにする開発のブランチをマージした。 気をつけないといけないのは、他の装置でも使用しているため、確認が重要。 また、DetectorInfoにいくつか情報を追記する必要もある。 ただし、まだDefが使用されているのでfacade関連で修正が必要 Jun 15 2018 [update] update do_make_Utsusemi.py 0.3.6 ======= ----------------------- 0.3.6.181030 or later ----------------------- Aug 7 2018 [bugfix:0.3.6-devD4mat2] change the method to store data of StepByStep method in D4Mat2SlicerQ and small bugfix. D4Mat2SlicerQのStepByStep法での処理で、これまでデータの保存をRun Number毎に保存していたが、同じ角度を複数のRunで測定することもあるので、角度毎にデータを保存するようにした。 またスライスのところで軸を与えるコンボボックスのアクションが正しく反映されていなかったので、修正した。ただ、なぜ以前の方法が有効ではないのかが不明。 Aug 7 2018 [bugfix:0.3.6-devD4mat2] change the method to store data of StepByStep method in D4Mat2Slicer. D4Mat2SlicerのStepByStep法での処理で、これまでデータの保存をRun Number毎に保存していたが、同じ角度を複数のRunで測定することもあるので、角度毎にデータを保存するようにした。 Jul 30 2018 [bugfix] the issue about compile error on Windows Jul 27 2018 [bugfix:0.3.6] Add GUI for diagonal folding on D4MatSlicerQ.py D4MatSlicerQ.pyにも対角線Folding機能を動作させるGUIを追加した。 Jul 27 2018 [bugfix:0.3.6-devD4mat1] Unified names of python methods between UtsusemiD4Matrix and UtsusemiD4Matrix2, removed unuse codes, some small bugfixes. - UtsusemiD4Matrixの動作テスト終了 - UtsusemiD4Matrixの不要なコードを削除 - UtsusemiD4Matrix, UtsusemiD4Matrix2のPython利用のメソッド名を統一 - UtsusemiD4Matrix2:::GetAxLimit()コアダンプする問題の修正 - D4Matrix::SliceMat3Dのエラー計算に間違いがあるのを修正 - vis/D4Mat2Slicer.py, D4Mat2SlicerQ.pyでのバグ修正 メソッド名は以下のように統一した *Slice2d* 及び *Slice3d* のみを使用することに。 .. code-block:: python bool Slice2d( ElementContainerArray, list, list, ... ) ElementContainerArray Slice2d( list, list, list, ... ) bool Slice3d( ElementContainerMatrix, list, list, ... ) ElementContainerMatrix Slice3d( list, list, list, ... ) 以下を廃止し、それに伴うコードの修正 - UtsusemiD4Matrix2::Slice2D - UtsusemiD4Matrix2::Slice3D Jul 26 2018 [bugfix:0.3.6-devD4mat1] Add Python methods which has same name as UtsusemiD4Matrix2 and do refactoring of OutputText3D method - OutputText3Dのスライス部分を_SliceMatで置き換えた(リファクタリング) - UtsusemiD4Matrix2とPythonから使える関数名を揃えるために **Slice2d** (<- SliceMat ) 及び **Slice3d** (<- SliceMat3D )を追加。 Jul 23 2018 [bugfix:0.3.6-devD4mat1] Add method for diagonal folding on D4Matrix and rename to UtsusemiD4Matrix for refactoring D4Matrixに対角線Folding機能を付加する。 ついでに関数名の統一のために新たにUtsusemiD4Matrixクラスを作成し、そこで以下を行なった。 - 対角線Foldingの追加 - リファクタリング(スライスコードの統合) Jul 13 2018 [update:0.3.6] small improvement of Makefile Jul 12 2018 [bugfix:0.3.6] fix the issue that histogram creation on manyo-Emaki causes core dump. manyo-Emakiでのヒストグラム化でコアダンプする問題を解決した。 0.3.6になって、FrameBoundaryの扱いを変更した際に、必ずPixelPosition情報が必要な形になっていた。 匠の場合、処理的にはtofでTime Focusingするため、PixelPosition情報は不要であり、EmakiReadout1dEventDecoder.cc内で _isRequiredPosiInfo=falseとしている。 結果、PixelPositionがないのにFrameBoundaryを指定しようとしてエラーとなった。 それを回避するために、TOFでFrameBoundaryを指定する際には、PixelPosition情報が不要とした。 ただし_pixelPositionVectのサイズの形でPixelIdの最大値は必要なので、NULLで_pixelPositionVectを与えるようにした。 Jun 29 2018 [bugfix:0.3.6] fix the issue of wrong treating arguments of UtsusemiD4Matrix2::AllocateD4MatOnDisk and add CLI method for UtsusemiD4Matrix2 and UtsusemiSqeCalc D4Mat2SlicerのAllocateD4MatOnDisk機能をPython CLIから使うために引数をPython Listで与える場合に、引数のチェックが間違っていたのを修正した。 ここでUtsusemiSqeCalcのCLIとメソッド名、及び戻り値の統一を図っている。 +---------------------------------------------+-------------------------------------------------------------------------------------+ |PyObject\* UtsusemiD4Matrix2::PutQRange |使いやすくするために、UtsusemiD4Matrix2にGetAxLimitの結果をリストで返すメソッドを追加| +---------------------------------------------+-------------------------------------------------------------------------------------+ |vector UtsusemiSqeCalc::GetAxLimit() |追加 | +---------------------------------------------+-------------------------------------------------------------------------------------+ |PyObject\* UtsusemiSqeCalc::PutQRange() |戻り値をListに変更 | +---------------------------------------------+-------------------------------------------------------------------------------------+ Jun 29 2018 [Update:0.3.6] add new methods for CLI to UtsusemiD4Matrix2 and do refactoring. D4Mat2Slicerの機能をPython CUIから使えるようにするために、UtsusemiD4Matrix2に以下のメソッドを追加し、リファクタリングした - UtsusemiD4Matrix2::Slice2D - UtsusemiD4Matrix2::Slice3D ここでUtsusemiSqeCalcのCLIとの親和性を高めるため、Python Listの解釈部分を共通の UtsusemiSqeCalcXmlParamsクラスを利用するようにした。 またSlice3Dに対しても利用できるように - UtsusemiSqeCalcXmlParams::SetSliceAxes も改良した。 結果として、以下のような形に統一されることになる。 .. code-block:: python UD = Manyo.Utsusemi.UtsusemiD4Matrix2() ... eca = Manyo.ElementContainerArray() UD.Slice3D( eca, ax1, ax2,... ) Jun 29 2018 [update:0.3.6] attempt to decrease memory used for D4Mat2 Jun 29 2018 [bugfix:0.3.6] fix the issue that the file path of data reduction script saved in a param file is not loaded on D4Mat2Slicer(Q) D4Mat2Slicer(Q) において、Param Fileを読み込んだ時に、Data Reduction用スクリプトが正しく読み込まれないことに対処した。 Jun 29 2018 [bugfix:0.3.6] fix codes to improve actions for On-Line Mode button on D4Mat2Slicer(Q) D4Mat2Slicer(Q) において、"On-Line Mode" ボタンの挙動(起動直後に押せるとか)がおかしい部分を修正した。 D4Mat2SlicerQで仕様どうりに動作しない部分を修正した。 Jun 28 2018 [update:0.3.6] Remove out-of-use comment lines. Jun 28 2018 [debug:0.3.6-devD4mat2] D4Mat2SlicerQ does not work. Jun 28 2018 [update:0.3.6-devD4mat2] Update codes to use external script of data reduction on OnLine differential treatment in D4Mat2Slicer(Q) D4Mat2Slicer(Q)のOnLineモードにおいて、データリダクション用外部スクリプトを使えるようにした。 外部スクリプトを利用しない場合はこれまで通り、利用する場合にはデータリダクション関数の実行に時間がかかることもあり、 スライス+プロッタとの連携がうまくいかないので、以下のように流れを変更した。 +-+----------+--------------------------------------+ |1|OnAUupdate| | +-+----------+--------------------------------------+ |2|OnAUstart | | +-+----------+--------------------------------------+ |3|OnAUupdate|以下を繰り返す | | | | | | | |- そこまでのデータでスライス+プロッタ| | | |- Update | | | |- Data Reduction | +-+----------+--------------------------------------+ Jun 28 2018 [update:0.3.6-devD4mat2] fefactoring UtsusemiD4Matrix2 to unify codes having same role. UtsusemiD4Matrix2内の同じ役割を持つコードを統合した。 ImportEcmsContRotとImportEcmsContRotPseudoOnLineで使用される同等部分をImportEcmContRotで統合した。 角度のCaseIdで高速にImportEcmを回す場合(ImportEcmsContRotとImportEcmsContRotPseudoOnLine)も、各角度ごとにデータリダクションを行なってImportEcmを行う場合も同じ ImportEcmContRot を使用できるようになった。 Jun 26 2018 [update:0.3.6-devD4mat2] update and refine codes to save a template file for external python script for data reduction on D4Mat2Slicer(Q) D4Mat2Slicer(Q) の連続回転測定処理モードで、データリダクション用に外部のスクリプトのテンプレートを保存できるようにした 作業残り OnLineでの動作確認 Jun 26 2018 [bugfix:0.3.6] the issue of wrong measurement periods returned from MakeRunList when there are several files from one module (numbering) Jun 26 2018 [update:0.3.6-devD4mat2] update codes to use external python script for data reduction on D4Mat2Slicer(Q) D4Mat2Slicer(Q) の連続回転測定処理モードで、データリダクション用に外部のスクリプトを利用できるようにした 作業残り Templateファイルの書き出し部分とOnLineでの動作確認 Jun 26 2018 [update:0.3.6-devD4mat2] update codes to use mask file in continuous rotation mode on D4Mat2Slicer and D4Mat2SlicerQ D4Mat2Slicer(Q) の連続回転測定処理モードで、マスクファイルを使用できるようにした。 Jun 26 2018 [update:0.3.6-devD4mat2] apply the change of D4Mat2Slicer to D4Mat2SlicerQ D4Mat2SlicerのアップデートをD4Mat2SlicerQへ適応させた。 また、実行中に発生したいくつかのバグ(GUIとの連携部分)も修正した。 Jun 26 2018 [update:0.3.6-devD4mat2] remove useless lines Jun 25 2018 [bugfix:0.3.6] UtsusemiSqeCalcXmlParams does not load correctly the rotateion steps UtsusemiSqeCalcXmlParams::LoadFile でXtalParam.xmlを読み込んだ時に のフォーマットを正しく読み込めていなかった。 本来はY:-50.0,Z:30.0 とカンマ区切りで回転軸と値を指定するのが仕様だが、最初の一つの軸しか読み込めていなかった。 Jun 25 2018 [update:0.3.6:devD4mat2] Refactoring D4Mat2Slicer and UtsusemiD4Matrix2 UtsusemiD4Matrix2のメソッドに関してD4Mat2Slicer内での使用状況から以下のような変更を行った。 - できるだけ引数の数を減らす - 単機能のメソッドに分ける - 同じ設定をしている部分を統合した また、同じようなメソッド名が使用されているので メソッド名で機能をわかりやすくなるように変更した。 *削除* +---------------------------------------------------+ |UtsusemiD4Matrix2::SetCrystalParameters | +---------------------------------------------------+ |UtsusemiD4Matrix2::ImportEcms | +---------------------------------------------------+ |UtsusemiD4Matrix2::ImportEcmsContRotPsuedOnLine | +---------------------------------------------------+ *追加* +----------------------------------------------------+ |UtsusemiD4Matrix2::SetCrystalParametersFromInnerHead| +----------------------------------------------------+ |UtsusemiD4Matrix2::SetD4MatSampleInfo | +----------------------------------------------------+ |UtsusemiD4Matrix2::SetD4MatDataReductionInfo | +----------------------------------------------------+ |UtsusemiD4Matrix2::SetD4MatProjectionAxesInfo | +----------------------------------------------------+ |UtsusemiD4Matrix2::SetD4MatRunNo | +----------------------------------------------------+ |UtsusemiD4Matrix2::ImportEcmsContRot | +----------------------------------------------------+ |UtsusemiD4Matrix2::ImportEcmsContRotPseudoOnLine | +----------------------------------------------------+ *削除予備軍* +-------------------------------------+ |UtsusemiD4Matrix2::SetD4MatParameters| +-------------------------------------+ Jun 25 2018 [update:0.3.6] improve titles of 2DPlot M2Plotでシングルプロット状態の時のサブタイトルの位置を変更した。 Jun 25 2018 [update:0.3.6] improve titles of 2DPlot ( D4Matrx and VisualContM ) VisualContMとD4MatSlicerで、2Dプロットをした時に、Foldingの情報もTitle(sub)に表示するようにした。 Jun 20 2018 [update] Update codes for renaming to UtsusemiD4Matrix2 Jun 20 2018 [update] rename UtsusemiD4MatOnMem2 to UtsusemiD4Matrix2 Jun 19 2018 [update:0.3.6] improve CUI for D4Matrix D4Matrixをより簡単にPythonからCUIで利用できるように、戻り値をboolやlistに変更した。 +-----------------------------------+ |D4Matrix::OpenMat | +-----------------------------------+ |D4Matrix::AddToMatFromBin | +-----------------------------------+ |D4Matrix::AddToMatFromBinFolder | +-----------------------------------+ |D4Matrix::AllocateNewMat | +-----------------------------------+ |D4Matrix::SliceMat | +-----------------------------------+ |D4Matrix::SliceMat3D | +-----------------------------------+ |D4Matrix::OutputText3D | +-----------------------------------+ |D4Matrix::DumpD4MatToFile | +-----------------------------------+ |D4Matrix::EstimateRangeOfVirtualMat| +-----------------------------------+ |D4Matrix::AllocateNewMat | +-----------------------------------+ またそれに伴うコードの変更、及びコメントの修正・追記などを行なった。 Jun 19 2018 [update:0.3.6] improve CUI for D4Matrix and small bugfix D4MatrixをよりPythonからCUIで利用できるようにいくつかの機能を追加改変した。 - Python Listを引数に利用できるようにした +-----------------------------------+----------------+ |D4Matrix::AllocateNewMat | | +-----------------------------------+----------------+ |D4Matrix::SliceMat | | +-----------------------------------+----------------+ |D4Matrix::SetAxTitles | | +-----------------------------------+----------------+ |D4Matrix::SliceMat3D | | +-----------------------------------+----------------+ |D4Matrix::OutputText3D | | +-----------------------------------+----------------+ |D4Matrix::DumpD4MatToFile | | +-----------------------------------+----------------+ |D4Matrix::AllocateVirtualMat | | +-----------------------------------+----------------+ |D4Matrix::EstimateRangeOfVirtualMat|メソッド名も変更| +-----------------------------------+----------------+ - Pythonで使う際に便利な機能を追加した +----------------------------------+ |D4Matrix::AddToMatFromBinFolder | +----------------------------------+ |D4Matrix::SetRunNoForVirtualMatrix| +----------------------------------+ |D4Matrix::ROTATE_AXIS_X | +----------------------------------+ |D4Matrix::ROTATE_AXIS_Y | +----------------------------------+ |D4Matrix::ROTATE_AXIS_Z | +----------------------------------+ - D4MatrixのVirtual Matrix Panelで指定できる Rotation で 'Y'を指定しても利用されない問題を修正した - D4Matrix::PutSlicedECAの戻り値ECAをダイレクトにM2Plotに流し込むと強度がδhw分だけ大きくなる問題を修正した(ヘッダにisHistogram) - D4Matrixで引数にfoldingを与えるとき、空っぽでも大丈夫なようにした - UtsusemiSqeCalcにリテラルを減らすための定数を追加した +------------------------------+ |UtsusemiSqeCalc::ROTATE_AXIS_X| +------------------------------+ |UtsusemiSqeCalc::ROTATE_AXIS_Y| +------------------------------+ |UtsusemiSqeCalc::ROTATE_AXIS_Z| +------------------------------+ - ana/Reduction/D4Mat_Manyo.py バグ修正 - vis/D4MatSlicer, vis/D4MatSlicerQ で D4Matrix::EstimateRangeOfVirtualMatを使用するように変更 Jun 15 2018 [update:0.3.6] improve initial values for arguments on DR.GetDataOfMonochroEi3 - PulseHeightの初期値を"-"にした(WiringInfoの値をそのまま使用) - SIK/facade/DR.pyにも反映した Jun 15 2018 [bugfix:0.3.6] some error vallues are nan UtsusemiSubtractDarcBackground のエラー値がたまにnanとなる。 おそらく強度が負となっていたため、sqrtでおかしくなったと思われる。 Jun 15 2018 [update:0.3.6] Revise normalization factor in UtsusemiSubtractDarkBackground class UtsusemiSubtractDarcBackground クラスでのノーマライズに使用する値を測定時間ではなくキッカー数にした。 試料のカウント数 - (試料測定キッカー数/ダーク測定キッカー数)*ダークのカウント数 を新たに試料のカウント数として定義するようにした。 Jun 15 2018 [update:0.3.6] Add UtsusemiSubtractDarkBackground class and script to treat this DR.GetDataOfMonochroEi3の引数において TimeDepBack に、"DARK:"の引数を与えられるようにした。 これにより、経過時間にのみ起因するダークバックグランドを引くようにした。 その際、UtsusemiSubtractDarcBackground クラスを利用する。 これにより、 試料のカウント数 - (試料測定時間/ダーク測定時間)*ダークのカウント数 を新たに試料のカウント数として定義するようにした。 Jun 15 2018 [update:0.3.6] Improve argmuments on DR.GetDataOfMonochroEi3 DR.GetDataOfMonochroEi3の引数において下記のようにした。 PulseHeight 値が一つの場合はPulseHeightの下限を与えるようにした。その時上限は4096となる。 BaseCommands plitStringParametersの区切りとして:も使えるようにした。 Jun 15 2018 [update:0.3.6] Add new argmuments on DR.GetDataOfMonochroEi3 to give PulseHeight range and Time-depend-background DR.GetDataOfMonochroEi3に以下の引数を与えられるようにした。 PulseHeight Pulse Heightの範囲を与える。フォーマットはStringで:区切り "560:4096" TimeDepBack 時間依存のバックグランドを与える。将来様々な指定方法がとられることを見越して今回はTOFで与えることを明確化するために、"TOF"キーを利用する("TOF:36000-38000")。 Jun 14 2018 [update:0.3.6] futurize D4MatSlicerQ.py D4Mat2SlicerQ.py for python3 Jun 14 2018 [update:0.3.6-devD4mat2Q] add closeEvent method for D4Mat2SlicerQ Jun 13 2018 [update:0.3.6-devD4mat2Q] update codes to work at a grance Jun 12 2018 [update:0.3.6-devD4mat2Q] Change object name of the sub window for data reduction panel Jun 12 2018 [update:0.3.6-devD4mat2Q] Start D4mat2SlicerQ Jun 5 2018 [update:0.3.6] Add new methods in CuiD2Chart.py to change the main and sub titles and axes labels CuiD2Chartにタイトル(メイン・サブ)と軸ラベルを設定するメソッドを追加した。 - CuiD2Chart::SetTitles( str mainT, str subT="" ) - CuiD2Chart::SetAxisLabel( str x_label, str y_label ) Jun 5 2018 [update:0.3.6] Improved CuiD2Chart.py to switch log scaling and apply smoothing CuiD2ChartにLogスケールの設定とスムージングの設定を追加した。 - CuiD2Chart::SetLog( bool Flag) - CuiD2Chart::SetSmooth( bool Flag[, float Window] ) Jun 1 2018 [update:0.3.6-devD4mat2] Refactoring about DataStoreContRot Jun 1 2018 [bugfix:0.3.6-devD4mat2] ImportEcms is not working correctly on using D4MatGroup UtsusemiD4MatOnMem2でD4MatGroupにECMを追加する際に、おかしなやり方をしてたのを修正。 Jun 1 2018 [update:0.3.6-devD4mat2] improve the treatment of SampleInfo values when the box is empty D4Mat2Slicerで以下の点を改良 - SampleInfoの欄が空白の場合は、強制的に0.0を入れることにした。 Jun 1 2018 [update:0.3.6] Small improvements on GUI of D4MatSlicer2 D4Mat2Slicerで以下の点を修正した - DataReductionスクリプトのテンプレートの若干の変更 - GUIのパーツの微調整 Jun 1 2018 [update:0.3.6-devD4mat2] update manyo/Makefile.obj Jun 1 2018 [update:0.3.6-devD4mat2] update D4Mat2Slicer.py D4Mat2Slicerで以下の点を改良した - XtalParam.xmlからの読み込みで、データリダクション用のスクリプトが正しく読み込めなかったのを修正 - DataReuctionPanelで、ContRotationとStepByStepの個別設定部分をそれぞれパネル化し、パネルごとEnable制御するようにした。またアクティブでないときに枠線なども薄くなるようにした - DataReductionを繰り返し行うときにメモリリークが起きそうだったので、Clearするメソッドを実行するようにした Jun 1 2018 [bugfix:0.3.6-devD4mat2] Fix some bugs on Utsusemi.i UtsusemiD4MatOnMem2.cc UtsusemiSqeCalcXtalParams.cc 以下のバグを修正 - Utsusemi.i : UtsusemiSqeCalcXtalParamsが追加されていなかった - UtsusemiSqeCalcXtalParams : Rotation Stepsの情報取得部分に誤りがあった - UtsusemiD4matOnMem2.cc : いくつかメモリリークが考えられそうなところがあった May 31 2018 [update:0.3.6-devD4mat2] Add new function to choose the script file to do Data Reduction by given script on Step By Step method Step by Step解析で、データリダクションの部分を外部スクリプトを使用できるようにした。 また、テンプレートファイルを作成するようにもした。 May 31 2018 [update:0.3.6-devD4mat2] Add new function to chose Mask file on Data Reduction for Step By Step method Step by Step解析において、DataReduction時のMask Fileを選択できるようにした。 - DataReductionパネルにGUIを追加 次は、Step by Step解析で、データリダクションの部分を外部スクリプトを使用できるようにするが、そのGUIを用意した。 May 30 2018 [bugfix:0.3.6] The issue that angle calculation is not correct for BL01 - RunList.txtからのgonio値を、処理に必要な角度に変換する部分でBL01のデフォルトと異なるやり方だったので修正した - GUIの表示も First Angle から Gonio at Zero に変更 - DataReductionPanel::RunListFirstGonio に関連するコードを削除 - Projection情報が不要な場合(StepByStepでのDataReduction)でも試料や射影情報を取得している無駄な部分を修正 - SampleParamなど不要な引数を作成、使用しているコードを削除 - 試料情報の回転補正のテキスト欄がDisableにもかかわらず読み込んで値を得ようとしている部分があるのを修正 May 30 2018 [update:0.3.6-devD4mat2] Add new class to UtsusemiD4MatOnMem2 to reduce memory UtsusemiD4MatOnMemは内部で全データをElementContainerArrayに保存している。これは将来ファイルへの保存を考えてのことであったが、全部のvectorがDoubleなので、非常にメモリを食う。一方で、D4matはもともとファイルサイズやメモリサイズを考慮し、floatにしている。 よってUtsusemiD4MatOnMemのデータ保持もfloatを使うように試してみた。 D4MatOne 1つの角度のデータを保持。 D4MatGroup D4MatOneを保持。 それぞれHeaderBaseを持つ。結果としてメモリの使用量が半分になった。 May 30 2018 [update:0.3.6] Add new methods to UtsusemiD4MatOnMem for CUI control with Python List object UtsusemiD4MatOnMemをPythonコマンドラインから簡単に使えるようにPythonリストを使えるようにした +-----------------------------------------+ |UtsusemiD4MatOnMem::SetCrystalParameters | +-----------------------------------------+ |UtsusemiD4MatOnMem::SetD4MatParameters | +-----------------------------------------+ |UtsusemiD4MatOnMem::ImportEcms | +-----------------------------------------+ |UtsusemiD4MatOnMem::Slice2d | +-----------------------------------------+ |UtsusemiD4MatOnMem::Slice3d | +-----------------------------------------+ |UtsusemiD4MatOnMem::AllocateD4MatOnDisk | +-----------------------------------------+ |UtsusemiD4MatOnMem::ProjectionStepByStepd| +-----------------------------------------+ May 30 2018 [update:0.3.6] Add new function to output SPE file on Step By Step mode of D4Mat2Slicer D4Mat2Slicer で Step By Step モードの時に SPEファイルへの書き出しを可能とした - UtsusemiD4MatOnMem::ExportEcmFromStepByStepの追加 - D4matに、PixelPositionやPolarAngle, AzimAngleの幅も記録 - D4Mat2Slicer - Step By Stepモード時でのSPEファイルへの書き出し追加 - ボタンの生死のコントロールをリファクタリング May 29 2018 [update] add xml and mask files from BL May 29 2018 [bugfix:0.3.6] small issues of D4MatSlicerQ.py D4MatSlicerQ.pyで、下記のような問題があったので修正した - Slice3Dで uGao/SliceViewer3Dを起動できなかった - 起動直後にいくつかのパラメータの初期値が空だった - いくつかのファイルダイアログで、filterが効いていなかった May 28 2018 [update:0.3.6] improve vis/CuiD2Chart.py to use ElementContainerArray vis.CuiD2Chart.pyは、特に図を保存するために使用される。 このクラスにデータを渡す場合、これまではnumpyのmeshgridなどのmap形式のみだったが、D2Vis.D2Matrixクラスを利用してElementContainerArrayからでも渡せるようにした。 May 28 2018 [update:0.3.6] add UtsusemiSqeCalc::SaveXtalParam and bugfix of UtsusemiSqeCalcXtalParam::SaveFile UtsusemiSqeCalc::SaveXtalParamを追加した。 またUtsusemiSqeCalcXtalParam::SaveFileを行った時のXtalParam.xmlのフォーマットに間違いがあったので修正した。 May 25 2018 [update:0.3.6-devSqe] refactoring D4Mat2Slicer.py May 25 2018 [update:0.3.6-devSqe] refactoring D4Mat2Slicer.py May 25 2018 [update:0.3.6-devSqe] remove unused comments 不要と思われるコメント文を削除した。 May 25 2018 [bugfix:0.3.6-devSqe] the issue that parameters of Data Reduction are not loaded correctly on TreatXmlParams in D4mat2Slicer D4mat2Slicerの XtalParamから Data Reduction情報を読み取れない場合があるのを修正。 あと、GUI上のtypoを修正。 May 21 2018 [update:0.3.6-devSqe] improved TreatXmlParams on D4mat2Slicer D4mat2Slicerの XtalParamから Data Reduction情報を読み取る時に、すでに入力済みのパラメータがあった場合に確認するダイアログを追加した。 May 21 2018 [update:0.3.6-devSqe] refactoring of UtsusemiSqeCalc and UtsusemiSqeCalcXtalParams UtsusemiSqeCalc と UtsusemiSqeCalcXtalParams をリファクタリング。 May 21 2018 [update:0.3.6-devSqe] add new methods to enable to use python object as arguments UtsusemiSqeCalcクラスに下記のメソッドで引数としてPythonのリストが使用できるようにした。 UtsusemiSqeCalc::SetLatticeConstants UtsusemiSqeCalc::SetUVvector UtsusemiSqeCalc::SetRotationSteps UtsusemiSqeCalc::Projection UtsusemiSqeCalc::Slice これらは、UtsusemiSqeCalcXtalParamsクラスにPythonリストが使用できるメソッドを用意し、使用している。 また、XtalParam.xml読み込むメソッド UtsusemiSqeCalc::LoadXtalParam も追加した。 May 21 2018 [update:0.3.6-devSqe] rename VisuaCalcSqe to UtsusemiSqeCalc VisualCancSqeクラスをUtsusemiSqeCalcに変更した。 またそれに伴う各コードの変更を行った。 さらに将来のpython-utsusemi/vis/VisContMParams.pyの置き換えへ向けてUtsusemiSqeCalcXtalParamクラスを追加した。 ----------------------- 0.3.6.180521 or later ----------------------- May 21 2018 [update] add AMR mask file May 21 2018 [update:0.3.6] Change the order of searching FindParamFilePathとFindTempFilePathにおけるサーチパスを以下のように変えた。 1. カレントディレクトリ、もしくはフルパス 2. UTSUSEMI_USR_DIR (/opt/mlfsoft/python-utsusemi/XXX/ana/xml) 3. UTSUSEMI_USR_PRIV_HOME/ana/xml ( ~/ana/xml ) 以前は2->3->1だったが、カレントディレクトリを優先することにした。 May 20 2018 [bagfix:0.3.6] the issue that UtsusemiSetMask cannot treat old Mask.txt format Old mask treatment enable both "10." and "10" format like below 5.0 5.1 5.2 10. 12.0 12.1 12.2 But UtsusemiSetMask ignore "10." description. May 18 2018 [update:0.3.6] Add new functions on Step By Step mode on D4MatSlicer2 and arrange GUI layout D4Mat2Slicerに以下のような機能を追加した - 最初のRunの角度の値をRunListを読み込んでからでも再計算できるようにした - Step By Stepでの処理パラメータを保存・読み込みできるようにした - Data Reduction PanelのGUIの配置を最適化した - メインウィンドウのタイトルを"D4MatSlicer2"にした May 18 2018 [update:0.3.6] Add Step By Step mode of D4Mat2Slicer D4Mat2Slicer の Step By Step データの処理ができるように機能を加えた。 結果、ほぼrun_list.txtだけで解析ができるようになり、Projectionのやり直しが簡単になった。 同時に以下の仕様も追加した。 - StepByStepモードの時は、On-Line Modeのボタンをdisabledに - Data Reduction "Execute" ボタンを押す前は "Project" はdisabledに - 一度Data Reduction "Execute"を押した後に Experiment "Setting" ボタンを押すと落ちる。 May 16 2018 [update:0.3.6] update functions in python-utsusemi-VNR/facade by Kasai-san 笠井さんの修正を反映した。 May 16 2018 [update:0.3.6] Add two color maps used in M2Plot to SliceViewer3D SliceViewer3D の カラーマップに M2Plotで使用されている default と haxby を追加した。 May 14 2018 [bugfix:0.3.6] the issue that a kind way of description of mask.txt causes wrong results テキストによるmaskファイルのフォーマットで、 X の時は問題ないが、 X.Y が一つだけ書かれている時に、XのPSD自体がマスクされてしまうバグがあったので修正した。 May 14 2018 [update:0.3.6] Change the way to show some messages from cout to UtsusemiMessage, UtsusemiError and UtsusemiWarning cout を用いてメッセージ表示されていた部分のいくつかを UtsusemiHeader::UtsusemiMessage, UtsusemiError, UtsusemiWarningで置き換えた。また不要なメッセージも一部コメントアウトした。 この作業は継続的に行う。 May 7 2018 [bugfix:0.3.6] correct of the description for DetParam argument in GetNeunetHist May 7 2018 [bugfix:0.3.6] the issue that Segmentation fault happens when detId described in WiringInfo does not exist in DetectorInfo WiringInfoにあってDetectorInfoに記述のないdetIdにアクセスすると DetectorInfoEditorNeunet::Invalid detId (3000) のようにSegmentation faultが起きる問題に対処。 ない場合にないことを明確にする戻り値(空のVector)を戻すようにした。 Apr 26 2018 [update:0.3.6] remove DoMask function from DR.GetDataOfMonochroEi2 and DR.GetDataOfMonochroEi3 - DR.GetDataOfMonochroEi2やDR.GetDataOfMonochroEi3では、内部でBaseCommands::DoMaskを使用していたが、これをUtsusemiGetNeunetHistogramのMaskInfoを使用するように変更した。 - MakeRunListのファイルの保存先をカレントディレクトリがデフォルトになるようにした Apr 23 2018 [bugfix:0.3.6] The issue that invalid value returns from UtsusemiNeunetEventDecoderBase::DecodeEventData UtsusemiNeunetEventDecoderBase::DecodeEventDataは、有効なイベントならば1(_isNeuntronEvent), 2(_isT0Event), 3(_isClockEvent)をunsigned intで返し、不適当なら0を戻す。にもかかわらず、不適当なイベント(特にフレームバウンダリが設定されている、かつClockがないパターンで-1を返すようにしていた。unsigned intとしては不適当であるから、明示的に0を返すようにした。他の部分でも不敵であるということを明示するために0を返すようにした。 ----------------------- 0.3.6.180413 or later ----------------------- Apr 12 2018 [bugfix:0.3.6] The issue that twice Add Files In Folder causes the failure to update progress bar. D4MatSlicer で起動したまま連続して "Add Files In Folder"ボタンを押すと、プログレスバーの更新に失敗する問題を修正 D4Matrixデータを開いたまま新しいD4Matrixデータを作成する場合に、ファイルがクローズされていない可能性があるため、それを修正 Apr 12 2018 [bugfix:0.3.6] The issue that ana.Reduction.BaseCommands.VisContMOutputFileByPhi does not work correctly with XtalParam.xml including given rotation steps 回転測定での処理VisContMOutputFileByPhiにおいて、軸回転情報が含まれているXtalParam.xmlを用いた場合に、回転情報が正しく反映されない問題を修正した。 VisContMParams.pyで入力されたPhiがSampleRotationStepsが空でないと加えられないという処理だったため。 Apr 10 2018 [update:0.3.6] Add method to convert data to SPE files in D4Mat2Slicer D4Mat2Slicerに、データをSPEファイルに出力する機能とボタンを追加した。ただし動作確認はできていない。 ---------------- 0.3.6.180410 ---------------- Apr 9 2018 [bugfix:0.3.6] The issue that the masked data points are not treated correctly from VisualCalcSqe::ConvertToD4Mat and D4Mat::AddToMatFromBin VisualCalcSqe::ConvertToD4Matによるvbinファイルの書き出し、および、vbinファイルからD4Matrixへの書き込みの両方で、エラー値が負の場合に無視するように変更した。 [bugfix:0.3.6] The issue that the masked data points are not treated correctly at Slice in VisualCalcSqe VisualCalcSqe::Slice で、masked されたデータ点( error<0 )を正しく処理できない問題 ---------------- 0.3.6.180406 ---------------- Apr 6 2018 [bugfix:0.3.6] Change arguments of "Options" in GetNeunetHist TOF binをヒストグラムに加えるオプションのキーを *AddTofBin* とした。 [update:0.3.6] Unify arguments "AnaMode" and "ParamFiles" in GetNeunetHist() BaseCommands::GetNeunetHistの"AnaMode"と"ParamFiles"のパラメータを一つの"AnaMode"で指定するようにした。 +----------------------+-------------------------------------------------------------------------------------------------------------+ | |で指定したenviron_ana.xmlのパラメータファイルを使用 | +----------------------+-------------------------------------------------------------------------------------------------------------+ |,-,- |上と同じ意味 | +----------------------+-------------------------------------------------------------------------------------------------------------+ |,,- |で指定したenviron_ana.xmlのパラメータファイルを使用するが、WiringInfoは指定したものを使用 | +----------------------+-------------------------------------------------------------------------------------------------------------+ |,,|で指定したenviron_ana.xmlのパラメータファイルを使用するが、WiringInfoとDetectorInfoは指定したものを使用| +----------------------+-------------------------------------------------------------------------------------------------------------+ など。また、これを利用するコード - AMR/facade/Cmm.py - SIK/facade/Cmm.py - VNR/facade/Cmm.py も変更した。 Apr 5 2018 [update:0.3.6] Add methods to change flag to add tof binning vector to each EC, Change DoMask facade to use UtsusemiSetMask UtsusemiGetNeunetHistogram::SetFlagToAddToTofBin(bool) を追加した。 これはヒストグラム化した時に各ElementContainerにTOFのvectorも追加するかどうか決定するものである。デフォルトはFalse。 またこのフラグを変更できるように *BaseCommand::GetNeunetHist(Options)* で"IsAddTofBin:True"を認識するようにした。 これがOptionsに含まれていると、フラグをTrueにする。 さらに、DoMaskファサード内で使用するものとしてDataReduct_SJYを使用しないようにした。 [bugfix:0.3.6] the issue of buttons position in SequencerQ using with X11 remote login Apr 4 2018 [bugfix:0.3.6] the issue that obsolete file path description are used. - 古いファイルパスをgetVNRConst.pyを利用して下記のように修正 /usr/local/mlf/VNR/ana/xml -> getVNRConst.GetUserDir(),"ana","xml" [bugfix:0.3.6] the issue of incorrect treating of events, the issue that obsolete file path description are used. - VNR用イベントリストを正しく扱えていない問題を修正 - 古いファイルパスをgetVNRConst.pyを利用して下記のように修正 /usr/local/mlf/VNR/ana/xml -> getVNRConst.GetUserDir(),"ana","xml" Mar 30 2018 [update] bashrc.XXX [bugfix:0.3.6] MPlot: the issue that the expanded plotting area gets back to original size by removing check of Auto Scale at SettingParam Dialog. MPlotでプロッタ上で拡大表示した後にスケールを変えるためにParamダイアログ上で Auto Scaleチェックボックスのチェックを外すと、拡大されていた表示が戻る問題に対処した。 Mar 29 2018 [bugfix:0.3.6] Give suitable return values in methods of UtsusemiTrignetDictionary and UtsusemiGetNeunetHistogram 以下のメソッドに正しい戻り値が指定されていなかったので修正した。 UtsusemiTrignetDictionary::SetCyclicRegion UtsusemiGetNeunetHistogram::LoadEventDataFiles Mar 28 2018 [bugfix:0.3.6] Fixed Makefile.obj.vc for Windows compiler [update:0.3.6] Add python-utsusemi-VNR ---------------- 0.3.6.180316 ---------------- Mar 13 2018 [bugfix:0.3.6] The issue that frameInfo does not work correctly FrameBoundary解析で、以前のフォーマットであるframeNoが2や3かつboundaryが指定されている時に正しく動作しなかった問題に対処。 これで以下のようなフォーマットに対応。 .. code-block:: xml Mar 10 2018 [update:0.3.6] Add calculation for an inverted geometry to KiKfCorrection KiKfCorrectionにDNA用のInverted Geometryのデータに対応するように変更した。 Feb 28 2018 [Bugfix:0.3.6] the issue that core dump happens when parameter files do not exists UtsusemiEventDataConverterXXX::LoadParamFiles -> UtsusemiXXXEventDecoderBase::SetParametersFromFiles において、WiringInfoやDetectorInfoが存在しないなど何らかの問題があった時にCore Dumpで落ちるのを修正した。 LoadParamFilesの戻り値をboolとして、状態を上へ戻すようにした。 それに伴い、LoadParamFilesを利用しているUtsusemiGetNeunetHistogramやUtsusemiGetRPMTHistogramも対応させた。 またSetParametersFromFiles内でメモリリークの原因となる部分も修正した。 Feb 23 2018 [Update:0.3.6] Add new method SetSamplePosition これまで試料の位置を装置座標系の原点(0,0,0)としていたが、試料環境などで試料位置を原点に置けない場合がある。 そこで試料の位置を装置座標系で与えることができるようにした。 ただし注意点がある。 - 本件で与えられる試料の位置情報は、PixelPositionからL2を計算するときにのみ使用される - L1は変更を受けないので、L1は別途計算して与える必要がある よってSetSamplePositionを行なった場合、SetL1も同時に行う必要がある。 Feb 21 2018 [bugfix] M2Plot : improve SaveAsText dialog to avoid choosing wrong inadequate file, like invisible file Feb 21 2018 [bugfix] M2Plot : improve SaveAsText dialog to avoid choosing wrong inadequate file, like invisible file ---------------- 0.3.6.180221 ---------------- Feb 21 2018 [update] add BL02(DNA) codes and environment. Feb 14 2018 [Update] branch 0.3.6 : Improve creation histogram methods イベントデータの読み込み+ヒストグラム作成でのエラーが捉えられない問題に対処。 - データがない - パラメータファイルが読まれていない などC++でのヒストグラム作成時に発生するエラーを上にあげるようにした。 とりあえず、これまでキャッチできなかったエラーをPythonのGetNeunetHistで捕まえることが可能に。 あと、間違ったメッセージに気づいたので修正(UtsusemiWiringInfoEditorTemplate.cc) Jan 26 2018 [bugfix] the issue that new FrameBoundary treatments does not work correctly with given "lambda" and "energy" type. FrameBoundary解析で、Boundaryを波長(type="lambda")やエネルギー(type="energy")で処理した時に正しく動作しなかったのを修正。 Jan 25 2018 [bugfix] the issue that FrameBoundary treatments does not work correctly - FrameBoundary解析で、きちんとバウンダリを指定しているのに、正しくTOFがシフトされないイベント(フレーム)が多数存在したので、それを修正した。 - T0TreatToolsにも問題があったので同時に修正した - 内部でmagic number (3) があったのをなくした Jan 23 2018 [bugfix] the issue that azimuth angle calculation returns invalid value when y of pixel position is 0 PixelポジションのY軸が0の時、Azimuth角を計算すると正しい値を返さない問題を修正。 Y軸が0の場合、X>=0 なら Azimuth = 0.0、 X<0 なら 180.0とする。 Jan 23 2018 [update] Removed unused visualization codes python-utsusemi/vis内の不要な可視化コードを obsolete/フォルダに移動した。削除候補。 Jan 15 2018 [bugfix] No default value of 'dat' argument at Cmm.SaveDataToSrlz Cmm.SaveDataToSrlzの引数にデフォルト値が記述されていなかったために、Sequencerで読み込むと正しく引数が解釈されなかった問題を解決した。 Jan 10 2018 [update] Calculate ABC parameters for new added PSDs at BL14 BL14に新たに設置されたPSDのABCパラメータを計算し、WiringInfo_180110.xmlとして作成した。 またRunNo 20717 以降のデータはこれを使うようにした。 Jan 9 2018 [bugfix] wrong format on argument of Cmm.DetectorEffi Jan 9 2018 [update] Add Cmm.DetectorEffi and DetEffiMatrix data file with Ef=0.05:1024:400, theta=-20.0:1024:25.0 - Add Cmm.DetectorEffi function - Make and add DetEffiMatrix file Jan 9 2018 [update] import Latest WiringInfo, DetectorInfo into git Jan 8 2018 [update] unify the argument name and initial value of ProtonCurrent(CT8neutron) Normalization with 'isCT8n' and True for BL01 BL01環境において、CT8neutronによるプロトンカレントの規格化を行う引数の名前を'isCT8n' に統一し、そのデフォルトをTrue(使用する)にした。 Jan 4 2018 [update] Enable to treat error when wrong arguments are given at SetRangeOfSingleTimeSlicing SetRangeOfSingleTimeSlicingメソッドで誤った引数を与えた時に、わかりやすいエラー(bool)を返すようにメソッドと戻り値を変更した。それに伴い、SetRangeOfSingleTimeSlicingを用いるコードに修正を加え、エラーを表示するようにした。 Dec 26 2017 [update] UtsusemiEventDataConverterTemplate::SetDataPath UtsusemiEventDataConverterTemplate::SetDataPath で、複数のデータフォルダ( /data/XXX, /data/XXX01, /data/XXX02, )があった場合に全てを探しにゆく仕様になっていたのを、最初の一つが見つかった時点で探すのをやめるようにした。 Dec 20 2017 [update] MPlot : Add methods to set the flag to update Y-scale when new data is added. MPlotでAddDataされたデータがY方向にオーバーするときに、Y方向の表示スケールが追尾するかしないかを設定するフラグを設定できるようにした。 MPlot::SetAutoScaleY( flag ) MPlot::AddData( data, flag=False ) Dec 19 2017 [update] Add comments to UtsusemiFilterBase.cc UtsusemiFilterBaseのCaseAmbiguityを処理する部分で、わかりにくいのでわかりにくい説明をつけた。 [bugfix] typo in FastPlot.py function to fill in the range FastPlotのFitting機能の中で、自動的にRangeを埋める部分でエラーが発生していたのを修正。 Dec 19 2017 [update] Add SetHistBin( \*ecm, _key ) to get TOF binnings using on the histogram creation with an unit conversion. UtsusemiEventDataConverterTemplate::SetHistBin に、イベントデータの振り分けに使用されたTOFのbinningをPixelごとに取り出して埋め込むメソッドを追加した。 Dec 8 2017 [update] Enable to choose a T0Index event for clock reference used in TimeSlicing SetTimeSlicing で時系列分解するときに使用する時刻のリファレンスを設定できるようにした。 これまでは SetDataPathが作成する_dataFileList.Put(0)を使用していたが、 データによっては(問題だが)モジュールごとにT0の個数が異なっていることが判明した。 これではズレてしまうので、時刻情報のリファレンスとなるデータをkey"%02d_%03d"(00_001とか)で指定できるようにした。 あと不要なコメントを除去した。 Dec 8 2017 [bugfix] TimeSlicing Cases function does not work. SetTimeSlicingでイベントデータを読み込んでも、Caseに振り分ける動作しないバグを修正。 Dec 7 2017 [update] Improve speed of treating CaseInfo with many TimeSlicing/time tags 非常に多くのTimeSlicing/timeタグを並べる( over 100000 )と、BoostXmlPerse での特定のtimeタグの取り出しに非常に時間がかかるため、timeタグで与えるのと同様の情報を SetTimeSlicing( vector ) で与えることにした。 Dec 6 2017 [update] Improve differential mode ( not read event data before at starting during measurement) EventDataMonitorを用いる(いわゆる差分解析)の時に測定途中からプログラムを動かした場合、それまでのデータが一旦解析されてしまっていた。 データ量が少ない場合は問題ないが、データ量が多いと色々負担がかかる。 よって、そこまでのデータを読んだつもりになるようにIncrementにフラグをつけた。 このフラグにFalseをつけるとファイルの情報を読み込んで差分用のポインタは進めるが イベントデータ自体は処理しないことになる。 .. code-block:: python tt=UtsusemiEventDataMonitorNeunet() tt.SetRunNuber( 1111 ) tt.SetDataFolder( "/data" ) tt.ParameterSet( winfo, dinfo ) tt.AddAllDataModules() tt.UpdateDataModules() #<-- ファイル情報のアップデート(t0b読み込み) tt.Increment(False) #<-- ポインタだけ進める ... tt.UpdateDataModules() tt.Increment() #<---読み込む tt.Output(ecm) tt.Clear() ... tt.Update(False) #<- UpdateDataModules() + Increment(False) tt.Output(ecm) tt.Clear() Dec 5 2017 [update] merge Time Slicing into Case 2 Time Slice をこれまでの単独切り出しから、Caseに分けられるようにする。 UtsusemiEventDataConverterNeunet では無事に行けるようになった。 サンプルは以下の通り。MakeCaseTableが新しい(これまでのLoadTrignetEventFileを置き換える)。 .. code-block:: python tt=UtsusemiEventDataConverterNeunet() tt.LoadParamFiles( wfile, dfile, cfile ) tt.MakeCaseTable( runNo, dataFolder, "" ) tt.SetHistAllocation() tt.LoadEventDataFiles( runNo, dataFolder, "" ) dat = Manyo.ElementContainerMatrix() tt.SetElementContainerMatrix( dat, caseId ) Dec 5 2017 [update] merge Time Slicing into Case Time Slice をこれまでの単独切り出しから、Caseに分けられるようにする。 まず第一段階。 Nov 16 2017 [update] Add method to treat new parameters for CaseAmbiguity in CaseInfo CaseInfoのCaseAmbiguityの設定に、新しいパラメータをつけた. これまでの3に加え、以下のように書き換えることで、Ambiguity=3(フレームの最初の一つ目のCaseIdを採用)においてどのTOF範囲のイベントを採用するかを指定できるようにした。 .. code-block:: xml 3 0,39980 Nov 13 2017 [update] Add SetFlagOfCheckPulseId to control check pulse id between NEUNET and GATENET events 複数のGATENET (スレーブ)を使う場合、GATENET (マスター)+NEUNET, TrigNETだけの時には発生しなかった Pulse IDのズレが発生することがある。 その状態でデータ処理を行うためには、Readout系で用いるのと同じように、PulseIdのズレチェックを行わないようにしなくてはならない。 そのためのフラグを立てるメソッドを追加した。 同時に、BaseCommand::GetNeunetHistも変更した。 Nov 10 2017 [bugfix] Fixed that scales are not updated on adding data in FastPlot MPlot で AddData した時に、表示スケールが変わらないのを修正した。 Nov 9 2017 [update] add functions to pull out PixelInfo in WiringInfoEditorBase WiringInfoEditorBase\:\:PixelInfo に収められている情報を簡単に取り出すためのメソッドを追加。 特に、DAQ ID, ModuleNo を与えて Detecotrの諸パラメータ - detType; - detId; - numPixel; などを取り出せるので有用。 Oct 27 2017 [update] GetNeunetHist enable to use CaseInfo. BaseCommands::GetNeunetHistのCaseInfoを使えるようにした。 GetNeunetHistの戻り値として、CaseInfoを指定した時はElementContainerのリストとなるようにし、以下の関数を付け加えた .. code-block:: cpp UtsusemiGetNeunetHistogram::LoadEventDataFiles( "/data", "" ) UtsusemiGetNeunetHistogram::SetElementContainerMatrix( *ecm, caseId ) UtsusemiGetNeunetHistogram::PutListOfCases() UtsusemiFilterTrignet::ReadTrigEvent( string trigfile, string trig_t0file, UInt4 index ) Oct 23 2017 [update] Add new argument of CopyData to choose target directory CopyDataに新しい引数(target)をつけた。 これでデフォルトの/data/XXXだけではなく、好きなフォルダ、例えばバックアップ用のフォルダを選択して、CopyDataできるようになった。 また、isCT8n -> isCT8Neutronに統一した。 Oct 4 2017 [bugfix] Fixed UtsusemiEventDataConverterNeunetWithPHDep UtsusemiEventDataConverterNeunetWithPHDep::SetElementContainerMatrixが落ちる問題を修正。 Sep 25 2017 [update] Add Sum method to AverageElementContainerChoppers AverageElementContainerChoppers::GetSumを追加。 なお、err<0の処理としては、Average : 処理に入れない、Sum : 処理に加えるが結果のヒストグラムのerrを負にする(絶対値はエラーだが、マイナス)とする。 Sep 22 2017 [bugfix] The issue that CaseInfo analysis fails using Cyclic Counter pattern サイクリックなカウンターを利用した処理で、正しく動作しなかった部分を修正した。 Sep 21 2017 [bugfix] the issue that EcsClipper can not do slicing when index of EC in ECA is in disorder to X axis. 与えられたECA内のECの格納順とスライスのためのX軸として用いる値のシーケンスとが食い違う時に正しくスライスできなかった問題を解決した。 Sep 21 2017 [update] Add Cyclic Counter pattern to CaseInfo analysis TrigNETのCase分別のCounter機能に対し、例えば角度で360度=0度と考えるようなサイクリックなカウンターを実装する。 Sep 19 2017 [update] improve Fitting function of FastPlot MPlot(FastPlotQt)のフィッティング機能に以下を追加。 - コア部分をpython-utsusemi/ana/Reduction/UtilsOnChoppers::FitOnChoppers から移植 - 結果表示に、各パラメータのエラーとChi squareを追加(GUI修正) - 失敗時の処理(エラーの場合はERRORと表示する、など)の改良 - FittingFunc4.png FittingFunc5.pngの更新 Sep 19 2017 [bugfix] the issue that some fitting functions in MPlot do not work.(2) MPlotのフィッティングで、以下を修正。 - 引数が8あると正しく動作しないバグ Sep 19 2017 [bugfix] the issue that some fitting functions in MPlot do not work. MPlotのフィッティングで、以下を修正。 - 引数が5以上あると正しく動作しないバグ - ベース関数内での数学関数をnumpyのものにしていなかったバグ Sep 14 2017 [update] use MLF_MASKVALUE as UTSUSEMIMASKVALUE64 and some improvements for mask value UtsusemiHeader::UTSUSEMIMASKVALUE64=MLF_MASKVALUEとした。 あと、いくつかのコードでUTSUSEMIMASKVALUE64と32の使い分けを正しくした。 Sep 14 2017 [update] PlaneSlicer : add slice methods which python list can be given as arguments Sep 12 2017 [bugfix] the issue of wrong slicing for scattered data EcsClipperで散布データを入力とした場合には内部でヒストグラム型に修正する仕様だが 散布データかを判断する部分にバグがあったため、散布データとして扱われなかったバグを修正した。 Sep 5 2017 [bugfix] fixed the issue that EcsClipper does not use directly the returned data from PlaneSlicer slicing PlaneSlicerがスライス結果として戻すElementContainerArrayのフォーマットが、 EcsClipperで読み込んで処理できるものではなかったのを修正。 主な修正点は、戻ってくるデータのElementContainerのヘッダに "XRANGE" を追加した。 Aug 10 2017 [bugfix] do_make_Utsusemi.py : small bugfix for the install path setting Jul 12 2017 [update] branch::devMPlotFitting : Improve Fitting function of MPlot Fitting用の関数はコード内に直書きされていたが、 その部分を分離し、外部のファイルから読み込むようにした。 python-utsusemi/vis/MPlotBaseFittingFuncs.py また装置毎の関数もfacadeフォルダにあれば読むようにした。 (ただしファイル名は固定) XXX/MPlotFittingFuncs.py さらに自分で作成した関数ファイルを読み込めるようにした。 これはどこにあってもダイアログで開くことができる。 0.3.5.1 ========== ---------------- 0.3.5.1.180202 ---------------- Feb 2 2018 [update:SAS] small improvement Feb 2 2018 [update:SAS] files in ana/xml updated by BL Jan 28 2018 [SAS]baselineなしexponentialはFit実行用のみにした 他はbaseline有りと共有で良いことにいまさら気づいた Jan 25 2018 [SAS]Transのfacadeの実装部分はTransBaseCommandsになるように変更 Jan 25 2018 [SAS]Add a new function to fit a exponential curve without a baseline Jan 15 2018 [bugfix:Utsusemi] No default value of 'dat' argument at Cmm.SaveDataToSrlz Cmm.SaveDataToSrlzの引数にデフォルト値が記述されていなかったために、Sequencerで読み込むと正しく引数が解釈されなかった問題を解決した。 Jan 12 2018 [SAS]EmakiのTransmittanceFittingを取り込んだ Jan 11 2018 +0900 [SAS]透過率フィットにベースライン無しの指数関数を追加 Jan 10 2018 [update:Utsusemi] Calculate ABC parameters for new added PSDs at BL14 BL14に新たに設置されたPSDのABCパラメータを計算し、WiringInfo_180110.xmlとして作成した。 またRunNo 20717 以降のデータはこれを使うようにした。 Jan 9 2018 +0900 [bugfix:Utsusemi] wrong format on argument of Cmm.DetectorEffi [update] Add Cmm.DetectorEffi and DetEffiMatrix data file with Ef=0.05:1024:400, theta=-20.0:1024:25.0 - Add Cmm.DetectorEffi function - Make and add DetEffiMatrix file [update:Utsusemi] import Latest WiringInfo, DetectorInfo into git Jan 8 2018 [update:Utsusemi] unify the argument name and initial value of ProtonCurrent(CT8neutron) Normalization with 'isCT8n' and True for BL01 BL01環境において、CT8neutronによるプロトンカレントの規格化を行う引数の名前を'isCT8n' に統一し、そのデフォルトをTrue(使用する)にした。 Jan 4 2018 [bugfix] Issue that the SAS environment for Ubuntu Linux was not installed with the BL individual installing option. Dec 11 2017 [bugfix:SAS] paramFiles argument of GetPulseHeightSAS does not work correcttly GetPulseHeightSAS のparamFilesを指定しても、正しくGetHistogramBaseSAS の parafFilesに伝わっていなかったため、修正した。 [bugfix:SAS] Histogram creation of N2Monitor at beam downstream does not work. GetMonHistSAS で、 下流側のN2Monitorを処理する時にコアダンプする問題を解決。 その原因は、に下流側のN2MonitorのDetIDである3002と3003に対する記述がなかったから。 それを修正した。 [bugfix:SAS] GetHistogramSAS does not work correctly on using given parameter files GetHistogramSAS で与えられる paramFiles に設定したファイルが実際に存在しない場合、 デフォルトのファイル(environ_ana.xml)が使用される仕様だったのを、エラーを出すように変更した。 Dec 8 2017 [bugfix:SAS] SaveQzToText outputs wrong error values FileBaseCommands::SaveQzToText で、ファイルを保存するときに強度をエラーとして出力していた。 Dec 1 2017 [bugfix:SAS] Issue of error calculations of QzProjection and CalcAzimuthProfile QzProjectionとCalcAzimuthProfileにおいて、Errorを計算する際に、 Error = sqrt( Error )/Counts でないといけないところが Error = sqrt( Error/Counts ) になっていた。これでは積算してもエラー値が良くならない。 Dec 1 2017 [bugfix:SAS] GetAzimuthProfile does not work and GetAzimuthProfileMulti errors on setting lambda_range GetAzimuthProfileが動作しない問題を修正。 - 引数を間違えていた - ついでに引数が変な場合(Noneだったり、ConvertToQspaceがされていなかったり)した場合にはじくようにした GetAzimuthProfileMultiの引数lambda_rangeを設定した時にエラーが出る問題を修正。 - Manyo.SAS.CalcAzimuthProfileのメソッド名が間違っていた Nov 30 2017 [update:SAS] Add GetAzimuthProfile to facade/Cmm 1. CmmにAzimuthProfileを単独のElementContainerMatrixから作成するファサード関数を追加 2. Cmm.DataReductionMultiに引数を追加 - ConversionQSpaceのInVec - DoMaskのファイル名 Nov 29 2017 [update:SAS] Add GetAzimuthProfileMulth to facade/Cmm 1. CmmにAzimuthProfileを作成するファサード関数を追加 2. Cmm.DataReductionMultiにkicker数でノーマライズする部分を追記 1フレームのキッカー数/全キッカー数 で割る 3. manyo/do_make_Utsusemi.py を追加 Nov 28 2017 [bugifx:Utsusemi] Issue that FilterTrignet can not count correctly when noisy signals come TrigNETにゴニオのエンコーダのA相, B相を入れた時に、シグナルノイズが混じっていると正しくカウントできない問題を修正。 Nov 24 2017 [bugfix:Utsusemi] Issue that the change of smoothing window value does not applied to plotter correctly D2Vis.pyのZパネルで、Smoothing Windowの値を変えて Applyボタンを押しても、画面がアップデートされない。 Nov 17 2017 [bugifx:SAS] Bugfix of CalcAzimuthProfile CalcAzimuthProfileクラスの動作確認。いくつかのバグ修正、メソッドの追加、コメント文などの整理を行った。 ConvertToQspace処理を行ったECMがターゲット。 tt=CalcAzimuthProfile( ECM ) tt.SetQRadius( 0.036, 0.001 ) tt.SetAzimuthBinning( 2.0 ) EC = tt.GetProfileAverage() Nov 9 2017 [bugfix:Utsusemi] Header Info DETTYPE is not same as the given type on Neunet histogram creation [update] add functions to pull out PixelInfo in WiringInfoEditorBase ---------------- 0.3.5.1.171108 ---------------- Nov 8 2017 [update] Ubuntu Installer includes BL15 (SAS) environment Nov 7 2017 [bugfix] MPlot can not save data as text at some conditions Nov 6 2017 [bugfix] M2Plot Smoothing does not work on new version of matplotlib Nov 2 2017 [bugfix] improve division between ECM in UtsusemiCalcContainers UtsusemiCalcContainersの割り算において、強度0で割った時の処理を修正した。 強度0で除算した場合、その強度は0、エラー値を-1.0(マスク値)とした。 Oct 25 2017 [update] Update WiringInfo.xml for BL01 [bugfix] the issue that DetectorInfoEditorReadout2d returns minus SolidAngle 2次元検出器の立体角で負の値が出てくる可能性があるのを修正 ---------------- 0.3.5.1.171019 ---------------- Oct 19 2017 [bugfix] MPlot Fitting function does not work on MacOS Macバイナリ版のMPlotのフィティング機能が動作しない問題に対処。 ---------------- 0.3.5.1.171018 ---------------- Oct 18 2017 [bugfix] SliceViewer crash in MacOS SliceViewerが、Mac版で起動時にクラッシュする問題に、一時的な対策で対応した。 Oct 17 2017 [update] M2Plot(D2Vis) : add new function to load SNS_SQE file M2Plotで、 SNS_SQEファイル(フォーマットはSPEファイルっぽいが、SQE)を読み込めるようにした。 Oct 17 2017 [bugfix:python-utsusemi/SAS] the bug of QzProjection argument and MergeSMSC4DetMap BL15用コードにおける引数のバグ(QzProjection)及び実行時のバグ(MergeSMSC4DetMap)を修正した。 Sep 20 2017 [update] improve MakeRunList script MakeRunList実行時に、IROHA時代とIROHA2時代で、出力(protonsの表記)が微妙に異なる問題を修正。 また、facadeスクリプト内で isCT8Neutron, isCT8nと揺れがあったのを修正。 ---------------- 0.3.5.1.170906 ---------------- Sep 6 2017 [bugfix](Manyo-core) fixed T0TreatToolsBase::readOrgEvent about the issue to cause the core dump on reading Readout event file ( not including InstClock event ) 装置時刻情報イベント(Instrument clock event)が含まれていないReadout系のイベントデータをreadOrgEventメソッドで読み込んだ際にコアダンプを出すことがあることを修正。 ---------------- 0.3.5.1.170901 ---------------- Sep 1 2017 [bugfix](Manyo-core) fixed the issue of the mismatched message when file open error happens on ManyoDataIO 万葉ライブラリのManyoDataIO関数において、存在しないファイルを開いたり、明らかに異なるフォーマットのファイルを開こうとした時に、 versionが違うというメッセージを出していたのを修正した。 ---------------- 0.3.5.1.170829 ---------------- (Same as 0.3.5.1.r1122) Aug 29 2017 [add] add first version of LICENCE.txt Aug 24 2017 [bugfix] ana/Reduction/CuiCtrlVisContM.py : fixed treating Header['SampleRotateSteps'] Header['SampleRotateSteps']が正しく扱われていないところがあったのを修正。 Aug 22 2017 [add] branch::0.3.5.1 added python-utsusemi-ENG 最新のENG/ana/\*.xml を 空蟬のリポジトリに入れることにする。(Windows版対応) Jul 31 2017 [update] UtsusemiD4MatOnMem::AllocateD4MatOnDisk : small fix for show log Jul 31 2017 [bugfix #25] D4mat2Slicer :: fixed function to save data as D4Matrix file. D4mat2Slicerで、 D4MatSlicerで読み込むD4Matファイルへの書き出し機能がおかしい問題に対処。 1. 吐き出される D4mat.xml ファイルの rangeの値がおかしい - 書き出しに使う値が間違っていたので修正。 2. D4mat2Slicer と D4matSlicer で同じ 2Dスライスをした時に、微妙に値が異なる問題 - スライスの範囲を決定する値の作成方法と判別方法が、 D4matとD4mat2との間で異なっていたので修正。 Jul 31 2017 [Update] M2Plot : improved LoadDataFromText to enable to read non-linear axes M2Plotで、 テキストデータを読み込む際に、 軸の値が線形でないパターンでも 読み込めるようにした。 幸い M2Plotは、 横軸がnon-linear でなくても プロットできることが確認できたため。 Jul 25 2017 [update] branch::0.3.5.1 : Improve SaveAsText function of M2Plot 出力のフォーマットを "%f" から "%g" に変更した。 出力テキストを見ると 小数点以下5桁くらいしか保存されなかった。 その結果、強度が非常に小さい場合、強度があるのに 0 とされてしまった。 Jul 01 2017 [Bugfix] WiringInfoEditorBase の DetRange 設定時のバグ修正 Detector Range を設定する時、 1モジュール内8PSDの途中から指定した時に、 本来8PSDないといけない WiringInfo が8本以下になり、 イベントの情報からヒストグラムを作成する時に問題が生じるのを修正。 Jun 20 2017 [Bugfix] MPlot(FastPlot.py) のFittingパネルのデフォルト値 MPlotのFitting機能を起動した直後の パネル上の空欄のうちフィッティングする範囲を 自動的に埋めるようにした。 Jun 16 2017 [Bugfix] MPlotの 軸Label表示問題 その他 1. MPlot (FastPlot) のXY軸のラベルが長くなると、 片方にだけ伸びてズレる問題 2. MPlot (FastPlot) のXY軸のラベル設定のUnit の設定をしても反映されない問題 3. SIK,AMR/facade/DR::GetDataOfMonochroEi3 のコメントが間違っている問題 以上を修正した。 Jun 14 2017 [Bugfix] 複数RunNoの時の dmp 保存に問題 GetNeunetHist で複数の RunNo を指定した時に SaveDataToDump して LoadDataFromDump すると、ヘッダの情報がおかしくなる。 これは、 ECM のヘッダ RUNNUMBER="123,345,566" のようにカンマ区切りにしていたからで、 これが HeaderBase::DumpToString と InputString のデリミターのカンマと衝突していたため、 ヘッダ情報がずれたためである。 よって、今回は RUNNUMBER の区切りを "/" にして回避した。 他の空蟬のコード内では、 このRUNNUMBERの変更による影響はないことを確認済み。 Jun 14 2017 [Bugfix] 複数RunNoの時の dmp 保存に問題 GetNeunetHist で複数の RunNo を指定した時に SaveDataToDump して LoadDataFromDump すると、ヘッダの情報がおかしくなる。 これは、 ECM のヘッダ RUNNUMBER="123,345,566" のようにカンマ区切りにしていたからで、 これが HeaderBase::DumpToString と InputString のデリミターのカンマと衝突していたため、 ヘッダ情報がずれたためである。 よって、今回は RUNNUMBER の区切りを "/" にして回避した。 他の空蟬のコード内では、 このRUNNUMBERの変更による影響はないことを確認済み。 Jun 11 2017 [Update] MakeRunNo の改良 MakeRunList 実行時, データのフォルダを探すときに、 /data/XXX しか探さなかった問題を修正。 /data/XXX* ( /data/AMR, /data/AMR01, /data/AMR02, /data/AMR10 など) を探す。 Jun 11 2017 [Update] UtsusemiEcsClipper::CutAlongX, CutAlongY, CutDiagonal の追加 ExecIntegが直感的ではないので、 - CutAlongX : X軸方向にカット = ExecInteg( bool, 1 ) - CutAlongY : Y軸方向にカット = ExecInteg( bool, 0 ) - CutDiagonal : 対角線にカット = ExecInteg( bool, 2, width, bin ) としてみた。 Jun 11 2017 [bugfix] UtsusemiEcsClipper::SetAxes の 挙動修正 - SetAxesの部分を見直して、分かりやすいよう 大幅に書き直した。 - Y軸において ECAのヘッダにある vector も使用できるようにした。 - とりあえず ECA のヘッダに X軸 と Y軸 の vectorがあれば OKになった - 自作データで動作チェックも行った(一応)。 Jun 11 2017 [bugfix] 伊藤氏指摘のバグ修正(UtsusemiEcsClipper::_MakeRectMap で常にWarningが出る) 他 指摘を受けてコードを見直していたら、 伊藤さんの指摘の部分へ至る流れに問題が見つかった。 今回の指摘は _MakeRectMap() 内で指定したkeyのvectorをY軸として取り出す部分であるが、 そもそも この関数_MakeRectMapを呼び出す直前に Y軸とするvectorのkeyを収めている _givenAxesKeys が消去されていた。 ( _givenAxesKeys.clear() ) これでは 折角指定したkeyが消えることになり、予期した動作とは結果が異なることになる。 1. 不要な_givenAxesKeys.clear()の削除 2. 指摘のあったvector ybin; の削除 を行った。 - Jun 08 2017 [bugfix] UtsusemiEventDataConverterTemplete の too many open files 問題 BL15にて連続解析のスクリプトを走らせたところ、途中で too many open files と表示され、 落ちた。 UtsusemiEventDataCoverterTemplete::SetDataPath 内で opendir したまま閉じていない場所があり、そこを修正したところ、 落ちる現象がなくなった。 長い間見つからなかったリーク的なバグが一つ消えた。 Jun 08 2017 [bugfix] 0.3.5.1 DNA 対策 : GetHistogramMon で t0_offsetが効かない 1. WiringInfoEditorで TofBin Offset が Doubleのはずが UInt4 で取り込まれていた 2. manyo-DNA/UtsusemiNeunetEventDecoderDNA::DecodeEventData で UtsusemiNeunetEventDecoderBase::DecodeEventData へ分岐しなかった 理由:空蟬の N2モニター解析のフォーマットが変更になったから。 Jun 06 2017 [update] 0.3.5.1 DNA 対策 WiringInfoConversionDictionary のエネルギー変換において、 DNA のスクリプトでは パラメータが5つあるため その対応を行った。 できるだけDNA の環境を壊さないように配慮した。 Jun 05 2017 Merge branch 'bugfixEcsClipper' into 0.3.5.1 Jun 05 2017 [update] 0.3.5.1->bugfixEcsClipper EcsClipperのバグ修正 EcsClipper::ExecInteg の結果のElementContainer における key がおかしいのを直した EcsClipper::SetAxes を実行しても反映されない問題を修正した。 Jun 03 2017 [Update] python: DefaultInstParams.py for DNA Jun 03 2017 [Update] 0.3.5.1 WiringInfoEditorBase::ResetHeadPixelId の修正と SetRunNoWithXXXInfo の修正 正しくHeadPixelId を再編できない条件があるのを修正した。 というか、 ポリシーとして PixelId は固有ではあるが固定ではない ということにする。 また、 UtsusemiWiringInfoEditorTemplate::SetRunNoWithWiringInfo と UtsusemiDetectorInfoEditorBase::SetRunNoWithDetectorInfo のバグを修正。 Jun 02 2017 [Update] 0.3.5.1 DNA のヒストグラム化対応 DNA のヒストグラム化に必要となる WiringInfoConvertionDictionary への変換コード 27, 28 を追記した。 ただし、基本的に XAxis や Tof Bin は UtsusemiNeunetEventDataConverterDNA 内で対処するため ダミー関数である。 Apr 27 2017 [Bugfix] DR::GetDataOfWhite でエラー DR::GetDataOfWhite の引数 MaskFile が正しく処理されていなかった。 修正した。 Apr 19 2017 [Bugfix] MacOSでの コンパイルエラーへの 対応 UtsusemiPlaneSlicer と VisualCalcSqe で戻り値を正しく返していなかったので 修正した。 Apr 18 2017 [update] 新しい LOGO を導入 新しい LOGO をスプラッシュや GUI のロゴとして 取り込んだ。 また LOGO の大きさに合わせて 幾つか GUI のパーツの位置の微調整を 行った。 Apr 12 2017 [bugfix] Readout ヒストグラム化時に ReadoutGate の T0Eventの 作成に失敗 川崎くんからの指摘。 ReadoutGate のイベントを含んだデータのヒストグラム化を行う際に、 ReadoutGateの t0bファイルがあれば 成功するが、 ないと落ちる。 これは内部で、 t0bがあるものとして ReadoutGate のイベントの処理を行っていたからである。 修正を行った。 Apr 12 2017 Revert "[bugfix] Readout ヒストグラム化時に ReadoutGate の T0Eventの 作成に失敗" This reverts commit acb23ebb7180c173bad52feb2a6268f8a0c1a55b. Apr 11 2017 [bugfix] Readout ヒストグラム化時に ReadoutGate の T0Eventの 作成に失敗 川崎くんからの指摘。 ReadoutGate のイベントを含んだデータのヒストグラム化を行う際に、 ReadoutGateの t0bファイルがあれば 成功するが、 ないと落ちる。 これは内部で、 t0bがあるものとして ReadoutGate のイベントの処理を行っていたからである。 修正を行った。 Apr 05 2017 Merge branch '0.3.5.1' Apr 05 2017 [Update] SetRunNo の拡張 UtsusemiGetHistogramTemplate :: SetRunNo で、WiringInfo と DetectorInfo を与えるモードの時に、 複数のRunNoを 受け付けるように拡張した。 これを実現するため、 UtsusemiWiringInfoEditorTemplate :: RunNoWithWiringInfo UtsusemiDetectorInfoEditorBase :: RunNoWithDetectorInfo を追加した。 これらは、python-utsusemi / SAS / ana / Reduction / HistBaseCommands.py で試験された。 Mar 23 2017 [bugfix] MakeRunListでエラー(CT8neutron) MakeRunListを新しいRunNoで行うとエラー。 内部でIROHA用とIROHA2用に分けて実行するスクリプトを切り替えている。 IROHA用はCT8neutronに対応していたが、IROHA2用が対応していないかったためにエラー。 Mar 23 2017 [update] BaseCommands::VisContMSliceToECA を追加 空蟬のVisualContMで行っているProjectionとSliceをコマンドラインで行うための機能を追加した。 Mar 23 2017 [bugfix] MakeRunListでエラー(CT8neutron) MakeRunListを新しいRunNoで行うとエラー。 内部でIROHA用とIROHA2用に分けて実行するスクリプトを切り替えている。 IROHA用はCT8neutronに対応していたが、IROHA2用が対応していないかったためにエラー。 Mar 16 2017 [bugfix] Windows版, Mac版での 問題修正 from VIC M2Plot, SliceViewerを単独起動するための追記。 SliceViewerでスライス時のindex計算でエラーとなる問題。 SliceViewerでMac版だけメインパネルのサイズ調整が必要な問題。 Mar 16 2017 [bugfix] Windows版, Mac版での 問題修正 from VIC M2Plot, SliceViewerを単独起動するための追記。 SliceViewerでスライス時のindex計算でエラーとなる問題。 SliceViewerでMac版だけメインパネルのサイズ調整が必要な問題。 Mar 16 2017 [bugfix] Windows版, Mac版での GUIの問題修正 Windows版M2PlotのFrame Info 設定パネルの下半分が切れている問題。 内部(D2Vis.py)でOSごとにパネルの大きさを最適化していたが、Frame Infoを大きく修正した時に以前の大きさの間ままだったので修正した。同時にmac版の設定も修正した。 Mac版のM2PlotのFrame Info設定パネルがエラーで表示できない問題。 Mac版では D2Vis_macos.xrcという専用のUI情報を持っていたが、これが長い間修正されていなかった。 これまでのD2Vis.xrcのアップデートに追随するようにD2vis_macos.xrcも修正した。 Mac版のD4MatSlicer.pyのメインパネルの下が切れる問題。 これも上と同様、大きさの設定を修正した。 Mar 16 2017 [bugfix] Windows版, Mac版での GUIの問題修正 Windows版M2PlotのFrame Info 設定パネルの下半分が切れている問題。 内部(D2Vis.py)でOSごとにパネルの大きさを最適化していたが、Frame Infoを大きく修正した時に以前の大きさの間ままだったので修正した。同時にmac版の設定も修正した。 Mac版のM2PlotのFrame Info設定パネルがエラーで表示できない問題。 Mac版では D2Vis_macos.xrcという専用のUI情報を持っていたが、これが長い間修正されていなかった。 これまでのD2Vis.xrcのアップデートに追随するようにD2vis_macos.xrcも修正した。 Mac版のD4MatSlicer.pyのメインパネルの下が切れる問題。 これも上と同様、大きさの設定を修正した。 Mar 10 2017 [update] Readout系でTrigNETのT0イベントファイル検索の修正 TrigNETのT0イベントの検索部分をUtsusemiHeader::FindTempFilePathを使用する。 Mar 07 2017 [bugfix] Readout系でTrigNETを読み込む時にCore dump 現象 Readoutモジュールのデータに対し、TrigNETデータを読み込む際にイベントデータが複数に分かれているとCore Dumpが発生する。 確認したところ、 UtsusemiEventDataConverterReadoutTemplate::LoadTrignetEventFile内で、SetDataPath実行中にT0Bファイルを作成しようとしてT0TreatToolsReadoutでTrigNET(NETUNET系)のデータを読もうとしてエラーとなっていた。 SetDataPath実行時にmakeT0=falseにして回避。 さらにmakeT0b=falseにすると、t0bファイルがないときにもt0dataFileListにファイル名が(無いにも関わらず)書き込まれるので、UtsusemiEventDataConverterTemplate::SetDataPathを修正した。 また、UtsusemiEventDataConverterReadoutTemplate::LoadTrignetEventFile内で、t0bdataFileListが空の時の処理を少し修正した。 ここは本来UtsusemiHeaderの関数を使うべきだが、ブランチなどが落ち着いたら修正する。 これらによりUtsusemiEventDataConverterTemplate::SetDataPathの振る舞いとして makeT0bの状態如何に関わらず以下の原則が用いられる。 edb無し : t0dataFileList無し edb有り & t0b無し : t0dataFileList無し edb有り & t0bあり : t0dataFileListあり Mar 13 2017 [bugfix] TrigNET解析でCaseが使用されない 0.3.5.0から T0の数=(Caseの数+1)でいくと決めていたのに UtsusemiEventDataConverterTemplate::ReadEventDataや UtsusemiEventDataConverterReadoutTemplate::ReadEventDataの中で T0の数=Caseの数の時しかCaseを使わないというロジックであったため、それを修正した。 また関連するところも修正した。(PreIncrementに渡す時の配列作成を修正) Mar 13 2017 Merge branch 'fixEvtCaseEmaki' Mar 13 2017 [bugfix] TrigNET解析でCaseが使用されない 0.3.5.0から T0の数=(Caseの数+1)でいくと決めていたのに UtsusemiEventDataConverterTemplate::ReadEventDataや UtsusemiEventDataConverterReadoutTemplate::ReadEventDataの中で T0の数=Caseの数の時しかCaseを使わないというロジックであったため、それを修正した。 また関連するところも修正した。(PreIncrementに渡す時の配列作成を修正) Mar 10 2017 [update] Readout系でTrigNETのT0イベントファイル検索の修正 TrigNETのT0イベントの検索部分をUtsusemiHeader::FindTempFilePathを使用する。 Mar 07 2017 [bugfix] Readout系でTrigNETを読み込む時にCore dump 現象 Readoutモジュールのデータに対し、TrigNETデータを読み込む際にイベントデータが複数に分かれているとCore Dumpが発生する。 確認したところ、 UtsusemiEventDataConverterReadoutTemplate::LoadTrignetEventFile内で、SetDataPath実行中にT0Bファイルを作成しようとしてT0TreatToolsReadoutでTrigNET(NETUNET系)のデータを読もうとしてエラーとなっていた。 SetDataPath実行時にmakeT0=falseにして回避。 さらにmakeT0b=falseにすると、t0bファイルがないときにもt0dataFileListにファイル名が(無いにも関わらず)書き込まれるので、UtsusemiEventDataConverterTemplate::SetDataPathを修正した。 また、UtsusemiEventDataConverterReadoutTemplate::LoadTrignetEventFile内で、t0bdataFileListが空の時の処理を少し修正した。 ここは本来UtsusemiHeaderの関数を使うべきだが、ブランチなどが落ち着いたら修正する。 これらによりUtsusemiEventDataConverterTemplate::SetDataPathの振る舞いとして makeT0bの状態如何に関わらず以下の原則が用いられる。 edb無し : t0dataFileList無し edb有り & t0b無し : t0dataFileList無し edb有り & t0bあり : t0dataFileListあり Mar 07 2017 [Update] M2Plot関連の修正 M2Plotの以下の問題を修正した。 - Fitting結果においてそれぞれのパラメータのエラーが小さすぎる - M2Plot のテキスト読み込み後のプロッタの表示がおかしくなる - M2Plotのアップデートで、スムージングが効かない Mar 07 2017 [Update] M2Plot関連の修正 M2Plotの以下の問題を修正した。 - Fitting結果においてそれぞれのパラメータのエラーが小さすぎる - M2Plot のテキスト読み込み後のプロッタの表示がおかしくなる - M2Plotのアップデートで、スムージングが効かない Mar 02 2017 zrangeの全範囲を可能にした。 Mar 02 2017 [Update] M2Plotに新しいColorMapを追加 ColorMap : GMT_haxby を追加した。これは import mpl_toolkits.basemap import cm cm.GMT_haxby である。このcm.pyからこの部分のコードを取得して利用した。 Mar 02 2017 [Update] M2Plotに新しいColorMapを追加 ColorMap : GMT_haxby を追加した。これは import mpl_toolkits.basemap import cm cm.GMT_haxby である。このcm.pyからこの部分のコードを取得して利用した。 Mar 02 2017 Merge pull request #6 from mlfcomp/fullRange zrangeの全範囲を可能にした。 Mar 02 2017 zrangeの全範囲を可能にした。 Mar 02 2017 [Release] 0.3.5.1 リリース - 必要なManyoライブラリのバージョン - rev302以上 - 0.3.5.0からの機能追加 - 擬似オンラインモニター機能追加( UtsusemiEventDataMonitorNeunet ) - TrigNETのデータを利用したフィルタリングが差分解析でも可能に - UpdatedCases - Case毎のKicker数取り出し可能 - 各種バグフィックス - D4Mat2Slicer(連続回転測定+擬似オンラインモニター)の実装 - SliceViewer3Dの実用化 - D4MatSlicer, D4Mat2Slicerからの起動の実装 - 検出器効率補正(計算値)高速版の実装 - 各種細かいバグフィックス - その他 - ソースコードの整理 - DivMultiContDouble, FindParamFilePathなど似通ったメソッドの共通化 - C++コードのコメント表示(エラー表示)の変更 - 環境変数UTSUSEMI_LOG_QUIETで表示・非表示の制御可能 - 時刻情報の表示 0.3.5.0 ========== Mar 01 2017 [Bugfix] SliceViewer3D does not plot data correctly SliceViewer3D has the issue that data points with the intensity larger than 1.0 are not displayed ! This includes the wrong code to convert the intensity larger than 1.0 to 1e-16. Why ? Mar 01 2017 Merge branch 'devD4MatWith3D' Feb 28 2017 [update] SliceViewer3Dの活用3 SliceViewer3DをD4MatSlicerやD4Mat2Slicerからデータを渡せるようにする D4Mat2Slicerからプロットできるようにした - UtsusemiD4MatOnMem::Slice3d - ECMのHeaderに"SLICE3DKEYS" vectorで3軸のKEYを持たせる - D4Mat2Slicer::OnSlice3D - オリジナルはOutput3DSliceである。すでにUtsusemiD4MatOnMem::Slice3dを使っていたので ファイルに書き出す代わりにSliceViewerへ - その他 - D4MatSlicer, D4Mat2Slicer - lice Axis ("X-axis","Y-axis", "Thickness"など)の状態の変更で SliceボタンとSlice3Dボタンの表示・非表示を切り替えるようにした Feb 28 2017 [update] SliceViewer3Dの活用2 SliceViewer3DをD4MatSlicerやD4Mat2Slicerからデータを渡せるようにする さらに以下の機能を追加した。 - D4Matrix::SliceMat3D - コンテナ内部にもつ3軸のKEYの名前を指定できるようにした - ECMのHeaderに"SLICE3DKEYS" vectorで3軸のKEYを持たせる - SliceViewer3D - 3D上の軸のタイトルをリモートで変更できるようにした - View/ViewMainData.py - データのSLICE3DKEYSから3軸を決定するようにした - D4MatSlicer, D4Mat_Manyo.py - 上の変更への対応 - その他 - SliceViewerMainでFocal Pointの初期値を計算するようにした Feb 28 2017 [update] SliceViewer3Dの活用1 SliceViewer3DをD4MatSlicerやD4Mat2Slicerからデータを渡せるようにする そのために必要な以下の変更・追加を行った。 - SliceViewer3D::setDataの追加 - データのsrlzファイルをテンポラリファイルとして渡せるように。 - SliceViewerMain::setData, 及び::initializeViewerの追加 - テンポラリファイルのデコードとメタデータの初期化 - ファイルダイアログでデータファイル読み込み部分のコードを共有する形で実装 - View/ViewMainData - SetDataの追加 - ReadSerializationFileのコードを共有する形で実装 - データの点座標と、スライス軸の座標とbin幅の関係で スライスすると隙間ができる問題を修正 - その他 - 不要なコメントを省く Feb 27 2017 [update] C++実行ログの統一:coutの全廃とUtsusemiLoggerの推進2 以下の方針で行う。 - coutはデバッグ用(デバッグフラグ利用時など)だけ残す - Error, Warningのcoutは全てUtsusemiLoggerに変更 C++に関しては一部を除きほぼ終了。(UtsusemiEventDataMonitorNeunet以外) Feb 24 2017 [update] C++実行ログの統一:coutの全廃とUtsusemiLoggerの推進1 以下の方針で行う。 - coutはデバッグ用(デバッグフラグ利用時など)だけ残す - Error, Warningのcoutは全てUtsusemiLoggerに変更 - とりあえず手をつけた段階 Feb 22 2017 [update] 空蟬環境変数取得+ログ関数の時刻修正 空蟬の環境変数である UTSUSEMI_DATA_DIR と UTSUSEMI_SYS_NAME を得る関数を作成した。 UtsusemiEnvGetDataDir(), UtsusemiEnvGetInstCode() また、同様に UTSUSEMI_MULTH をとってくる関数名を揃えて UtsusemiEnvGetNumOfMulTh() に変更。 また、ログ関数の出力に時刻情報をつけることにした。 [2017/02/15 10:11:12] Feb 20 2017 [update] NormByBeam で正しく引数が渡されない問題の修正2 コメント文が重複している部分やミスがあったのを修正した。 Feb 20 2017 [bugfix] NormByBeam で正しく引数が渡されない問題の修正 BaseCommands::NormByBeamのアップデートにより、引数が一つ増えた("offset_sec")にも関わらず、それぞれの装置SIK,AMR,HPNのCmm::NormByBeamから呼び出される時の引数が修正されていなかった。そのため、isCT8Neutronのパラメータが露わには設定されず、デフォルトのFalseのままとなっていたため、CT9が読み込まれることとなった。 Feb 17 2017 [delete] Manual の消去 Manualは、別のレポジトリを立てることにして、Utsusemi レポジトリからは消去する。 Feb 17 2017 [fix] UtsusemiPlaneSlicer::GetPlaneAsDetectMap でkeyX, keyYが""の時のバグ修正 SetAxes( "", "", keyZ )で本来ならElementContainerArrayのインデックスがkeyXとして、ElementContainerのインデックスがkeyYとして機能する予定だったが、実装が甘く想定どうりに動かなかった。それを修正。 Feb 17 2017 [update] 0.3.4.1 -> 0.3.5.0で不要になったファイルが残っていたので消去 Feb 16 2017 [update] D4Mat2SlicerのTime Sliceの改良 StaticModeにおいて、Start Sec >0 and End Sec <0 の時の挙動を修正。