空蟬基本Python関数リファレンス#
- 最終更新日:
2022.03.18
概要#
空蟬基本Python関数とは、空蟬で実装されているデータ処理(イベントデータのヒストグラム化、データコンテナの扱い、共通の補正など)を行うためにPythonで作成された関数群を呼ぶ。一般に各装置で使用される関数、特にSequenceEditorで表示されるファサード関数は、この基本関数からの抜粋したもの、もしくは基本関数を組み合わせたり利用して作成したものとなる。
また、独自のファサード関数を作ったり、スクリプトを自作する場合にも参照できる。
基本関数の使い方#
本節で示す関数は基本関数として用意されているものであり、実際にユーザーが直接利用することはないと思われる。しかし新しくファサード関数を作る際にこれらの関数を利用することもあるので、空蟬環境において直接実行する方法を示しておく。
>>> import utsusemi.ana.Reduction.BaseCommands as BC
>>> ec = BC.AverageAll( dat )
など
非弾性散乱装置の場合、いくつか専用の基本関数も存在する。この場合は下記のような導入となる。
>>> import utsusemi.ana.Reduction.BaseCommandsInEla as BC
また、基本関数のうち、それぞれの装置で使用頻度の高いものは、あらかじめファサード Cmm モジュールにも登録されているので、それを使うことも可能である。
>>> import Cmm
>>> ec = Cmm.GetNeunetHist( \373", "hw,45.56,-4.0,40.0,0.2" )
など。
基本関数一覧#
共通データ処理#
関数 |
説明 |
---|---|
GetNeunetHist |
与えたパラメータでイベントデータを処理しヒストグラムに変換する |
NormByKickers |
キッカーの個数で強度を規格化する |
NormByBeamCurrent |
イベントデータをヒストグラム化したElementContainerMatrixに対し、 Proton Currentで規格化する |
SolidAngleCorrection |
立体角補正を行う |
DoMask |
与えたマスクファイルを用いてマスク処理を行う |
DetectorEffi |
検出器効率補正を行う |
AverageAll |
与えたElementContainerMatrix内の全てのPixelの平均を取り一つのElementContainerに収める |
PickUpRegion |
ElementContainerMatrixから特定の検出器領域を抜き出す |
SumOfPixel |
ElementContainerMatrixから指定した検出領域の総和のヒストグラムを返す |
SumOfTOF |
ElementContainerMatrixから指定した検出器内のPixelに対し、Time-of-Flight方向の和を取り 横軸Pixel-縦軸総和のElementContainerを返す |
GetPH |
PSDのヒストグラムから検出器の波高値を取り出す |
GetBeamCurrentFromECM |
ElementContainerMatrixからその測定中のProton Current [TP]の総和を返す |
NormByBeam |
イベントデータをヒストグラム化したElementContainerMatrixに対し、与えた測定時刻情報から Proton Currentで規格化する |
getBeamCurrent |
与えた時刻情報からその期間中のProton Current [TP]の総和を返す |
共通データファイル入出力処理#
関数 |
説明 |
---|---|
SaveDataToManyoBinary |
与えたElementContainer, -Array, -Matrixのデータを万葉バイナリデータに書き出す |
LoadDataFromManyoBinary |
万葉バイナリデータファイルからデータを取り出す |
OutPutAllPixelToTxt |
1ピクセルごとに別のテキストファイルとして書き出す |
SaveDataFromNxspe |
ElementContainerMatrixをHoraceのフォーマットであるNXSPEファイルとして書き出す。 |
LoadDataFromNxspe |
HoraceのフォーマットであるNXSPEファイルを変換して空蟬で使用できる ElementContainerMatrixに変換して読み込む。 |
SaveDataToSPE |
与えたElementContainerMatrixデータをSPEフォーマットに変換し書き出す |
LoadDataFromSPE |
SPEフォーマットファイルからデータを変換しElementContainerMatrixとして取り出す |
SaveDataToDAVEgrp |
与えられたElementContainerMatrixデータをDAVEフォーマットで書き出す |
SaveDataToNVASQ |
与えたElementContainerMatrixデータをNovaSQ用のフォーマット(NeXus)に変換し書き出す |
SaveDataToSrlz |
与えたElementContainer, -Array, -MatrixデータをManyoライブラリシリアライズフォーマット に書き出す(機種依存あり) |
LoadDataFromSrlz |
Manyoライブラリシリアライズフォーマットからデータを取り出す(機種依存あり) |
GetDataFromNeXus |
NeXusフォーマットファイルからデータを取り出す |
SaveDataToNeXus |
与えたElementContainerMatrixデータをNeXusフォーマットに書き出す |
装置用処理・その他#
関数 |
説明 |
---|---|
AppendRawDataFiles |
複数のRaw Data(イベントデータ)を結合し、別データとして保存する |
CheckDataProcess |
データ処理の履歴管理用関数 |
CopyData |
装置において、DAQ PC上のRaw Dataを解析PCへ集約・コピーする |
CopyIroha2Params |
装置において、IROHA2 PC上のLog, Paramデータを解析PCへ集約・コピーする |
MakeRunList |
装置において、Run No, 測定時間、温度、ゴニオ角度などの情報をリスト化する |
共通データ処理関数#
以下の関数は、 utsusemi.ana.Reduction.BaseCommands に収められている。
空蟬の共通データ処理関数が収められたモジュールである。
- utsusemi.ana.Reduction.BaseCommands.GetNeunetHist(runNo, HistParam, DetRange, DetParam, TimeRange, FrameInfo, MaskInfo, CaseInfo, BGInfo, TofShift, AnaMode, ParamFiles, Options)#
与えたパラメータでイベントデータを処理しヒストグラムに変換する。
イベントデータのヒストグラム化を行うための総合的な関数である。イベントデータをヒストグラム化するために必要な設定(ヒストグラム軸設定、検出器の範囲設定やディスクリ値の変更など)のうち、もっとも初期のころから実装していた機能をまとめて行えるようにした。これまでのいろいろなヒストグラム化にまつわる関数はすべてこれで置き換える方針。これまで個別に設定していたパラメータを設定ごとにまとめて指定(文字列として)することで、トータルのパラメータの個数を減らした。この関数も実際にはもう少し用途に特化した関数に組み込む予定(DR.GetDataOfMonochroEi2のように)なので、ユーザーが直接これを使うことは無いと思われる。
- Parameters:
runNo (string) – ヒストグラム化するRun numberを指定する
HistParam (string) – 作りたいヒストグラム(軸)の情報
DetRange (string) – 使用する検出器の範囲とPixel数設定
DetParam (string) – 検出器の種類とPulse Height設定
TimeRange (string) – 使用する時間範囲の情報
FrameInfo (string) – 使用するフレーム情報
MaskInfo (string) – 検出器に対するマスク処理設定
CaseInfo (string) – CaseInfoファイルの指定(0.3.6より実装)
BGInfo (string) – 各種バックグラウンドの指定(現状は時間に非依存のTOFバックグラウンドのみ)
TofShift (string) – TOF原点をLambdaに応じてシフトさせる場合に用いる(現状BL11用のみ)
AnaMode (string) – 使用するWiringInfoとDetectorInfoの組み合わせのパターンを指定する
ParamFiles (string) – WiringInfoとDetectorInfoを個別に与える
Options (string) – その他の設定
- Returns:
作成されたヒストグラムデータ
- Return type:
ElementConatainerMatrix
詳細は、以下を参照。
- utsusemi.ana.Reduction.BaseCommands.NormByKickers(dat, factor=1.0)#
イベントデータをヒストグラム化したElementContainerMatrixに対し、中性子発生回数(キッカー数)で規格化する。
- Parameters:
dat (ElementContainerMatrix) – 規格化したいデータ
factor (float) – キッカー数による規格化の値をfactorで割る
- Returns:
None
キッカー数の値は大抵データの強度に対し大きすぎることが多いため、第2引数の factor はキッカー数を割り戻す値である。なお factor に負の値を入力すると、キッカー数の値の代わりに入力値の絶対値で強度の割り算(規格化)を行う。つまり負号をつけることで任意の数値で規格化できる。キッカー数はヒストグラム化処理によりElementContainerMatrixのヘッダに含まれている。
- utsusemi.ana.Reduction.BaseCommands.NormByBeamCurrent(dat, factor=1000.0, offset_sec=0.0, isCT8Neutron=False)#
イベントデータをヒストグラム化したElementContainerMatrixに対しProton Currentで規格化する。
- Parameters:
dat (ElementContainerMatrix) – 規格化したいデータ
factor (float) – Proton Currentの割り戻し値、もしくは負の値
offset_sec (float) – 時刻補正用
isCT8Neutron (bool) – 使用するProton Monitorのうち、ミュオンターゲットの影響を考慮したモード(CT8Neutron)を使用するかどうか
- Returns:
None
Proton Currentの値は大抵データの強度に対し大きすぎることが多いため、第2引数の factor はキッカー数を割り戻す値である。なお factor に負の値を入力すると、Proton Currentの値の代わりに入力値の絶対値で強度の割り算(規格化)を行う。つまり負号をつけることで任意の数値で規格化できる。
引数 offset_sec は、Proton Currentを計算するために使用する測定時間(ヒストグラムデータのヘッダ情報に含まれる)がずれていた場合にそのオフセット時間を[秒]で補正するものであり、データの測定時間にオフセット時間を加えたものを真の時刻とする。よって通常は0.0で良い。
- utsusemi.ana.Reduction.BaseCommands.SolidAngleCorrection(dat, dS=-1.0)#
立体角補正を行う。
- Parameters:
dat (ElementContainerMatrix) – 補正したいデータ
dS (float) – 各Pixelの立体角をこの値で規格化する
- Returns:
None
引数 dS が-1.0の時はその装置のデフォルト値を使用する。
- utsusemi.ana.Reduction.BaseCommands.DoMask(dat, filename='mask.txt')#
与えたマスクファイルを用いてマスク処理を行う。マスクファイルのフォーマットなど詳細は、別の章で行う( 「空蟬で使用するマスク処理について」 )。
- Parameters:
dat (ElementContainerMatrix) – 補正したいデータ
filename (string) – マスクファイル名。完全なパス+ファイル名であればそれを利用する。ファイル名のみなら、検索ファイルパス(後述)に従い探索する。フォーマットの詳細は「空蟬で使用するマスク処理について」を参照のこと。
- Returns:
None
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )
${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )
- utsusemi.ana.Reduction.BaseCommands.DetectorEffi(dat, detInfo_file='DetectorInfo_Det.xml', det_name='SUS304-3He-PSD')#
検出器補正を行う。検出器の構成情報はDetectorInfo.xmlに記述するものを使うので、それを引数で指定する必要がある。将来的には融合する。
- Parameters:
dat (ElementContainerMatrix) – 補正したいデータ
detInfo_file (string) – 検出器の構成情報のあるDetectorInfoファイルを指定する
det_name (string) – 検出器の構成情報から補正に用いる検出器の定義名を指定する(DetectorInfoに記述されている必要がある)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.AverageAll(dat, maskfile='None')#
与えたElementContainerMatrix内の全てのPixelの平均を取り一つのElementContainerに収める。
- Parameters:
dat (ElementContainerMatrix) – 補正したいデータ
maskfile (string) – マスクファイル名。内部でDoMask関数を実行する。使用しない時は None を与える。詳細は「DoMask」関数リファレンスを参照のこと。
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.PickUpRegion(Target, PSD_min=1, PSD_max=1, Pixel_min=1, Pixel_max=1)#
ElementContainerMatrixから特定の検出器領域を抜き出す。
- Parameters:
Target (ElementContainerMatrix) – オリジナルデータ
PSD_min (int) – 検出器範囲の最小値(DetId)
PSD_max (int) – 検出器範囲の最大値(DetId)
Pixel_min (int) – 検出器範囲のPixel最小値(PixelNo)
Pixel_max (int) – 検出器範囲のPixel最大値(PixelNo)
- Returns:
抜き出したデータ
- Return type:
ElementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.SumOfPixel(Target, PSD_min=1, PSD_max=1, Pixel_min=1, Pixel_max=1)#
ElementContainerMatrixから指定した検出領域の総和のヒストグラムを返す。
- Parameters:
Target (ElementContainerMatrix) – オリジナルデータ
PSD_min (int) – 検出器範囲の最小値(DetId)
PSD_max (int) – 検出器範囲の最大値(DetId)
Pixel_min (int) – 検出器範囲のPixel最小値(PixelNo)
Pixel_max (int) – 検出器範囲のPixel最大値(PixelNo)
- Returns:
総和のデータ
- Return type:
ElementContainer
- utsusemi.ana.Reduction.BaseCommands.SumOfTOF(Target, PSD=1, tof_min=0, tof_max=40000)#
ElementContainerMatrixから指定した検出器内のPixelに対し、Time-of-Flight方向の和を取り、横軸Pixel-縦軸総和のElementContainerを返す。
- Parameters:
Target (ElementContainerMatrix) – オリジナルデータ
PSD (int) – 対象となる検出器(DetId)
tof_min (int) – 積算するTOF領域の最小値(micro-sec)
tof_max (int) – 積算するTOF領域の最大値(micro-sec)
- Returns:
横軸Pixel-縦軸総和データ
- Return type:
ElementContainer
- utsusemi.ana.Reduction.BaseCommands.GetPH(dat, binSize=1)#
PSDのヒストグラムから検出器の波高値を取り出す。なおデータはPulseHeightの解析も行う設定でヒストグラム化されていることが必要。
- Parameters:
dat (ElementContainerMatrix) – 与えるElementContainerMatrix
binSize (int) – 波高値の横軸のbin幅
- Returns:
それぞれの検出器(PSD)の波高分布が個別のElementContainerに格納されているデータ(戻り値はそのままM2Plotで表示できる)
- Return type:
ElementContainerArray
- utsusemi.ana.Reduction.BaseCommands.GetBeamCurrentFromECM(dat, offset_sec=0.0, isCT8Neutron=False)#
ElementContainerMatrixからその測定中のProton Current [TP]の総和を返す。
- Parameters:
dat (ElementContainerMatrix) – 規格化したいデータ
offset_sec (float) – 時刻補正用
isCT8Neutron (bool) – 使用するProton Monitorのうち、ミュオンターゲットの影響を考慮したモード(CT8Neutron)を使用するかどうか
- Returns:
None
引数 offset_sec は、Proton Currentを計算するために使用する測定時間(ヒストグラムデータのヘッダ情報に含まれる)がずれていた場合にそのオフセット時間を[秒]で補正するものであり、データの測定時間にオフセット時間を加えたものを真の時刻とする。よって通常は0.0で良い。
- utsusemi.ana.Reduction.BaseCommands.NormByBeam(dat, start_day='2009/5/30', start_time='10:00:00', end_day='2009/5/30', end_time='11:00:00', factor=1.0, offset_sec=0.0, isCT8Neutron=False)#
イベントデータをヒストグラム化したElementContainerMatrixに対し、与えた測定時刻情報からProton Currentで規格化する。
- Parameters:
dat (ElementContainerMatrix) – 規格化したいデータ
start_day (string) – 測定開始日(フォーマットは YYYY/MM/DD)
start_time (string) – 測定開始時刻(フォーマットは hh:mm:ss)
end_day (string) – 測定終了日(フォーマットは YYYY/MM/DD)
end_time (string) – 測定終了時刻(フォーマットは hh:mm:ss)
factor (float) – Proton Currentの割り戻し値、もしくは負の値
offset_sec (float) – 時刻補正用
isCT8Neutron (bool) – 使用するProton Monitorのうち、ミュオンターゲットの影響を考慮したモード(CT8Neutron)を使用するかどうか
- Returns:
None
Proton Currentの値は大抵データの強度に対し大きすぎることが多いため、第2引数の factor はキッカー数を割り戻す値である。なお factor に負の値を入力すると、Proton Currentの値の代わりに入力値の絶対値で強度の割り算(規格化)を行う。つまり負号をつけることで任意の数値で規格化できる。
引数 offset_sec は、Proton Currentを計算するために使用する測定時間(ヒストグラムデータのヘッダ情報に含まれる)がずれていた場合にそのオフセット時間を[秒]で補正するものであり、データの測定時間にオフセット時間を加えたものを真の時刻とする。よって通常は0.0で良い。
- utsusemi.ana.Reduction.BaseCommands.getBeamCurrent(start_day='2009/5/30', start_time='10:00:00', end_day='2009/5/30', end_time='11:00:00', offset_sec=0.0, isCT8Neutron=False)#
与えた時刻情報からその期間中のProton Current [TP]の総和を返す。
- Parameters:
dat (ElementContainerMatrix) – 規格化したいデータ
start_day (string) – 測定開始日(フォーマットは YYYY/MM/DD)
start_time (string) – 測定開始時刻(フォーマットは hh:mm:ss)
end_day (string) – 測定終了日(フォーマットは YYYY/MM/DD)
end_time (string) – 測定終了時刻(フォーマットは hh:mm:ss)
factor (float) – Proton Currentの割り戻し値、もしくは負の値
offset_sec (float) – 時刻補正用
isCT8Neutron (bool) – 使用するProton Monitorのうち、ミュオンターゲットの影響を考慮したモード(CT8Neutron)を使用するかどうか
- Returns:
プロトン数 [TP(テラプロトン)]
- Return type:
float
引数 offset_sec は、Proton Currentを計算するために使用する測定時間(ヒストグラムデータのヘッダ情報に含まれる)がずれていた場合にそのオフセット時間を[秒]で補正するものであり、データの測定時間にオフセット時間を加えたものを真の時刻とする。よって通常は0.0で良い。
使用頻度の低いもの#
- utsusemi.ana.Reduction.BaseCommands.CalcPhi(dat)#
ヒストグラム化された全Pixelのデータの位置情報からそれぞれのPixelのPolar角とAzimath角を計算し収める。ただし、全てのヒストグラム化関数である GetNeunetHist内部で既に処理されるので、使用機会はない。
- Parameters:
dat (ElementContainerMatrix) – 与えるElementContainerMatrix
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.GetHistDQconstNeunetPsd(runNo=0, Qrange='0.1 10.0', deltaQ=0.1, detRange='-1 -1', NumOfPixel=Def_NumOfPixel, timeRange='-1 -1', frameBoundary=0.0, inVect='0.0 0.0 1.0')#
中性子イベントデータをdQ constantのヒストグラムに変換する。
- Parameters:
runNo (int) – Run number
QRange (string) – ヒストグラム上のQの範囲。Qの最小値と最大値をスペース区切りで表記(”<Qmin> <Qmax>”)
deltaQ (float) – Qのbin幅
detRange (string) – 検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記
NumOfPixel (int) – 検出器(PSD)あたりのPixel数
timeRange (string) – 時間スライスの指定として時間の範囲(最小値と最大値)をスペース区切りで表記
frameBoundary (float) – セカンドフレーム使用時の境界となるTOF値
inVect (string) – 入射中性子の入射ベクトル。ベクトルをVx Vy Vzの成分(大きさは適当)で表記[mm]、スペース区切りで表記
- Returns:
ヒストグラムデータ
- Return type:
ELementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.GetHistDTconstGatenetMon(runNo=0, tofRange='0.0 40000.0', binTOF=10.0, detRange='-1 -1', NumOfPixel=4, timeRange='-1 -1', frameBoundary=0.0)#
中性子モニターのイベントデータをdT constantのヒストグラムに変換する。
- Parameters:
runNo (int) – Run number
tofRange (string) – ヒストグラム上のTOFの範囲。TOFの範囲(最小値と最大値)スペース区切りで表記(”<TOFmin> <TOFmax>”)
binTOF (float) – TOF方向のbin幅
detRange (string) – 検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記
NumOfPixel (int) – 検出器(PSD)あたりのPixel数
timeRange (string) – 時間スライスの指定として時間の範囲(最小値と最大値)をスペース区切りで表記
frameBoundary (float) – セカンドフレーム使用時の境界となるTOF値
inVect (string) – 入射中性子の入射ベクトル。ベクトルをVx Vy Vzの成分(大きさは適当)で表記[mm]、スペース区切りで表記
- Returns:
ヒストグラムデータ
- Return type:
ELementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.GetHistDTconstNeunetPsd(runNo=0, isTimeFoc=True, tofRange='0.0 40000.0', binTOF=10.0, detRange='-1 -1', NumOfPixel=Def_NumOfPixel, timeRange='-1 -1', frameBoundary=0.0)#
中性子イベントデータをdT constantのヒストグラムに変換する。
- Parameters:
runNo (int) – RunNo
isTimeFoc (bool) – ヒストグラム化時に、Time Focusingを行うかどうか
tofRange (string) – ヒストグラム上のTOFの範囲、TOFの範囲(最小値と最大値)スペース区切りで表記(”<TOFmin> <TOFmax>”)
binTOF (float) – TOF方向のbin幅
detRange (string) – 検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記
NumOfPixel (int) – 検出器(PSD)あたりのPixel数
timeRange (string) – 時間スライスの指定として時間の範囲(最小値と最大値)をスペース区切りで表記
frameBoundary (float) – セカンドフレーム使用時の境界となるTOF値
- Returns:
ヒストグラムデータ
- Return type:
ELementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.GetHistToDTconstGatenetMon(runNo=0, tofRange='0.0 40000.0', racio=0.01, detRange='-1 -1', NumOfPixel=4, timeRange='-1 -1', frameBoundary=0.0)#
中性子モニターのイベントデータをdT/T constantのヒストグラムに変換する。
- Parameters:
runNo (int) – RunNo
tofRange (string) – ヒストグラム上のTOFの範囲、TOFの範囲(最小値と最大値)スペース区切りで表記(”<TOFmin> <TOFmax>”)
racio (float) – deltaT/T Constの値を指定
detRange (string) – 検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記
NumOfPixel (int) – 検出器(PSD)あたりのPixel数
timeRange (string) – 時間スライスの指定として時間の範囲(最小値と最大値)をスペース区切りで表記
frameBoundary (float) – セカンドフレーム使用時の境界となるTOF値
- Returns:
ヒストグラムデータ
- Return type:
ELementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.GetHistToDTconstNeunetPsd(runNo=0, isTimeFoc=True, tofRange='0.0 40000.0', racio=0.01, detRange='-1 -1', NumOfPixel=Def_NumOfPixel, timeRange='-1 -1', frameBoundary=0.0)#
中性子イベントデータをdT/T constantのヒストグラムに変換する。
- Parameters:
runNo (int) – RunNo
isTimeFoc (bool) – ヒストグラム化時に、Time Focusingを行うかどうか
tofRange (string) – ヒストグラム上のTOFの範囲、TOFの範囲(最小値と最大値)スペース区切りで表記(”<TOFmin> <TOFmax>”)
racio (float) – deltaT/T Constの値を指定
detRange (string) – 検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記
NumOfPixel (int) – 検出器(PSD)あたりのPixel数
timeRange (string) – 時間スライスの指定として時間の範囲(最小値と最大値)をスペース区切りで表記
frameBoundary (float) – セカンドフレーム使用時の境界となるTOF値
- Returns:
ヒストグラムデータ
- Return type:
ELementContainerMatrix
共通データファイル入出力処理#
- utsusemi.ana.Reduction.BaseCommands.SaveDataToManyoBinary(dat, path='./', filename='Sample.mdb')#
万葉ライブラリのデータコンテナを万葉ライブラリ標準のバイナリファイルとして書き出す。なお、与えるデータのフォーマットは ElementContainer , ElementContainerArray , ElementContainerMatrix のいずれでも良い。またファイル名のデフォルトの拡張子は .mdb である。
- Parameters:
dat (ElementContainer,-Array,-Matrix) – 保存するElementContainer, -Array, -Matrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名(命名ルールとして拡張子に.mdbをつけること)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.LoadDataFromManyoBinary(path='./', filename='Sample.mdb')#
万葉ライブラリ標準のバイナリファイルとして書き出されたデータコンテナを読み込む。ファイル名のデフォルトの拡張子は .mdb である。
- Parameters:
path (string) – mdbファイルの入っているフォルダへの絶対パス
filename (string) – 対象となるmdbファイルの名前
- Returns:
読み込んだデータ
- Return type:
ElementContainer,-Array,-Matrix
- utsusemi.ana.Reduction.BaseCommands.OutPutAllPixelToTxt(dat, filepath='')#
与えたElementContainerMatrix内の全データをテキストファイルに書き出す。
それぞれのPixelは runNNNNNN_DDD_PPP.txt のフォーマットの名前となる。ここでNNNNNNは、Run Number, DDDはElementContainerMatrix内のElementContainerArrayの順番、PPPはElementContainerArray内のElementContainerの順番。例としては、 run123456_123_456.txt となる
- Parameters:
dat (ElementContainerMatrix) – 保存するデータ
filepath (string) – 保存ファイルへの絶対パス
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.SaveDataToNxspe(dat, path='./', filename='Sample', params='PSI:0.0,TEMP:300.0,USER:mlfuser')#
非弾性散乱処理を行なったデータコンテナ(ElementContainerMatrix)をHoraceのフォーマットであるNXSPEファイルとして書き出す。
- Parameters:
dat (ElementContainerMatrix) – 保存するElementContainerMatrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は不要(命名ルールとして.nxspeだが自動的に付与)
params (string) – NXSPEファイルに追加する情報(”PSI:0.0,TEMP:300.0,USER:mlfuser”)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.LoadDataFromNxspe(path='./', filename='Sample.nxspe', num_of_pixels=100)#
HoraceのフォーマットであるNXSPEファイルを変換して空蟬で使用できるElementContainerMatrixに変換して読み込む。
- Parameters:
path (string) – ファイルの入っているフォルダへの絶対パス
filename (string) – 対象となるNXSPEファイルの名前
num_of_pixels (int) – Pixelのグループ化(PSD的に)を内部で行うのに必要なPixel数/1Group
- Returns:
読み込んだデータ
- Return type:
ElementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.SaveDataToSPE(dat, path='./', filename='Sample')#
与えたElementContainerMatrixデータをSPEフォーマットに変換し書き出す。通常、SPEファイルは、yyyyy.SPEとyyyyy.PHXという二つのファイルによって構成されている。この関数では、両方のファイルの共通部分であるyyyyy部分を与えることで、両方のファイルを書き出す。
- Parameters:
dat (ElementContainerMatrix) – 保存するElementContainerMatrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は不要(自動的に付与)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.LoadDataFromSPE(path='./', spefile='Sample.spe', Ei=100.0, num_of_pixels=100, runNo='XXX000001')#
SPEフォーマットファイルからデータを変換しElementContainerMatrixとして取り出す。通常、SPEファイルは、yyyyy.SPEとyyyyy.PHXという二つのファイルによって構成されている。この関数では、両方のファイルの共通部分であるyyyyy部分を与えることで、両方のファイルを読み込む。
- Parameters:
path (string) – SPEファイル、及びPHXファイルの入っているフォルダへの絶対パス
filename (string) – 対象となるSPEファイル名とPHXファイル名(拡張子は不要)
- Returns:
読み込んだデータ(空蟬のデータに変換済みであるので空蟬の可視化ソフトウェアなどで利用できる)
- Return type:
ElementContainerMatrix
- utsusemi.ana.Reduction.BaseCommands.SaveDataToDAVEgrp(dat=DAT, path='./', filename='Sample.grp', startQ=1.0, endQ=1.0, frcQ=1, binE=0.0)#
与えられたELementContainerMatrixデータをDAVE用のフォーマットに変換して書き出す。
- Parameters:
dat (ElementContainer) – 保存するElementContainer
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は.grp
startQ (float) – Qの最小値
endQ (float) – Qの最大値
frcQ (float) – 分割数
binE (float) – エネルギー方向のリビニング幅(0.0ならオリジナルのまま)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.SaveDataToNVASQ(dat, path='./', filename='Sample.nx', L1=25000.0, px=15000.0, py=0.0, pz=0.0)#
与えたElementContainerMatrixデータをNovaSQ用のフォーマット(NeXus)に変換し書き出す。
- Parameters:
dat (ElementContainerMatrix) – 保存するElementContainerMatrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は不要(自動的に付与)
L1 (float) – L1 [mm]
px (float) – Pixel位置のx座標 [mm]
py (float) – Pixel位置のy座標 [mm]
pz (float) – Pixel位置のz座標 [mm]
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.SaveDataToSrlz(dat, path='./', filename='Sample.srlz')#
与えたElementContainer, -Array, -MatrixデータをManyoライブラリシリアライズフォーマットに書き出す。このフォーマットは非常に高速に読み書きができるが、そのPCの環境に依存するので、他のPC(同じOSでも)で作成されたファイルを読み込むことはできない。
- Parameters:
dat (ElementContainer,-Array,-Matrix) – 保存するElementContainer,-Array,-Matrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は.dmp
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.LoadDataFromSrlz(path='./', filename='Sample.srlz', DataType='ECM')#
Manyoライブラリシリアライズフォーマットからデータを取り出す。このフォーマットは非常に高速に読み書きができるが、そのPCの環境に依存するので、他のPC(同じOSでも)で作成されたファイルを読み込むことはできない。
- Parameters:
path (string) – シリアライズフォーマットファイル(.srlz)の入っているフォルダへの絶対パス
filename (string) – 対象となるファイル名(.srlz)
- Returns:
読み込んだデータ(シリアライズフォーマットファイルに含まれているデータに依存する)
- Return type:
ElementContainer,-Array,-Matrix
- utsusemi.ana.Reduction.BaseCommands.SaveDataToNeXus(dat, name='Data', path='./', filename='Sample.nx')#
与えたElementContainerMatrixデータをNeXusフォーマットに書き出す。
- Parameters:
dat (ElementContainerMatrix) – 保存するElementContainerMatrix
name (string) – NeXusフォーマット内の所有者の名前
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名、拡張子は.nx
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.GetDataFromNeXus(path='./', filename='Sample.nx')#
NeXusフォーマットファイルからデータを取り出す。
- Parameters:
path (string) – NeXusファイルの入っているフォルダへの絶対パス
filename (string) – 対象となるNeXusファイルの名前
- Returns:
読み込んだデータ(NeXusファイルに含まれているデータに依存する)
- Return type:
ElementContainer,-Array,-Matrix
使用頻度の低いもの#
- utsusemi.ana.Reduction.BaseCommands.SaveDataToDump(dat, path='./', filename='Sample.dmp')#
与えたElementContainer, -Array, -MatrixのデータをDumpフォーマットに書き出す。
ただし、これはPythonのシリアライズ機能を用いており、Python2とPython3で互換性がないので注意すること。
- Parameters:
dat (ElementContainer,-Array,-Matrix) – 保存するElementContainer, -Array, -Matrix
path (string) – 保存先のフォルダへの絶対パス
filename (string) – 保存ファイル名(命名ルールとして拡張子に.dmpをつけること)
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.LoadDataFromDump(path='./', filename='Sample.dmp')#
Dumpフォーマットファイルからデータを取り出す。
- Parameters:
path (string) – Dumpファイルの入っているフォルダへの絶対パス
filename (string) – 対象となるDumpファイルの名前
- Returns:
読み込んだデータ
- Return type:
ElementContainer,-Array,-Matrix
装置用処理・その他#
以下の処理は、現場で必要となることがほとんどである。
- utsusemi.ana.Reduction.BaseCommands.AppendRawDataFiles(OutRunNo=990000, outDataPath='-', RunNo1=0, RunNo2=0, RunNo3=0, RunNo4=0, RunNo5=0, RunNo6=0)#
複数のRaw Data(イベントデータ)を結合し、別データとして保存する。
- Parameters:
OutRunNo (int) – 保存するデータのRunNo(このRunNoを名前に含んだフォルダを作成し保存)
outDataPath (string) – 出力先フォルダ(この中にOutRunNoの名前を含んだデータフォルダが保存)
RunNo1 (int) – 結合するRunNo #1
RunNo2 (int) – 結合するRunNo #2
RunNo3 (int) – 結合するRunNo #3
RunNo4 (int) – 結合するRunNo #4
RunNo5 (int) – 結合するRunNo #5
RunNo6 (int) – 結合するRunNo #6
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.CheckDataProcess(dat, process='', isExact=True)#
データ処理の履歴管理用関数。
ElementContainerシリーズのヘッダに埋め込まれた vector<string> のキー”DATAPROCESSED”の情報をチェックする。
- Parameters:
dat (ElementContainer,-Array,-Matrix) – チェックするデータ
process (string) – チェックするプロセス名
isExuct (bool) – プロセス名を厳密に判断するかどうか(Falseなら一部が含まれていればTrue)
- Returns:
含まれているならTrue、含まれていないならFalse
- Return type:
bool
- utsusemi.ana.Reduction.BaseCommands.CopyData(first_run=10, last_run=-1, flag=0)#
装置において、DAQ PC上のRaw Dataを解析PCへ集約・コピーする。各DAQ CPU上にあるデータを/data/XXX以下へ持ってくるための関数を実行する。測定中のデータおよび測定後のデータは、各DAQ CPUに分散して保存されているため、これらを解析するためには1ヶ所に集める必要がある。そのための関数である。(DR.CopyDataと全く同等)
- Parameters:
first_run (int) – コピーしたい最初のRun number
last_run (int) – コピーしたい最後のRun number
flag (bool) – コピーなら0、コピーではなくシンボリックリンクにするときは1
- Returns:
None
- utsusemi.ana.Reduction.BaseCommands.CopyIroha2Params(first_run=10, last_run=-1, flag=0, target='')#
装置において、IROHA2 PC上のLog, Paramデータを解析PCへ集約・コピーする。
- utsusemi.ana.Reduction.BaseCommands.MakeRunList(start_run=-1, end_run=-1, output='./run_list.txt', flag_proton=4, offset_sec=0.0, isCT8n=True, devTemp='LakeShore340', devGonio='Gonio')#
装置において、Run No, 測定時間、温度、ゴニオ角度などの情報をリスト化する。