はじめに#

本書について#

本書は J-PARC 物質・生命科学実験施設(MLF) の中性子散乱実験装置で使用される汎用データ処理環境である 空蟬[Ref.1])を使用するための基本となるマニュアルである。

本書では空蟬環境で使用される主なアプリケーション(コマンド実行環境アプリ、データプロットアプリ)の使用方法および空蟬に搭載されている機能を利用するためのコマンド群(リファレンスマニュアル)を記述する。

なお、具体的な空蟬環境のインストールと環境構築などについては、別冊のインストールマニュアルを参照のこと。 また中性子非弾性散乱用の機能やアプリケーションについては、別冊のユーザーズマニュアル(非弾性散乱)を参照のこと。

空蟬はまだ開発は継続しており、本書は2022年7月時点の情報で書かれている。最新の情報は下記の 空蟬ポータルサイト[Ref.2])より入手可能である。

空蟬ポータルサイト (https://mlfinfo.jp/groups/comp/ja/utsusemi.html)

空蟬の概要#

空蟬は、J-PARC, MLFで使用されているDAQミドルウェア([Ref.3])のMLFコンポーネントが出力するイベントデータのデータリダクション、可視化や補正を行うためのコード群である。MLFで開発が進められてきたデータ処理基盤である万葉ライブラリ([Ref.4])を利用し、柔軟なヒストグラム化、特に試料環境や装置状態を加味したデータ分別機能を使用した高度な解析を目指す。 また、測定中のデータを安全に解析できる Live Data Reduction のMLFでの実用化も目指している。

現在すでに多くの装置に導入が進み、MLFにおける解析ソフトウェアのフレームワーク的な役目を担う。

何ができるか#

MLFにおける多くの装置では、核破砕型中性子源から発生した中性子(入射中性子)を測定試料に照射し、試料内で原子分子と相互作用して出てきた中性子(散乱中性子)を検出器にて検知・収集する。いわゆる中性子散乱測定では、散乱中性子のエネルギーや散乱による軌道の変化を捉える必要があるが、軌道の変化は検出器の位置情報を用いて、エネルギーは飛行時間法(Time-Of-Flight法:発生中性子のエネルギーを距離と時間で分別する手法)を用いて知ることができる。この散乱中性子の検出された時間と位置情報はイベント記録方式で保存(イベントデータ)されるが、このデータを柔軟に活用し試料内部の情報(原子分子の構造や振動状態など)を得るためのデータ処理を行うことが、空蟬の主要な目的である。 それに加えいくつかのデータ補正機能や可視化機能が搭載されている。

含まれるソフトウェアやコード#

空蟬に含まれるソフトウェアやコード、および使用する可視化ソフトウェアは主に以下のようになっている。

  • データ処理機能

    • 基本Python関数群(空蟬環境のPythonスクリプトで使用できるコマンドなど)

    • ファサード関数群(基本関数を使いやすくまとめたコマンド群)

    • コマンド実行ソフトウェア(ファサード関数を組み合わせてスクリプト作成・実行するソフトウェア)

  • 可視化ソフトウェア

    • 各種汎用可視化ソフトウェア(”夕顔MPlot”, “夕顔M2Plot+”, “DetectMap”)

    • 非弾性散乱用可視化ソフトウェア(”VisualContM”, “D4MatSlicer”)

本マニュアルでは、これらのソフトウェアやコードの内、基本的なソフトウェアとコマンドの使用方法を説明するものである。

空蟬の構成#

空蟬は万葉ライブラリと呼ばれるMLF標準として使用されるデータ処理基盤ソフトウェアをベースとして構築されている。万葉ライブラリでは基本的なコードはC++で書かれているが、そのインターフェースとしてPythonを利用しているため、ユーザーはPythonコードから万葉ライブラリの関数を自由に呼び出せる。同様に空蟬も多数の独自関数をもち、それらの大半はPythonから使用される。ただしC++のコア関数は非常にプリミティブなものが多いため、実際のユーザーはさらにPythonのコードで使いやすい形にされた関数(ファサード関数)を利用することになる。このファサード関数を組み合わせてシーケンスを作成し簡単に実行するためのソフトウェアも用意されている。

また、データを可視化するために必要なソフトウェアも用意されている。かつては空蟬に含まれていた汎用可視化ソフトウェアの一部は、夕顔という名前で分離させて別モジュールとして扱うようになっている。そのため多くの空蟬のソフトウェアは夕顔が必須である。

したがって空蟬と呼ばれるものの広義な意味での構成は下図のように、万葉ライブラリ、夕顔、そして空蟬の3種類のコードやモジュール群が組み合わさったものとも言える。

../../_images/Structure_Between_Manyo_uGao_Utsusemi.png

Structure of Utsusemi in a broad sence#

動作環境#

空蟬4は、以下に示すOSの上で動作する Python 3.6 以降 (64bit) の上でのみ動作する。

Available operation systems for Utsusemi#

OS

バージョンなど

Linux (64bit)

Ubuntu 18.04, 20.04, CentOS 7.x, 8.x

Windows (64bit)

Windows 10

macOS

10.14(Mojave), 10.15(Catalina), 11.6(Big Sur), 12.4(Monterey)

主な機能#

  • MLFのイベントデータのヒストグラム化機能

    • DAQミドルウェアが出力するイベントデータをヒストグラム化

      • ヒストグラムの横軸単位:TOF, λ, Q(momentum transfer), Energy, EnergyTransfer, d値

    • フィルタリングの使用:時間分解、TrigNETを使用したデータ分別

  • 汎用的なコマンドシーケンス実行ソフトウェア(SequenceEditor)

    • スクリプトはコマンドラインでも実行可能

  • 汎用的可視化ソフトウェア 夕顔 を用いたプロッタ

    • 1次元プロッタ(MPlot)

    • 2次元プロッタ(M2Plot+)

  • 検出器マップ表示プロッタ(DetectMap)

  • 中性子散乱測定のデータ処理・可視化ソフトウェア

    • 簡単な補正 (検出器効率補正, 立体角補正, 規格化, 非弾性専用補正ki/kfなど)

    • 単結晶非弾性散乱測定の可視化(VisualContM)

    • 単結晶多次元測定の可視化(D4MatSlicer, D4Mat2Slicer)

対応する中性子検出用モジュール#

様々な検出器からのシグナルは、それぞれ専用の機器(モジュール)を通すことでイベントデータ化される。MLFのイベントデータはモジュールごとに少しフォーマットが異なるため、その対応状況を示す。

Available DAQ electronics modules on Utsusemi#

対応検出器

モジュール名

モジュールの説明

PSD(一次元位置敏感型検出器)

NEUNET

1次元型の検出器用のモジュール

窒素モニター

GATENET

0次元型の検出器用のモジュール

汎用シグナル

TrigNET

シグナルによって同時に測定されている中性子イベントを分別し、個別に解析するために使用

ガンマ線検出器

APV8008

1次元シンチレーションカウンター 2次元系検出器

Readout, ReadoutGate

2次元系検出器(WLSF,MWPC,RPMT)にも対応

導入されているMLFのビームライン(2022年度現在)#

Beam lines which imported Utsusemi#

BL

名前

コード

使用形態

BL01

四季

SIK

空蟬

BL02

DNA

DNA

空蟬+DNA用拡張

BL11

PLANET

HPN

空蟬+HPN用ソフトウェア

BL14

アマテラス

AMR

空蟬

BL15

大観

SAS

空蟬+SAS用拡張

BL17

写楽

NVR

空蟬

BL19

ENG

空蟬+ENG用ソフトウェア

BL21

NOVA

NVA

空蟬(一部)

開発情報#

開発環境#

Environment for Development#

項目

使用

開発言語

C++, Python3 (3.6, 3.8)

メイン開発環境

Linux ( Ubuntu 20.04 )

利用外部ライブラリ(C++)

万葉ライブラリ環境(Boost, HDF5, NeXus, MiniXML, gsl)

利用外部ライブラリ(Python)

numpy, scipy, matplotlib, PySide2( Qt ), pyqtgraphなど

動作確認環境

Ubuntu linux 16.04(64bit), 18.04, 20.04, CentOS 7.x, 8.x, Windows 10 (64bit), macOS (10.14, 10.15, 11.6, 12.5)

ライセンス#

GPLv3[Ref.5]

入手方法#

空蟬ポータルサイト (https://mlfinfo.jp/groups/comp/ja/utsusemi.html) より入手。

ソースコード#

現在準備中。

その他#

開発の歴史的経緯#

もともとチョッパー型非弾性散乱装置で使用するプログラム群と定義していたため装置を制御するソフトウェアやコードも含めていた。しかしヒストグラム化機能などが他の装置でも導入が進んだため、その汎用性を高めるために、装置制御用コードとは分離・独立させた。

名前の由来#

UTilitieS and User-interface of analysis Software Environment for MLF Instruments

ロゴイメージ#

  • ロゴイメージは源氏物語に登場する女性「空蟬」から(源氏物語 第3帖)

Utsusemi Logo land scape

ロゴ基本版#

Utsusemi Logo box type

ロゴ横長版#

参考文献#

[Ref.1]

Development status of software ‘Utsusemi’ for Chopper Spectrometers at MLF, J-PARC. Y. Inamura, T. Nakatani, J. Suzuki, T. Otomo, J. Phys. Soc. Jpn. 2013, 82, SA031-1 - SA031-9

[Ref.3]

Development of a data acquisition sub-system using DAQ-Middleware K.Nakayoshi, Y.Yasu, E.Inoue, H.Sendai, M.Tanaka, S.Satoh, S.Muto, N.Kaneko, T.Otomo, T.Nakatani and T.Uchida, NIM-A, 600, 173-175, 2009.

[Ref.4]

Object-oriented data analysis framework for neutron scattering experiments J. Suzuki, T. Nakatani, T. Ohhara, Y. Inamura, M. Yonemura, T. Morishima, T. Aoyagi, A. Manabe, T. Otomo, Nuclear Inst. and Meth. Phys. Res. 2009, 600, 123.