xieperf - XIE
サーバ拡張のテストとデモ用のプログラム
xieperf [-option ...]
xieperf は X11R5 の
x11perf(1)
を基にしており、XIE
プロトコルを完全に包括してはいないものの(「バグ」
セクション参照)、プロトコルの実装の正しさと性能に関して、XIE
の実装の
評価に役立てることを目的にしている。
xieperf
プログラムはプロトコルリクエストと
XIE
プロトコルのリビジョン
5.0 で定 義された photoflo
要素をそれぞれ実行するテストを含む。さらに、
xieperf は、FloMatch, FloValue 等の XIE
プロトコルリクエストのエラーの発見や伝
達を確認するために使うテストの集合を与える。最後に、
xieperf
は、カスタマイズ可能
なXIE
のデモプログラムにもなる。
テストは順に実行される3つのコンポーネント、すなわち初期化関数、テスト
関数、終了関数からなる。初期化関数は、フォトマップや
LUT 等のテストの
リソースを確保し、割り当てる責任や、テスト関数が実行する格納される
photoflo
を生成する責任を負う。テスト関数はほとんどの場合、格納された
photoplo
を単に指定された回数だけ実行する。
終了関数は主として、キャッシュできない全てのサーバリソースを破棄し、ク
ライアントに動的に割り当てられた全てのメモリを解放するために使われる。
この終了関数はテスト関数の後に呼び出される。テストによっては(-modify1,
-await, -abort, -redefine
等)、テスト関数の内部ループ内で追加のステッ
プを実行する。これはテストされる要素の要求に応じるためや、テストの見栄
えを良くするために行われる。
個々の XIE
要素の性能の評価は、コアの
X
リクエストの描画時間の測定ほど
単純ではない。XIE
プロトコルは要素を試すためにこれを
photoflo に埋め込 むが、photoflo
の最小のサイズは2である。これは、1つの要素の単独の性能
を測定することが不可能であるということである。flo
の実行にかかる時間は、
flo
内に入っている他の要素に依存する。flo
内の1つの要素の性能(または技
術)の推定は、ケースバイケースの原則に則って注意深く行わなければならな
い。なぜなら、一般には測定される要素の性能は入力するイメージのサイズ、
データのタイプやその他の要因に依存するし、これらは全て前の
flo 要素の
影響を受けるからである。また、flo
内の要素の数とタイプはディスプレイ上
で利用可能なビジュアルの影響を受けるため、ビジュアルの異なるマシン上で
の flo-flo
比較は注意して行わなければならない点に注意すること。
テスト名の多くにはパイプライン記述の省略形が含まれる。例えば、
IP/IL/P/ED はそれぞれ ImportPhotomap, ImportLUT,
Point, ExportDrawable
である。ED(ExportDrawable)で終わるパイプラインは、flo
の出力をスクリー
ンのビジュアルにマッチさせるための
BandExtract, ConvertToIndex, Dither, Point
のような隠された要素を含むことが多い。EP(ExportPhotomap)
で終わるパイプラインの結果はブランクウィンドウとなる。
xieperf は
x11perfcomp(1)
と互換である。
このプログラムは異なる
xieperf や
x11perf
の出力を比較し、わかりやすい表の形式で出力する。
xieperf
において正しい出力を得るには、-label
オプション(「オプション」セクショ
ンを参照)を用い、得られたラベルファイルを
x11perfcomp(1)
に与える必要がある。
詳しくは
x11perfcomp(1)
のオンラインマニュアルを参照すること。
オプション¶
xieperf
には以下のオプションを指定することができる:
- -display host:dpy
- 使用するディスプレイを指定する。
- -images <path>
- 通常は xieperf
はディレクトリ ``images''
にあるイメージファイルを参照する。
xieperf
はこのディレクトリはカレントディレクトリにあるものと想定する。
カレントディレクトリに
``images''
ディレクトリがない場合や、ファイル名
が変わった場合には、このオプションを使ってその場所を指定すること。
- -timeout <s>
- テストによっては実行を続けるために
FloNotify
等のイベントを受け取る必
要があり、これらのイベントを受け取れないと
xieperf
がハングしてしまう。このオプションを使うとタイムアウト値を指定すること
ができる。この時間を過ぎると、
xieperf
はイベントを待つのをあきらめて次の順番のテストを続ける。イベントがタイ
ムアウトすると、警告メッセージが標準エラー出力に出力される。デフォルト
のタイムアウト値は60秒である。
- -sync
- テストを同期モードで実行する。
- -script <file>
- このオプションを用いると、ユーザは利用可能なテストのサブセットを実行す
ることができ、個別のテストが実行される回数を制御することができる。この
機能は xieperf
をデモに使うときに特に便利だと思われる。このオプションを使うと、
xieperf
はスクリプトファイル内で指定されたコマンドを読み込む。ただし、
<file> に ``-''
を指定した場合には標準入力から読み込む。
テストは改行区切りで
"command [-reps n ] [ -repeat m ]"
という形式の入
力行で記述される。"#"
以降の文字はコメントとして扱われる。-mkscript
オ
プションを参照すること。
- -repeat <n>
- それぞれのテストを
n
回繰り返す(デフォルトでは、それぞれのテストは2回実行される)。このオプ
ションもスクリプトファイルで使うことができる。この場合、スクリプトファ
イル内での -repart
の指定は、コマンド行オプションでの指定を上書き
する。
- -time <s>
- それぞれのテストが何秒間実行されるかを指定する(デフォルトでは5秒間)。
- -depth <depth>
- ピクセルごとに
<depth>
プレーンを持つビジュアルを使用する(デフォルト値
はデフォルトのビジュアルである)。
- -GrayScale
- GrayScale
ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで
ある)。
- -PseudoColor
- PseudoColor
ビジュアルを使用する(デフォルト値はデフォルトのビジュアル
である)。
- -StaticGray
- StaticGray
ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで
ある)。
- -StaticColor
- StaticColor
ビジュアルを使用する(デフォルト値はデフォルトのビジュアル
である)。
- -TrueColor
- TrueColor
ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで
ある)。
- -DirectColor
- DirectColor
ビジュアルを使用する(デフォルト値はデフォルトのビジュアル
である)。
- -WMSafe
- xieperf
をウィンドウマネージャ環境で実行しなければならないときには、このフラグ
を用いて xieperf
をウィンドウマネージャ対応にすること。このオプションを指定すると、
xieperf
はルートウィンドウと同じサイズのウィンドウを生成し、それ以降
xieperf
が生成するウィンドウはこのウィンドウの子ウィンドウである一時的なポップ
アップウィンドウとなる。このフラグを省略すると、
xieperf
は全てのウィンドウの
override_redirect 属性に ``True''
をセットし、 XInstallColormap
のような行儀の悪い操作を行う。
このオプションを使用すると、ウィンドウマネージャは
xieperf
が指定したウィンドウのジオメトリのヒントに(たぶん)従う。
- -showtechs
- 技術の包括的なリストをカテゴリー別に表示し、XIE
サーバがサポートしてい
る技術を示す。
- -showlabels
- テストのコードを呼び出す前に、テストのラベルをスクリーンに表示する。こ
れによって、テストが何らかの理由でハングするような場合に、ユーザは実行
されているテストを知ることができる。
- -showevents
- イベントとエラーのテストの際に詳しい出力を行う。
また、 xieperf
の実行中に受け取ったシグナルの捕捉と情報の表示を行うためにも利用できる。
このフラグはデバッグのとき、または新しいプラットフォームで初めてテスト
を行う際に xieperf
が受け取ったエラーイベントが正しいことを検証するときに最も役立つ点に注
意すること。
- -events
- イベント生成を調べるテストを実行する。
- -errors
- エラーイベント生成を調べるテストを実行する。
- -loCal
- テストのキャリブレーションをスキップする。これは実行のタイミングが重要
でない場合に用いる。このオプションが有効であるとき、
xieperf
を実行した時間を通知しない。これに加えて、内部ループの繰り返し回数は5に
セットされる(ただし、これは
-reps
オプションで上書きされる)。
- -all
- 全てのテストを実行する。この場合は、マシンの速度と浮動小数点の計算能力
によって時間がかかることがある。スクリプトファイルを用いると、このオプ
ションは無視される。
- -tests
- xieperf
で利用できるテストのリストを生成する。
x11perf
の場合には、普通はこのリストは使用方法と一緒に表示される。しかし、
xieperf
ではこのリストが長くなりすぎるために、異なる仕様にされている。
- -mkscript
- -script
オプションで利用できるスクリプトファイルを生成する。-repeat
ま たは -reps
オプションも指定した場合、これらのオプションはスクリプト内
の各コマンドの末尾に自動的に追加される。スクリプトは標準エラー出力に出
力される。前述の -script
を参照すること。
- -cache <n>
- テスト flo
の大部分は、入力対象にはフォトマップを利用する。テストの初
期化の途中にこれらのイメージを常に再読み込みするのを避けるため、
xieperf は n
エントリまでのフォトマップのキャッシュを制御する。
デフォルトのキャッシュのサイズは4である。デフォルト値より小さい値が指
定されても、キャッシュのサイズにはデフォルト値がセットされる。
- -labels
- 指定したそれぞれのテストに対し、説明のラベルを付ける。含めるテストは
-all または -range
オプションで指定すること。詳しくは
x11perfcomp(1)
を参照すること。
- -DIS
- DIS のみが可能な XIE
の実装に接続するときに、
xieperf
を実行しているように見せかける。これにより、
xieperf は、XIE の DIS
サブセットに含まれるプロトコルリクエストのみを使うテス
トを実行し、DIS
互換でないテストは無視する。
xieperf が DIS
サーバを見つけた場合はこれは自動的に行われ、このオプションは無
視される。
テスト範囲の初期値を指定するには
-all または -range
オプションを用いる
こと。
- -range
<test1>[,<test2>]
- 指定された名前
test1 から test2
までの全てのテストを実行す
る。イベントやエラーテストなど、-errors
や -events
オプションの指定が
必要なテストもある。スクリプトが使われた場合、このオプションは無視され
る。
- -reps <n>
- 内部ループの繰り返しを
n
回に固定する。このオプションは、テストが実行
されるたびに行われる
photoflo
の回数を指定する。スクリプト中で指定され
た場合、このオプションよりもテスト毎に1度という原則が優先される。通常
は、 xieperf
はテストのキャリブレーションの段階で理想的な繰り返し回数を決める。
- -ImportObscuredEvent through -ExportAvailable
- イベントをテスト生成する。-events
オプションが必要である。
- -BadValue through -FloValueError
- エラーをテスト生成する。-errors
オプションが必要である。
-ColorList ColorList
リソースの生成と破棄のテスト。
- -LUT
- LUT
リソースの生成と破棄のテスト。
- -Photomap
- Photomap
リソースの生成と破棄のテスト。
- -ROI
- ROI
リソースの生成と破棄のテスト。
- -Photospace
- Photospace
の生成と破棄のテスト。
- -Photoflo
- Photoflo
の生成と破棄のテスト。
- -QueryPhotomap
- Photomap
リソースの問い合わせのテスト。
- -QueryColorList
- ColorList
リソースの問い合わせのテスト。
- -QueryTechniquesDefault 〜
-QueryTechniquesWhiteAdjust
- テスト名で指定された技術を問い合わせる。
- -QueryPhotoflo
- photoflo
の問い合わせのテスト。
- -PurgeColorList
- PurgeColorList
のテスト。
- -Abort
- このテストは、実行されると
PutClientData()
が与えるデータをブロックす
る photoflo
を生成する。このテストはデータを送らないで、XieAbort()
を 送って photoflo
を止め、その後サーバから
PhotofloDone イベントが送ら
れてくるのを待つ。このテストがイベント待ちでタイムアウトした場合、エラー
メッセージが標準エラー出力に送られる。
- -Await
- このテストは、ImportClientLUT
-> ExportLUT の形式の flo
を生成し、flo
の実行を開始する。
次に xieperf は fork
を行い、子プロセスは
LUT データを PutClientData
を用いている flo
に送る。この間、親プロセスは
XieAwait
をブロックする。flo
が正常終
了した場合には、XieAwait
は復帰し、問い合わせの後は
flo の状態はこれが
完了したことを示す。XieAwait
が自然に終了しなかった場合や
XieAwait の 後に flo
が依然アクティブである場合には、エラーが標準エラー出力に出力
される。非常に遅いマシンでは、flo
が終わる機会もないうちに
XieAwait が
復帰してしまうこともあり得る点に注意すること。このような場合には、
-timeout
オプションを使って、このテストにおけるタイムアウト値を増やす
こと。
- -importclientlut1
- ImportClientLUT -> ExportLUT
のテスト。
- -importclientphoto1 〜
-importclientphoto9
- 様々なデコード技術(例:
G32D, TIFF2, UncompressedTriple 等)を用いた
ImportClientPhoto -> ExportPhotomap の形式の
flo.
- -importclientroi1
- 10個の長方形での
ImportClientROI。
- -importclientroi2
- 100個の長方形での
ImportClientROI。
- -encodephoto1 〜 -encodephoto14
- 様々なエンコード技術(例:
G32D, TIFF2, UncompressedTriple 等)を用いた
ImportPhotomap -> ExportPhotomap の形式の flo.
エンコーディング元が左のウィンドウに表示され、エンコーディングの後のイ
メージが右のウィンドウに表示される。
- -encodeclientphoto1 〜
-encodeclientphoto11
- ImportPhotomap -> ExportClientPhoto
の形式の flo と ImportClientPhoto ->
ExportPhotomap の形式の flo.
ここで、 最初の flo の
ExportClientPhoto
は様々なエンコード技術を用いている(例:
G32D, TIFF2, UncompressedTriple
等)。エンコード前のイメージが左のウィ
ンドウに表示され、右のウィンドウは最初の
flo
でエンコードされ、2番目の
flo
で読み直したイメージを表示する。
- -exportclientlut1
- ExportClientLUT のテスト。LUT
はヒストグラムウィンドウに表示される。
- -exportclientroi1
- 10 個の ROI で ExportClientROI
のテストを行う。サーバに送られる
ROI は
塗りつぶされた長方形で表される。クライアントによってサーバから返される
ROI
は、塗りつぶされておらず、白い境界を持つ長方形として描画される。
得られる出力は、サーバが送られてきた長方形をどのように結合したかを示す。
- -exportclientroi2
- 100
個の長方形を用いる点以外は、exportclientroi1
と同じである。
- -exportclienthistogram1 〜
-exportclienthistogram4
- 様々なイメージを用いた
ExportClientHistogram
のテスト。ヒストグラムは
イメージと重なるウィンドウ内に表示される。
- -exportclienthistogramroi1 〜
-exportclienthistogramroi4
- ExportClientHistogram
テストとほぼ同じであるが、注目する領域を識別する
ために ROI を用いる。
- -exportclienthistogramcplane1 〜
-exportclienthistogramcplane4
- ExportClientHistogram
テストとほぼ同じであるが、注目する領域を識別する
ために制御プレーンを用いる。
- -importlut1
- ImportLUT
要素のテスト。LUT
のサイズは 256
である。
- -importphoto1
- 入力対象と描画対象が同じである
ImportPhotomap -> ExportPhotomap.
- -importphoto2
- ウィンドウを描画対象とした
ImportPhotomap -> ExportDrawable.
- -importroi1
- ImportROI -> ExportROI.
長方形は10個であり、入力対象と描画対象の
ROI は同じである。
- -importroi2
- ImportROI -> ExportROI.
長方形は100個であり、入力対象と描画対象の
ROI は同じである。
- -importdrawable1
- ImportDrawable -> ExportDrawable.
入力対象はピックスマップであり、描画
対象はウィンドウである。
- -importdrawable2
- ImportDrawable -> ExportDrawable.
入力対象も描画対象もウィンドウである。
- -importdrawable3
- ImportDrawable -> ExportDrawable.
描画対象のウィンドウは入力対象のウィ
ンドウに隠されている。
- -importdrawable4
- ImportDrawable -> ExportDrawable.
入力対象ウィンドウは描画対象のウィン
ドウに隠されている。
- -importdrawable5
- ImportDrawablePlane -> ExportDrawablePlane.
ピックスマップを用い、
入力と描画対象は同じである。
- -importdrawable6
- ImportDrawablePlane -> ExportDrawablePlane.
ウィンドウを用い、入力対象
と描画対象は同じである。
- -importdrawable7
- ImportDrawablePlane -> ExportDrawablePlane.
ウィンドウを用い、入力対象
は描画対象を隠している。
- -importdrawable8
- ImportDrawablePlane -> ExportDrawablePlane.
ウィンドウを用い、描画対象
は入力対象を隠している。
- -constrain1
- Constrain HardClip
技術のテスト。描画対象はドロウアブルである。
- -constrain2
- Constrain ClipScale
技術のテスト。描画対象はドロウアブルである。
- -constrainphoto1
- Constrain HardClip
技術のテスト。描画対象はフォトマップである。
- -constrainphoto2
- Constrain ClipScale
技術のテスト。描画対象はフォトマップである。
- -convolve1
- Boxcar の 3x3
のたたみ込みのテスト。スムーシングつまりローパスフィルタ
を使う。
- -convolve2
- Boxcar の 5x5
のたたみ込みのテスト。スムーシングつまりローパスフィルタ
を使う。
- -convolve3
- LaPlacian の 3x3
のたたみ込みのテスト。エッジ検出つまりハイパスフィル
タを使う。
- -convolve4
- LaPlacian の 4x4
のたたみ込みのテスト。エッジ検出つまりハイパスフィル
タを使う。
- -convolveroi1
- LaPlacian の 3x3
のたたみ込みのテスト。ROI
を用いる。
- -convolveroi2
- LaPlacian の 5x5
のたたみ込みのテスト。ROI
を用いる。
- -convolvecplane1
- LaPlacian の 3x3
のたたみ込みのテスト。制御プレーンを用いる。
- -convolvecplane2
- LaPlacian の 5x5
のたたみ込みのテスト。制御プレーンを用いる。
- -math1 〜 -mathcplane7
- Math
要素を試すさまざまなテスト。ROI
や制御プレーンを使うテストもある。
- -arithmeticdyadic1 〜 -arithmeticdyadic5
- 算術要素のテスト。フォトマップをオペランドとして用いる。
- -arithmeticmonadic1 〜
-arithmeticmonadic9
- 算術要素のテスト。フォトマップと定数をオペランドとして用いる。
- -arithmeticdyadicroi1 〜
-arithmeticdyadicroi5
- 算術要素のテスト。フォトマップをオペランドとして用い、ROI
と組み合わせ る。
- -arithmeticmonadicroi1 〜
-arithmeticmonadicroi9
- 算術要素のテスト。フォトマップと定数をオペランドとして用い、ROI
と組み 合わせる。
- -arithmeticdyadiccplane1 〜
-arithmeticdyadiccplane5
- 算術要素のテスト。フォトマップをオペランドとして用い、制御プレーンと組
み合わせる。
- -arithmeticmonadiccplane1 〜
-arithmeticmonadiccplane9
- 算術要素のテスト。フォトマップと定数をオペランドとして用い、制御プレー
ンと組み合わせる。
- -arithmeticfloatdyadic1 〜
-arithmeticfloatdyadic5
- 算術要素のテスト。フォトマップをオペランドとして用い、制約は与えない。
- -arithmeticfloatmonadic1 〜
-arithmeticfloatmonadic9
- 算術要素のテスト。フォトマップと定数をオペランドとして用い、制約は与え
ない。
- -arithmeticroifloatdyadic1 to
-arithmeticroifloatdyadic5
- 算術要素のテスト。フォトマップをオペランドとして用い、ROI
と組み合わせ、
制約は与えない。
- -arithmeticroifloatmonadic1 to
-arithmeticroifloatmonadic9
- 算術要素のテスト。フォトマップと定数をオペランドとして用い、ROI
と組み
合わせ、制約は与えない。
- -band1
- BandSelect
要素のテスト。入力イメージは3つのバンドである。
xieperf
のウィンドウのビジュアルがカラーのビジュアルならば、個々のバンドを抽出
するために 3つの BandSelect
要素が用いられ、これらは
BandCombine を用
いて再び結合され、ConvertToIndex
を使って表示される。ビジュアルがカラー
でなければ(つまり、GrayScale
または StaticGray)、flo
は表示のために単
に1つのBandSelect要素を使って1つのバンドを抽出する。
- -band2
- BandCombine
のテスト。入力バンドは3つの別々の、バンドが1つのフォトマッ
プからなる。これらは
BandCombine
要素を用いて結合される。その後に、
BandExtract と ExportDrawable
が行われる。CCIR 601-1
係数を使う。
- -band3
- BandExtract
のテスト。入力は3つのバンドを持つフォトマップである。CCIR
601-1 係数を使う。
描画対象のカラーマップはグレー階調である。
- -band4
- BandExtract
のテスト。入力は3つのバンドを持つフォトマップである。CCIR
601-1 係数を使う。
描画対象のカラーマップは、RGB_BEST_MAP
の標準カラーマップである。
- -band5
- BandExtract
のテスト。入力は3つのバンドを持つフォトマップである。CCIR
601-1 係数を使う。
描画対象ウィンドウのカラーマップは、RGB_DEFAULT_MAP
の標準カラーマップ
である。
- -comparedyadic1 〜 -comparedyadic6
- dyadic
フォトマップをオペランドとした、様々な
Compare
演算子のテスト。
- -comparemonadic1 〜 -comparemonadic6
- フォトマップ、定数をオペランドとした、様々な
Compare
演算子のテスト。
- -compareroidyadic1 〜 -compareroidyadic6
- ROI を用い、dyadic
フォトマップをオペランドとした、様々な
Compare 演算
子のテスト。
- -compareroimonadic1 〜
-compareroimonadic6
- ROI
を用い、フォトマップと定数をオペランドとした、様々な
Compare 演算
子のテスト。
- -comparecplanedyadic1 〜
-comparecplanedyadic6
- 制御プレーンを用い、dyadic
フォトマップをオペランドとした、様々な
Compare
演算子のテスト。
- -comparecplanemonadic1 〜
-comparecplanemonadic6
- 制御プレーンを用い、フォトマップと定数をオペランドとした、様々な
Compare
演算子のテスト。
- -matchhistogram1 〜 -matchhistogram18
- 様々なイメージとヒストグラムマッチング技術を用いた、MatchHistogram
要 素のテスト。
- -matchhistogramroi1 〜
-matchhistogramroi6
- MatchHistogram
要素のテストの抜粋。ROI
を用いる。
- -matchhistogramcplane1 〜
-matchhistogramcplane6
- MatchHistogram
要素のテストの抜粋。制御プレーンを用いる。
- -unconstrain1
- ImportPhotomap, Unconstrain, Constrain(ClipScale),
ExportDrawable のテ スト。
- -pasteup1 〜 -pasteup2
- PasteUp
要素のテスト。
- -geometry1 〜 -geometry14
- 回転、拡大・縮小、対象変換を含む
Geometry 要素のテスト。
NearestNeighbor
技術を用いる。
- -geometry15 〜 -geometry28
- 回転、拡大・縮小、対象変換を含む
Geometry 要素のテスト。
アンチエイリアス技術を用いる。
- -geometry29 〜 -geometry42
- 回転、拡大・縮小、対象変換を含む
Geometry 要素のテスト。
BilinearInterpolation
技術を用いる。
- -geomg31dscale1 〜 -geometryfaxradio1
- 様々な FAX
デコーダと Geometry
要素を試すテスト。
- -dither1
- ディザのテスト。ErrorDiffusion
ディザ技術を用いる。ExportDrawable
を使 う。
- -dither2
- ディザのテスト。ErrorDiffusion
ディザ技術を用いる。ExportDrawablePlane
を使う。
- -dither3
- ディザのテスト。Ordered(4)
ディザ技術を用いる。ExportDrawable
を使う。
- -dither4
- ディザのテスト。Ordered(4)
ディザ技術を用いる。ExportDrawablePlane
を 使う。
- -dither5
- ディザのテスト。Ordered(8)
ディザ技術を用いる。ExportDrawable
を使う。
- -dither6
- ディザのテスト。Ordered(8)
ディザ技術を用いる。ExportDrawablePlane
を 使う。
- -dither7
- ディザのテスト。デフォルトのディザ技術を用いる。ExportDrawable
を使う。
- -dither8
- ディザのテスト。デフォルトのディザ技術を用いる。ExportDrawablePlane
を 使う。
- -logicalmonadic1 〜 -logicalmonadic16
- 論理要素のテスト。フォトマップと定数0をオペランドとして使う。
様々な演算子を使用。
- -logicaldyadic1 〜 -logicaldyadic16
- 論理要素のテスト。dyadic
フォトマップをオペランドとして使う。様々な演
算子を使用。
- -logicalmonadicroi1 〜
-logicalmonadicroi16
- 論理要素のテスト。フォトマップと定数0をオペランドとして使う。
様々な演算子、ROI
を使用。
- -logicaldyadicroi1 〜 -logicaldyadicroi16
- 論理要素のテスト。dyadic
フォトマップをオペランドとして使う。様々な演
算子、ROI を使用。
- -logicalmonadiccplane1 〜
-logicalmonadiccplane16
- 論理要素のテスト。フォトマップと定数0をオペランドとして使う。
様々な演算子、制御プレーンを使用。
- -logicaldyadiccplane1 〜
-logicaldyadiccplane16
- 論理要素のテスト。dyadic
フォトマップをオペランドとして使う。様々な演
算子、制御プレーンを使用。
- -blend1
- Blend
要素のテスト。Monadic
を入力対象とし、入力定数は
0.1 である。
アルファ定数は 0.5
である。
- -blend2
- Blend
要素のテスト。Dyadic
を入力対象とする。アルファ定数は
0.5 である。
- -blendroi1
- Blend
要素のテスト。Monadic
を入力対象とし、入力定数は
0.1 である。
アルファ定数は 0.5
である。ROI
を使用する。
- -blendroi2
- Blend
要素のテスト。Dyadic
を入力対象とする。アルファ定数は
0.5 である。 ROI
を使用する。
- -blendcplane1
- Blend
要素のテスト。Monadic
を入力対象とし、入力定数は
0.1 である。
アルファ定数は 0.5
である。制御プレーンを使用する。
- -blendcplane2
- Blend
要素のテスト。Dyadic
を入力対象とする。アルファ定数は
0.5 である。
制御プレーンを使用する。
- -blendalpha1
- Blend
要素のテスト。Monadic
を入力対象とし、入力定数は
220 である。
アルファプレーンはフォトマップである。
- -blendalpha2
- Blend
要素のテスト。Dyadic
を入力対象とする。アルファプレーンは定数
220 である。
- -blendalpharoi1
- Blend
要素のテスト。Monadic
を入力対象とし、入力定数は
220 である。
アルファプレーンはフォトマップである。ROI
を使用する。
- -blendalpharoi2
- Blend
要素のテスト。Dyadic
を入力対象とする。アルファプレーンは定数
220 である。ROI
を使用する。
- -triplepoint1 〜 -triplepoint2
- 点の使用と3つのバンドを持つイメージの描画のための標準カラーマップを描
く。
- -funnyencode1 〜 -funnyencode8
- これらのテストは、flo
の入力対象データを様々にエンコードする
XIE の機
能を制限つきで試すために設計されている。テストの初期化関数は、ICP
-> EP
を用いてフォトマップを取得する。ずっと続く
flo
の独立なペアの列が生
成される。ペアの一方は
IP -> EP
の形であり、もう一方は基本形の
IP -> ED である。最初の flo
の ExportPhotomap (EP)
要素に対するエンコー
ディングのパラメータはテストの構成から求められる。flo
のペアの数も、テ
ストの構成から求められる。テストは、テストの初期化関数は、基本的にはバ
ンドごとに、入力のフォトマップを指定された数のレベルに制限するように構
成することができる。また、ワード長のピクセルや、4倍長のピクセルが
flo
を通じて渡されるように構成することができる。後述のテストのいくつかは、
この利点を生かすことができる。テストの構成と、同様のテストを追加する方
法については、tests.c
を参照すること。
- -point1 〜 -point3
- Simple Point
要素のテスト。描画対象はドロウアブルである。
-pointroi1 ROI を用いた Simple Point
要素のテスト。描画対象はドロウアブルである。
- -pointcplane1
- 制御プレーンを用いた
Simple Point
要素のテスト。描画対象はドロウアブル
である。
- -pointphoto1
- Simple Point
要素のテスト。描画対象はフォトマップである。
- -pointroiphoto1
- ROI を用いた Simple Point
要素のテスト。描画対象はフォトマップである。
- -pointcplanephoto1
- 制御プレーンを用いた
Simple Point
要素のテスト。描画対象はフォトマップ
である。
- -redefine
- 2つの flograph
を生成する。これらは同じ構造体であり、ExportDrawable
flo 要素の x, y
オフセットの指定が期待される。テストの初期化関数は1つ
または2つの flograph
に基づいて photoflo
を生成する。
テスト関数の内部ループでは、flograph
のそれぞれを切替えるために
XieRedefinePhotoflo()
が使われる。このテストを完全に行うために、必ず2
回以上ループを繰り返すこと(-reps
オプションを参照)。
- -modify1
- ROI
のオフセットとサイズの調整による
XieModifyPhotoflo() のテスト。
- -modify2
- LUT 入力を Point
要素に変えることによる
XieModifyPhotoflo() のテスト。
- -modify3
- ExportDrawable の x, y
オフセットを変更することによる
XieModifyPhotoflo() のテスト。
- -modify4
- このテストは比較的長い算術要素の
flo
を生成する。それぞれの
flo は小さ
いイメージに 1
を加えるだけである。このテストの初期化関数は、入力のフォ
トマップを拡大・縮小する。ExportDrawable
の x, y
オフセットは、テスト
関数の内部ループのそれぞれの繰り返しの間にランダムに変更される。
- -modify5
- このテストは比較的長い算術要素の
flo
を生成する。それぞれの
flo は大き
いイメージに 1
を加えるだけである。それぞれの繰り返しにおいては、flo
の最後の Geometry 要素と
ExportDrawable
要素は変更され、入力の小さい断
片は切りとられて大きいイメージの適切な位置