空蟬ファサード関数#

空蟬環境におけるファサード関数とは、空蟬で実装されているデータ処理の基本コマンドを必要に応じてより使いやすくまとめたりパラメータを整理したりしたビームライン専用の関数を指す。以下のような特徴を持つ。

  • 空蟬基本関数をベースする

  • 装置に適した関数だけを抜き出し使用

  • 装置に特化した固有の関数が用意

  • 機能ごとにグループ化

これらのファサード関数は、空蟬のコマンドシーケンスソフトウェアであるSequenceEditorによって装置ごとの関数として自動的に読み込まれるものであり、通常のユーザーが実際に目にしたり、利用したりするものである。大半が空蟬基本関数をそのままファサード関数としたり、基本関数をベースにより使いやすい関数を作成・提供したりと、ここは装置の個性の現れる部分である。

ファサード関数の使い方#

先に述べたように、本来ファサード関数はビームラインごとに異なっている。通常ファサード関数はグループ化されており、それぞれモジュールとしてまとめられている( Com, Cmm , Hist など)。これらファサード関数は、SequenceEditorで使用し、かつユーザーがスクリプトを書くときにこれらの関数を積極的に使用することになるであろう。ファサード関数はグループとして直接Pythonの実行パス上に存在しているので、呼び出すのが簡単である。空蟬環境におけるこれらファサード関数を直接実行する方法を示しておく。

>>> import Cmm
>>> ec = Cmm.AverageAll( dat )
など

以降の節では、どのビームラインでも共通で使用される Com モジュールのリファレンスのみ示し、ビームラインごとのモジュールは割愛する。

共通データ一般処理(グループ:Com)#

ElementContainerなどを取り扱う際に利用するコマンド群である。

Group

Commands

Com

CopyContainers

シーケンサ上のデータの複製を作る。

CalcContainers

シーケンサ上のデータ同士の計算を行う。

SearchHeaderInteg

シーケンサ上のデータのヘッダを検索する。

SearchHeaderDouble

シーケンサ上のデータのヘッダを検索する。

ExecCode

シーケンサ上のデータを用い、自由なPythonコマンドを実行する。

ExecFunctionCode

ExecCodeと同じだが、戻り値を指定できる。

ExecCodeManyArgs

ExecCodeと同等だが、使用できる変数が6つに増えている。

ExecFunctionCodeManyArgs

ExecFunctionCodeと同等だが、使用できる変数が6つに増えている。

MakeECList

ElementContainerArrayのデータからElementContainerを取り出し、Pythonのリストに収める

Com.CopyContainers#

ElementContainer、ElementContainerArray, ElementContainerMatrix,Pythonのリストといったデータの複製を作り戻り値とする。

パラメータ

タイプ

説明

dat

各種

ElementContainer, ElementContainerArray, ElementContainerMatrix, Python List

戻り値

datと同じ

Com.CalcContainers#

ElementContainer、ElementContainerArray,ElementContainerMatrixデータ同士の計算を行い、結果を別のコンテナで返す。

パラメータ

タイプ

説明

dat1

各種

ElementContainer, ElementContainerArray, ElementContainerMatrix

dat2

各種

ElementContainer, ElementContainerArray, ElementContainerMatrix

coef1

実数(Double)

dat1の係数

coef2

実数(Double)

dat2の係数

戻り値

datと同じ。

coef1 × da1 + coef2 × dat2

の演算行われ、戻り値として新しい

ElementContainerMatrix(もしくはArray)

が作られる。

Com.SearchHeaderInteger#

ElementContainerMatrixにある全ElementContainerのヘッダ情報のうち、整数をもつヘッダ情報を検索する。該当する全ElementContainerはElementContainerArrayとして戻る。

パラメータ

タイプ

説明

Target

Element-Container-Matrix

対象となるデータ。

HeaderKey

文字列(String)

検索を行うヘッダKey。

Min

整数(Int4)

検索条件の最小値。

Max

整数(Int4)

検索条件の最大値。

戻り値

ElementContainerArray。

Com.SearchHeaderDouble#

ElementContainerMatrixにある全ElementContainerのヘッダ情報のうち、実数をもつヘッダ情報を検索する。該当する全ElementContainerはElementContainerArrayとして戻る。

パラメータ

タイプ

説明

Target

Element-Container-Matrix

対象となるデータ。

HeaderKey

文字列(String)

検索を行うヘッダKey。

Min

実数(Double)

検索条件の最小値。

Max

実数(Double)

検索条件の最大値。

戻り値

ElementContainerArray。

Com.ExecCode#

Pythonのコマンドを実行する。パラメータとしては、実行されるコードと、用いるデータ(2つまで)を与えることができる。ExecCodeは実行するだけである。

パラメータ

タイプ

説明

Code

文字列(String)

実行したいコマンド。なお、下記のAを変数として用いることができる。Manyo Libの関数群を使用したい場合は、インスタンスとしてmmが割り当てられているので、

mm.XXXX(XXXXはコマンド)

と実行することができる。

A

各種

変数として用いたいデータを指定する。ただし、使用しない場合でも、何らかの値を入れておかないと動作しない。

戻り値

なし。

Com.ExecFunctionCode#

Pythonのコマンドを実行する。パラメータとしては、実行されるコードと、用いるデータ(2つまで)を与えることができる。ExecFunctionCodeは実行されたコードの戻り値を取り出す事ができる。

パラメータ

タイプ

説明

Code

文字列(String)

実行したいコマンド。なお、下記のA,Bを変数として用いることができる。Manyo Libの関数群を使用したい場合は、インスタンスとしてmmが割り当てられているので、

mm.XXXX(XXXXはコマンド)

と実行することができる。

A

各種

変数として用いたいデータを指定する。ただし、使用しない変数があっても、何らかの値を入れておかないと動作しない。

B

各種

変数として用いたいデータを指定する。ただし、使用しない変数があっても、何らかの値を入れておかないと動作しない。

戻り値

Codeの戻り値

Com.ExecCodeManyArgs#

Com.ExecCodeと同じだが、使用出来る変数がA,B,C,D,E,Fの6つになったもの。

Com.ExecFunctionCodeManyArgs#

ExecFunctionCodeと同じだが、使用できる変数がA,B,C,D,E,Fの6つになったもの。

Com.MakeECList#

ElementContainerArrayのデータからElementContainerを取り出し、Pythonのリストに収める。

パラメータ

タイプ

説明

DAT

Element-Container-Array

対象となるデータ。

Min

整数(Int4)

取り出すElementContaierの順番の最小値

Max

整数(Int4)

取り出すElementContaierの順番の最大値

戻り値

Pythonのリスト