チャンネル設定を UI で図的に変更します。

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

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

**使い方**

``Preferences`` プラグインは、*チャンネルごとに*設定を行います。あるチャンネルの
設定は、このプラグインを使って明示的に設定・保存されるまでは「Image」チャンネルから
継承されます。

「Save Settings」を押すと、設定がユーザーの $HOME/.ginga フォルダに保存されます
（各チャンネル NAME につき「channel_NAME.cfg」ファイル）。これにより、今後の Ginga
セッションで同じ名前のチャンネルが作成されると、同じ設定が得られます。

**色分布の設定**

.. figure:: figures/cdist-prefs.png
   :width: 400px
   :align: center
   :alt: 色分布の設定

   「Color Distribution」設定。

「Color Distribution」設定は、カットレベルが適用された後、最終的な色マッピングが
行われる直前に発生する、データ値から色インデックスへの変換に使われる設定を制御し
ます。低カットレベルと高カットレベルの間の値が、色・強度マッピングの段階にどのように
分配されるかに関わります。

「Algorithm」コントロールは、マッピングに使うアルゴリズムを設定するために使います。
コントロールをクリックしてリストを表示するか、コントロール上にカーソルを重ねた
まま単にマウスホイールをスクロールします。8 つのアルゴリズムが利用可能です:
linear、log、power、sqrt、squared、asinh、sinh、histeq。各アルゴリズムの名前は、
データがカラーマップの色にどのようにマッピングされるかを示しています。「linear」が
既定です。

**色マッピングの設定**

.. figure:: figures/cmap-prefs.png
   :width: 400px
   :align: center
   :alt: 色マッピングの設定

   「Color Mapping」設定。

「Color Mapping」設定は、色マッピングプロセスの最終段階で使われるカラーマップと
強度マップに使われる設定を制御します。「Color Distribution」設定とともに、これらは
データ値の 24 bpp RGB 視覚表現へのマッピングを制御します。

「Colormap」コントロールは、どのカラーマップを読み込んで使うかを選択します。
コントロールをクリックしてリストを表示するか、コントロール上にカーソルを重ねた
まま単にマウスホイールをスクロールします。

.. note:: Ginga には十分な種類のカラーマップが付属していますが、もっと欲しい場合は、
          独自のものを追加できます。あるいは ``matplotlib`` がインストールされて
          いれば、それが持つすべてを読み込めます。詳しくは「Customizing Ginga」を
          参照してください。

「Intensity」コントロールは、カラーマップとともに使う強度マップを選択します。強度
マップはカラーマップの直前に適用され、標準の線形の値スケールを反転スケール、対数
などに変えるために使えます。

「Invert CMap」チェックボックスは、選択したカラーマップを反転するために使えます
（多くのカラーマップは「Colormap」コントロールから反転形でも選択できる点に注意）。

「Rotate」コントロールはカラーマップを回転させるために使え、「Unrotate CMap」
ボタンは回転を既定の非回転状態に戻します。

「Color Defaults」ボタンは、すべての色マッピングコントロールを既定値にリセット
します: 「gray」カラーマップ、「ramp」（線形）強度、カラーマップの反転や回転なし。

**コントラストと明るさ（バイアス）の設定**

.. figure:: figures/contrast-prefs.png
   :width: 400px
   :align: center
   :alt: コントラストと明るさ（バイアス）の設定

   「Contrast and Brightness (Bias)」設定。

「Contrast」と「Brightness」コントロールは、ビューアのコントラストと明るさ
（別名「バイアス」）を設定します。これらは、1) ビューアウィンドウ内のコントラスト
モードを使う、または 2) カラーバーをドラッグ（明るさ／バイアスの設定）や
スクロール（コントラストの設定）で操作する、ことの代替を提供します。

「Default Contrast」と「Default Brightness」コントロールは、それぞれの設定を既定値
に戻します。

**オートカットの設定**

.. figure:: figures/autocuts-prefs.png
   :width: 400px
   :align: center
   :alt: オートカットの設定

   「Auto Cuts」設定。

「Auto Cuts」設定は、自動カットレベルのボタンやキーが押されたとき、または
オートカットが有効な状態で新しい画像を読み込むときの、ビューのカットレベルの計算を
制御します。ここからカットレベルを手動で設定することもできます。

「Cut Low」と「Cut High」フィールドは、下・上カットレベルを手動で指定するために
使えます。「Cut Levels」を押すと、レベルがこれらの値に手動で設定されます。値が
欠けている場合、既定で現在の値になると見なされます。

