================================== 空蟬検出器マップ表示DetectMap ================================== DetectMapは主に位置敏感型検出器(Position Sensitive Detector PSD)のデータを一つの平面にマップ表示する可視化アプリケーションである。 多くのPSD(検出器)やPixel(PSD内の最小検出単位)を一時に俯瞰でき、そこから1 Pixel単位でデータを取り出すことができるものであり、例えば試料の方位を確認したり、不調な検出器を発見したりと測定中に非常によく使われている。 ただし実際にはPSDの位置などは反映されず、マップといってもあくまで概念的なものである。装置に設置された全てのPSDを表示したり(BL01,BL14など)、それぞれのバンク毎に表示したり(BL15など)とそれぞれの装置によっても使用方法が異なっている。 本稿では、DetectMapアプリケーションの使い方を示す。 GUI操作概要 ============ 通常は、 *SequenceEditor* 上で処理したデータを *Visualize* ボタンを経由して DetectMapで表示する機会が多いであろう。起動すると下記のような画面が現れる。 .. figure:: media/DetectMap_Main0.png :align: center :scale: 20 % DetectMap Window 下半分のプロット領域は、縦方向にはPSD検出器1本のPixelが並んでおり、横軸方向にはPSDが並んでいるイメージである。 .. figure:: media/DetectMap_PixelImage.png :align: center :scale: 20 % Meanings of detectors and pixels on plot area プロット領域の強度は、それぞれのPixelが持つX軸方向のある範囲の強度を積算したものである。イメージとしてはプロット面に垂直な方向にもう一つ軸があると考えれば良い。 .. figure:: media/DetectMap_AboutIntensity.png :align: center :scale: 20 % Schematic figure for the intensity of pixel. --------------------------------------- 強度スケール --------------------------------------- DetectMapの各Pixelにおける強度、すなわち各PixelのX軸方向の積算範囲を設定するのが、左上にある *X-axis Range of Pixel* である。 .. figure:: media/DetectMap_XrangeArea.png :align: center :scale: 40 % GUI:X axis range setting area 積算するX範囲を変更する場合、その範囲を入力し **Redraw** ボタンを押す。この再計算には数秒程度時間がかかる。 DetectMapの強度のスケールを変更するのは、プロット領域の左にあるスライドバー、もしくは下部にある *Intensity Range* を用いる。スライドバーはマウスで上下させ、 *Intensity Range* では強度の範囲を入力した後 *Apply* ボタンを押す。 .. figure:: media/DetectMap_IntensityRange.png :align: center :scale: 20 % GUI:Intensity range setting area また強度をログスケールに変更することも可能である。下図のように Displayメニューから **Log Scale** に選択しチェックを入れれば良い。 .. figure:: media/DetectMap_Main_LogScale.png :align: center :scale: 40 % Items of 'Display' menu --------------------------------------- Pixel情報 --------------------------------------- プロット領域にマウスポインタを移動させると、プロット領域の下にポインタが示している場所の Pixel の情報が表示される。表示される項目は以下のようになる。 .. table:: Pixel Information at mouse pointer :align: center +-----------+------------------------+ |DetId-Pixel|DetectIdとPixel番号 | +-----------+------------------------+ |2theta |Pixel位置のPolar Angle | +-----------+------------------------+ |Azim |Pixel位置のAzimuth Angle| +-----------+------------------------+ |Counts |強度 | +-----------+------------------------+ ---------------------------------------------- 2Dマップ表示とPixelの1Dプロット ---------------------------------------------- 検出器単位の2DマップとPixel単位の強度のプロットを行うことができる。 プロット領域をクリックすると、その位置の検出器番号が、 *2D Plot of Detector* にある *DetNo* の欄に入力され、同時に検出器番号とPixel番号が *Detector-Pixel Range* にある *From* の欄に入力される(下図)。 .. figure:: media/DetectMap_MouseClick.png :align: center :scale: 20 % GUI: 2D Plot of Detector and Detector-Pixel Range with click on plot もしくはプロット領域をドラッグすると、プロット領域にその領域が表示され、ドラッグの始点と終点の検出器とPixel番号がそれぞれ *2D Plot of Detector* と *Detector-Pixel Range* の欄に表示される。 .. figure:: media/DetectMap_DragOnPlot.png :align: center :scale: 20 % Drag on plot area このように *2D Plot of Detector* の欄に値がある状態で *2D Plot* ボタンを押せば、この検出器1本分の2次元マップ(M2Plot+)を表示することができる。この2次元マップは横軸はPixel番号、縦軸は各PixelのX-axis(TOFなど)となる。 .. figure:: media/DetectMap_2DPlot.png :align: center :scale: 20 % 2D Plotter launched by 2D Plot button 一方、 *Detector-Pixel Range* で指定された範囲のPixelデータを1次元プロットする場合は、下記の場所のボタンやリストで制御する。 .. figure:: media/DetectMap_1DPlotArea.png :align: center :scale: 20 % 1D Plot Area プルダウンメニューでは、1次元プロッタで選択領域内のPixelのデータをどのように表示するかを横軸で指定する。 .. table:: choice of X axis for 1D plotting :align: center +--------+-------------------+----------------------------------------+ |選択肢 |1次元プロッタの横軸|縦軸 | +========+===================+========================================+ |TOF |PixelデータのX軸 |PixelデータのY値 | +--------+-------------------+----------------------------------------+ |Detector|Detector番号 |DetectMapの強度値(Pixelデータ強度の平均| +--------+-------------------+ | |Pixel |Pixel番号 | | +--------+-------------------+----------------------------------------+ 3つのボタンは右隣の **Plotters** リストと連携して、それぞれ以下のような機能をもつ。 Appendボタン 選択領域内のPixel毎のデータを1つのプロッタ内で個別に表示する機能である。Plottersリストに何もPlotterがない場合は、新しくPlotter (MPlot)を開いてデータを表示(リストに追加)し、既存のPlotterが一つ、もしくはどれかが選択されている場合、そのPlotterにプロットが追加される。 なお、プルダウンメニューでの選択により挙動が異なる。 - TOF:領域に含まれる全Pixelが個別に表示 - Detector:領域に含まれるPixel方向の数のデータを作成し表示 - Pixel:領域に含まれるDetector方向の数のデータを作成し表示 Append Sumボタン 選択領域内の全Pixelのデータを1つのデータにしてプロッタで表示する機能である。強度は平均値である。Plottersリストとの関係性は Appendボタンと同様。 なお、プルダウンメニューでの選択により挙動が異なる。 - TOF:領域内の全Pixel強度を平均した1つのデータを作成し表示 - Detector:Pixel方向に強度を足し合わせた1つのデータを作成し表示 - Pixel:Detector方向に強度を足し合わせた1つのデータを作成し表示 New Plotterボタン 新しいPlotter (MPlot)を開き、リストに追加する(データは空っぽ)。このボタンでプロッタを作成し、 *Append* や *Append Sum* で追記するスタイルである。 具体的には、Appendボタンの場合は以下のように各Pixelは個別のプロットとなる。 .. figure:: media/DetectMap_1DPlot_Append.png :align: center :scale: 40 % Example for 'Append' buttons on DetectMap 一方、Append Sumボタンの場合は以下のように各Pixelは一つのプロットとなる。 .. figure:: media/DetectMap_1DPlot_AppendSum.png :align: center :scale: 40 % Example for 'Append' buttons on DetectMap CUI操作 ============ DetectMapはコマンドライン(Pythonインタプリタ)からは **起動のみ可能** である。夕顔のMPlotやM2Plot+ほど多様なコマンドは用意されていない。また表示できるデータは *ElementContainerMatrix* のみであり、かつ内部に含まれる *ElementContainerArray* が含む *ElementContainer* の数は全て一致していないと正しく動作しない。 :: >>> import utsusemi.vis.DetectMap as DM >>> DM.DetectMap(DAT) このように起動すると、コマンドラインからは一切の操作(他のコマンドの実行など)ができなくなるので注意すること。