
``PixTable`` は、ある領域内のピクセル値を確認・監視する方法を提供します。

**プラグインの種類: ローカル**

``PixTable`` はローカルプラグインで、チャンネルに関連付けられています。
チャンネルごとに 1 つのインスタンスを開けます。

**基本的な使い方**

最も基本的な使い方では、単にチャンネルビューア内でカーソルを動かします。すると
プラグイン UI の「Pixel Values」表示にピクセル値の配列が現れます。中央の値が
ハイライトされ、これはカーソルの下の値に対応します。

一番左のコンボボックスコントロールから 3x3、5x5、7x7、9x9 のグリッドを選べます。
配列の値が左右で切れないよう、「フォントサイズ」コントロールを調整すると役立つ
ことがあります。表をもっと見るために、プラグインのワークスペースを大きくすることも
できます。

.. note:: 画像が反転・転置・回転されている場合、表示される値の表の順序は必ずしも
          チャンネルビューアと一致しません。

**マークを使う**

マークを設定して選択すると、カーソルの代わりにマークの周囲のピクセル値が表示され
ます。マークはいくつでも作れ、それぞれ番号付きの「X」で示されます。マークの
ドロップダウンコントロールを変えるだけで別のマークを選び、その周囲の値を見られ
ます。現在選択されているマークは、他とは別の色で表示されます。

マークは、新しい画像が読み込まれても位置にとどまり、新しい画像の値を表示します。
このようにして、画像が頻繁に更新される場合でも、ある地点の周囲の領域を監視でき
ます。

「マークにパン」チェックボックスが選択されている場合、マークコントロールで別の
マークを選ぶと、チャンネルビューアがそのマークにパンします。これは、特に画像に
きつくズームインしているときに、複数の異なる画像で同じ地点を調べるのに便利です。

.. note:: マークコントロールを「None」に戻すと、ビューア内でカーソルを動かすたびに
          ピクセルテーブルが再び更新されます。

「Caption」ボックスは、次のマークが作成されるときにマークラベルに追加される
テキスト注釈を設定するために使えます。これは、例えば画像内の特徴にラベルを付ける
のに使えます。

**マークを削除する**

マークを削除するには、マークコントロールでそれを選び、「削除」とラベル付けされた
ボタンを押します。すべてのマークを削除するには、「すべて削除」とラベル付けされた
ボタンを押します。

**マークを移動する**

「移動」ラジオボタンがチェックされ、マークが選択されている場合、画像内の任意の
場所をクリックまたはドラッグすると、マークがその場所に移動し、ピクセルテーブルが
更新されます。現在マークが選択されていない場合は、新しいマークが作成されて移動
します。

**マークを描く**

「描画」ラジオボタンがチェックされている場合、クリックしてドラッグすると新しい
マークが作成されます。ドラッグが長いほど、「X」の半径が大きくなります。

**マークを編集する**

マークを選択した後に「編集」ラジオボタンがチェックされていると、マークの
コントロール点をドラッグして X の腕の半径を大きくしたり、バウンディングボックスを
ドラッグしてマークを移動したりできます。編集用のコントロール点が表示されていない
場合は、マークの中心をクリックするだけで有効になります。

**特殊キー**

「移動」モードでは、次のキーが有効です:
- 「n」はカーソルの位置に新しいマークを置きます
- 「m」は現在のマーク（あれば）をカーソルの位置に移動します
- 「d」は現在のマーク（あれば）を削除します
- 「j」は前のマーク（あれば）を選択します
- 「k」は次のマーク（あれば）を選択します

**ユーザー構成**

``~/.ginga/plugin_PixTable.cfg`` を使ってカスタマイズできます。``~`` はあなたの
HOME ディレクトリです:

.. code-block:: Python

  #
  # PixTable plugin preferences file
  #
  # Place this in file under ~/.ginga with the name "plugin_PixTable.cfg"

  # Default font
  font = 'fixed'

  # Default font size
  fontsize = 12

  # default size for mark point radius
  mark_radius = 10

  # style of point to draw
  mark_style = 'cross'

  # color of non-selected marks
  mark_color = 'purple'

  # color of selected mark
  select_color = 'cyan'

  # whether to update the pixel table when moving a mark around
  drag_update = True