「Auto Levels」を押すと、アルゴリズムに従ってレベルが計算されます。「Auto Method」
コントロールは、どのオートカットアルゴリズムを使うかを選ぶために使います:
「minmax」（最小最大値）、「median」（メディアンフィルタリングに基づく）、
「histogram」（画像ヒストグラムに基づく）、「stddev」（ピクセル値の標準偏差に
基づく）、または「zscale」（IRAF によって普及した ZSCALE アルゴリズムに基づく）。
アルゴリズムが変更されると、その下のボックスも変わり、各アルゴリズムに固有の
パラメータの変更を可能にすることがあります。

**変換の設定**

.. figure:: figures/transform-prefs.png
   :width: 400px
   :align: center
   :alt: 変換の設定

   「Transform」設定。

「Transform」設定は、ビューを X または Y で反転したり、X 軸と Y 軸を入れ替えたり、
画像を任意の量だけ回転させたりして、画像のビューを変換できるようにします。

「Flip X」と「Flip Y」チェックボックスは、画像ビューを対応する軸で反転させます。

「Swap XY」チェックボックスは、X 軸と Y 軸を入れ替えることで画像ビューを変更します。
これは「Flip X」「Flip Y」と組み合わせて、画像を 90 度刻みで回転させられます。
これらのビューは、「Rotate」コントロールを使った任意の回転よりも速く描画されます。

「Rotate」コントロールは、画像ビューを指定した量だけ回転させます。値は度で指定
します。「Rotate」は、反転や入れ替えと組み合わせて指定できます。

「Restore」ボタンは、ビューを既定のビュー（反転なし、入れ替えなし、回転なし）に
戻します。

**WCS の設定**

.. figure:: figures/wcs-prefs.png
   :width: 400px
   :align: center
   :alt: WCS の設定

   「WCS」設定。

「WCS」設定は、画像内のカーソル位置を報告するために使う世界座標系（WCS）計算の表示
設定を制御します。

「WCS Coords」コントロールは、結果を表示する座標系を選ぶために使います。

「WCS Display」コントロールは、六十進法（``H:M:S``）表示または十進度表示を選ぶ
ために使います。

**ズームの設定**

.. figure:: figures/zoom-prefs.png
   :width: 400px
   :align: center
   :alt: ズームの設定

   「Zoom」設定。

「Zoom」設定は、Ginga のズーム／スケーリングの動作を制御します。Ginga は 2 つの
ズームアルゴリズムをサポートし、「Zoom Alg」コントロールで選びます:

* 「step」アルゴリズムは、画像を 1X、2X、3X などの離散的なステップで拡大し、または
  1/2X、1/3X、1/4X などのステップで縮小します。このアルゴリズムは視覚的に最も
  アーティファクトが少ないですが、スクロール動作を使って広い範囲をズームするときは
  少し遅くなります。大きなズーム変化を達成するにはより多くの「移動量」が必要だから
  です（数字キーなどのズームショートカットキーを使う場合はそうではありません）。

* 「rate」アルゴリズムは、「Zoom Rate」ボックスの値で定義される割合でスケーリングを
  進めることで画像をズームします。この割合は既定で 2 の平方根です。数字が大きい
  ほど、ズームレベル間のスケール変化が大きくなります。画質を少し犠牲にして画像を
  素早くズームしたい場合は、おそらくこのオプションを選びたいでしょう。

ズームアルゴリズムにどの方法が選ばれていても、スクロール中に ``Ctrl``（粗い）または
``Shift``（細かい）を押し続けることでズーム割合を制約してズームを制御できる点に
注意してください（既定のマウスバインディングを想定）。

「Stretch XY」コントロールは、一方の軸（X または Y）をもう一方に対して伸ばすために
使えます。このコントロールで軸を選び、「Stretch Factor」コントロール上にカーソルを
重ねながらスクロールホイールを回すと、選択した軸のピクセルが伸びます。

「Scale X」と「Scale Y」コントロールは、離散的なズームステップを迂回して、基礎と
なるスケーリングへの直接アクセスを提供します。ここでは、画像をスケールするために
正確な値を入力できます。逆に、画像がズームされるとこれらの値が変わるのが見えます。

「Scale Min」と「Scale Max」コントロールは、画像をどこまでスケールできるかに制限を
設けるために使えます。

「Interpolation」コントロールは、画像がどのように補間されるかを選べるようにします。
どのサポートパッケージがインストールされているかに応じて、次の選択ができます:

* 「basic」は組み込みアルゴリズムを使った最近傍法で、常に利用可能で、そこそこ速く、
  既定です。
* 「area」
* 「bicubic」
* 「lanczos」
* 「linear」
* 「nearest」は最近傍法（サポートパッケージを使用）

「Zoom Defaults」ボタンは、コントロールを Ginga の既定値に戻します。

**パンの設定**

.. figure:: figures/pan-prefs.png
   :width: 400px
   :align: center
   :alt: パンの設定

   「Pan」設定。

「Pan」設定は、Ginga のパン動作を制御します。

「Pan X」と「Pan Y」コントロールは、画像内のパン位置（ウィンドウの中央に位置する
画像の部分）を設定する直接アクセスを提供します -- 画像内をパンすると、これらが
変わるのが見えます。これらの値を設定してから「Apply Pan」を押すと、その正確な位置に
パンできます。

「Pan Coord」コントロールが「data」に設定されている場合、パンは画像内のデータ座標で
制御されます。「WCS」に設定されている場合、「Pan X」「Pan Y」コントロールに表示
される値は WCS 座標になります（画像に有効な WCS があると想定）。後者の場合、
「WCS sexagesimal」コントロールのチェックを外したままにすると座標を度で表示／設定
でき、チェックすると標準の六十進法表記で値を表示／設定できます。

「Center Image」ボタンは、X と Y の寸法を半分にして計算した画像の中央にパン位置を
設定します。

「Mark Center」チェックボックスをチェックすると、Ginga は画像の中央に小さな照準線を
描きます。これはパン位置を知るのやデバッグに便利です。

**一般の設定**

.. figure:: figures/general-prefs.png
   :width: 400px
   :align: center
   :alt: 一般の設定

   「General」設定。

「Num Images」設定は、このチャンネルで画像が排出される前にバッファにいくつ保持できる
かを指定します。値がゼロ（0）は無制限を意味し、画像は決して排出されません。画像が
アクセス可能なストレージから読み込まれ、排出された場合、チャンネルをナビゲートして
その画像に再訪すると自動的に再読み込みされます。

「Sort Order」設定は、チャンネル内で画像が名前のアルファベット順にソートされるか、
読み込まれた時刻でソートされるかを決めます。これは主に、上下の「矢印」キーやボタンを
使ったときに画像が循環する順序に影響し、「Contents」や「Thumbs」のようなプラグインで
どのように表示されるか（これらは一般に並び順に独自の設定を持ちます）に必ずしも影響
しません。

「Use scrollbars」チェックボックスは、画像をパンするためにチャンネルビューアが
ビューアフレームの縁の周りにスクロールバーを表示するかどうかを制御します。

**リセット（ビューア）の設定**

.. figure:: figures/reset-prefs.png
   :width: 400px
   :align: center
   :alt: リセット（ビューア）の設定

   「Reset」（ビューア）設定。

各チャンネルビューアには、*ビューアプロファイル*があります。これは、作成直後と、
そのチャンネルの保存済み設定の復元後のビューアの状態に初期化されます。画像を
切り替えるとき、このセクションでチェックされた項目に従って、ビューアの属性をこの
プロファイルにリセットできます。*何もチェックされていない場合、ビューアプロファイル
からは何もリセットされません*。

この機能を使うには、ビューアの設定を好みのように設定し、プラグイン下部の「Update
Viewer Profile」ボタンをクリックします。次に、画像間でどの項目をそれらの値にリセット
するかをチェックします。最後に、これらの設定を Ginga の再起動をまたいで永続させ、
ginga を再起動してこのチャンネルを再作成したときにこのチャンネルの既定ユーザー
プロファイルとして設定したい場合は、下部の「Save Settings」ボタンをクリックします。

* 「Reset Scale」はズーム（スケール）レベルをビューアプロファイルにリセットします
* 「Reset Pan」はパン位置をビューアプロファイルにリセットします
* 「Reset Transform」はあらゆる反転／入れ替え変換をビューアプロファイルにリセット
  します
* 「Reset Rotation」はあらゆる回転をビューアプロファイルにリセットします
* 「Reset Cuts」はあらゆるカットレベルをビューアプロファイルにリセットします
* 「Reset Distribution」はあらゆる色分布をビューアプロファイルにリセットします
* 「Reset Contrast」はあらゆるコントラスト／バイアスをビューアプロファイルに
  リセットします
* 「Reset Color Map」はあらゆるカラーマップ設定をビューアプロファイルにリセット
  します

.. tip:: この機能を使う場合は、「Remember (Image) Preferences」も設定したいかも
         しれません（下記参照）。

.. note:: 調整の完全な順序は次のとおりです:

          * 既定のビューアプロファイルからのリセット項目（あれば）
          * 画像プロファイルからの記憶された項目が適用される（あれば）
          * 自動調整（cuts/zoom/center）が適用される（記憶された設定によって
            上書きされていなければ）

**記憶（画像）の設定**

.. figure:: figures/remember-prefs.png
   :width: 400px
   :align: center
   :alt: 記憶（画像）の設定

   「Remember」（画像）設定。

画像が読み込まれると、*画像プロファイル*が作成され、チャンネル内の画像メタデータに
付加されます。これらのプロファイルは、画像が操作されるにつれてビューアの状態で継続
的に更新されます。「Remember」設定は、チャンネルでその画像に（戻って）ナビゲートした
ときに、これらのプロファイルのどの属性がビューアの状態に復元されるかを制御します:

* 「Remember Scale」は画像のズーム（スケール）レベルを復元します
* 「Remember Pan」は画像内のパン位置を復元します
* 「Remember Transform」はあらゆる反転や軸の入れ替え変換を復元します
* 「Remember Rotation」は画像のあらゆる回転を復元します
* 「Remember Cuts」は画像のあらゆるカットレベルを復元します
* 「Remember Distribution」はあらゆる色分布（linear、log など）を復元します
* 「Remember Contrast」はあらゆるコントラスト／バイアス調整を復元します
* 「Remember Color Map」は行われたあらゆるカラーマップの選択を復元します

*何もチェックされていない場合、画像プロファイルからは何も復元されません*。

.. note:: これらの項目は、あらゆる自動（cut/zoom/center new）調整が行われる*前*に
          設定されます。記憶された項目が設定されている場合、それはチャンネルの
          あらゆる自動調整設定を上書きします。

.. tip:: この機能を使う場合は、「Reset (Viewer) Preferences」も設定したいかも
         しれません（上記参照）。

***例***

Reset と Remember の設定を使う例として、コントラスト調整を頻繁に使うとします。特定の
画像で設定したコントラストを、その画像を再び表示したときに復元してほしいとします。
しかし、新しい画像を表示するときは、コントラストがある通常の設定から始まってほしい
とします。

これを実現するには、コントラストを希望の既定設定に手動でリセットします。「Reset
Contrast」をチェックしてから「Update Viewer Profile」を押します。最後に「Remember
Contrast」をチェックします。「Save Settings」をクリックして、チャンネル設定を永続
させます。

**新しい画像の設定**

.. figure:: figures/newimages-prefs.png
   :width: 400px
   :align: center
   :alt: 新しい画像の設定

   「New Image」設定。

「New Images」設定は、新しい画像がチャンネルに読み込まれたときに Ginga がどう反応
するかを決めます。*これには、``Thumbs`` プラグインのサムネイルをクリックしたり、
``Contents`` プラグインの名前をダブルクリックしたりして古い画像に再訪する場合も
含まれます*。

「Cut New」設定は、新しい画像に対して自動カットレベル計算を行うべきか、現在設定
されているカットレベルを適用すべきかを制御します。可能な設定は次のとおりです:

* 「off」: 常に現在設定されているカットレベルを使う;
* 「once」: 最初に訪れた画像で新しいカットレベルを計算し、その後「off」にする;
* 「override」: ユーザーが手動でカットレベルを設定して上書きするまで新しいカット
  レベルを計算し、その後「off」にする; または
* 「on」: 常に新しいカットレベルを計算する。

.. tip:: 「override」設定は、自動カットレベルの便利さを得つつ、新しい画像が取り
         込まれるときに手動で設定したカットが上書きされるのを防ぐために用意されて
         います。画像ウィンドウでタイプすると、セミコロンキーでモードを（「off」
         から）override に戻せ、コロンで設定を「on」にできます。``Info`` プラグイン
         （タブ: Synopsis）はこの設定の状態を示します。

「Zoom New」設定は、画像を訪れることがズームレベルを設定して画像をウィンドウに
合わせるべきかどうかを制御します。可能な設定は次のとおりです:

* 「off」: 常に現在設定されているズームレベルを使う;
* 「once」: 最初の画像をウィンドウに合わせ、その後「off」にする;
* 「override」: ズームレベルが手動で変更されるまで画像は自動的に合わせられ、その後
  モードは自動的に「off」に変わる; または
* 「on」: 新しい画像は常に合うようにズームされる。

.. tip:: 「override」設定は、自動ズームの便利さを得つつ、新しい画像が取り込まれる
         ときに手動で設定したズームレベルが上書きされるのを防ぐために用意されて
         います。画像ウィンドウでタイプすると、アポストロフィ（別名「シングル
         クォート」）キーでモードを（「off」から）「override」に戻せ、クォート
         （別名ダブルクォート）で設定を「on」にできます。``Info`` プラグイン
         （タブ: Synopsis）はこの設定の状態を示します。

「Center New」設定は、画像を訪れることがパン位置を画像の中央にリセットさせるべきか
どうかを制御します。可能な設定は次のとおりです:

* 「off」: 現在のパン位置をそのままにする;
* 「once」: 最初に訪れた画像を中央に配置し、その後「off」にする;
* 「override」: パン位置が手動で変更されるまで画像は自動的に中央に配置され、その後
  モードは自動的に「off」に変わる; または
* 「on」: 新しい画像は常に中央に配置される。

「Follow New」設定は、新しい画像がチャンネルに読み込まれたときに Ginga が表示を変える
かどうかを制御するために使います。チェックが外れている場合、画像は読み込まれます
（例えば ``Thumbs`` タブに現れることでわかる）が、表示は新しい画像に変わりません。
この設定は、新しい画像が何らかの自動的な手段でチャンネルに読み込まれていて、ユーザー
が中断されずに現在の画像を調べたい場合に便利です。

「Raise New」設定は、画像がそのチャンネルに読み込まれたときに Ginga がチャンネルの
タブを前面に出すかどうかを制御します。チェックが外れている場合、その特定のチャンネル
に画像が読み込まれても Ginga はタブを前面に出しません。

「Create Thumbnail」設定は、そのチャンネルに読み込まれた画像に対して Ginga が
サムネイルを作成するかどうかを制御します。多くの画像が頻繁にチャンネルに読み込まれる
場合（例: 低頻度のビデオフィード）、それらすべてのサムネイルを作成するのは望ましく
ないことがあります。

「Auto Orient」設定は、Ginga が画像メタデータに従って既定で画像を向き付けようとする
かどうかを制御します。これは現在、そのようなメタデータを含む RGB（例: JPEG）画像に
のみ有用です。現時点では WCS による自動の向き付けは行いません。

**ICC プロファイルの設定**

.. figure:: figures/icc-prefs.png
   :width: 400px
   :align: center
   :alt: ICC プロファイルの設定

   「ICC Profiles」設定。

Ginga は、LittleCMS ライブラリを使って、レンダリングチェーンで ICC（カラー
マネジメント）プロファイルを利用できます。

.. note:: ICC プロファイルを利用するには、Ginga の「ホーム」（通常 $HOME/.ginga）に
          「profiles」フォルダを作成し、必要なプロファイルをそこに置きます。
          $HOME/.ginga/general.cfg ファイルに「icc_working_profile」の値を追加して
          作業プロファイルを設定してください。先頭のパスは含めず、profiles フォルダ
          内の ICC ファイルのファイル名だけにします。これは、プロファイルを含む
          あらゆる RGB ファイルを作業プロファイルに変換するために使われます。

Preferences プラグインのこのセクションで、任意のチャンネルの出力プロファイルを設定
できます。

「Output ICC profile」コントロールは、ディスプレイへの出力レンダリングに使う
プロファイルを選択します。選択肢は $HOME/.ginga/profiles 内のプロファイルファイルから
です。通常はディスプレイプロファイルであるべきです。

「Rendering intent」コントロールは、ICC 変換プロセスで色をレンダリングするために使う
アルゴリズムを選びます。選択肢は次のとおりです:

* absolute_colorimetric
* perceptual
* relative_colorimetric
* saturation

「Proof ICC profile」と「Proof intent」は、校正のために同様に選ばれます。

「Black point compensation」チェックボックスは、色変換プロセスでこの機能をオンまたは
オフにします。これらの選択肢の詳細については、LittleCMS または ICC カラー
マネジメント一般のドキュメントを参照してください。
