ClassifyByRange

概要

関連する値が特定の範囲を下回るか、範囲内か、上回るかに応じて、入力アレイの要素を3つの出力アレイに分割します。

*本ページはFuture Processing社の許可の下、Adaptive Visionの当該Filter Referenceページを和訳化したものです。

名称 種別 説明
inArray <T>Array  分類する要素
inValues RealArray 範囲に対して比較する対応値
inMinimum Real* 範囲の下限
inMaximum Real* 範囲の上限
outAccepted <T>Array 範囲に入る値に対応する要素のアレイ
outRejected <T>Array 範囲外の値に対応する要素のアレイ
outLower <T>Array inMinimumよりも小さい値に対応する要素のアレイ
outHigher <T>Array inMaximumよりも大きい値に対応する要素のアレイ
outIsAccepted BoolArray 対応する値が範囲に入っているかどうかを表す
outIsRejected BoolArray 対応する値が範囲外かどうかを表す

このフィルタの種別は、有効などの種別にもなれる種別変数Tを使うことで定まります。詳細情報はこちら(作成中)。

適用事例

例:関連値(例:面積)が特定の最大・最小要件を満たすオブジェクト(例:ブロブ)の選択をする場合。

説明

このフィルタは対応するフロート値のアレイに沿ってT種別(フィルタ選択時に決定)のオブジェクトのアレイを受領し、それぞれの値が該当する範囲(inMinimum, inMaximum)に応じてオブジェクトのアレイを3つの出力アレイに分割します。

  • inMinimumよりも小さい値に対応するオブジェクトが are passed onto outLoweroutRejectedに渡されます。
  • 閉じた範囲(inMinimum, inMaximum)の中に収まる値に対応するオブジェクトがoutAcceptedに渡されます。
  • inMaximumよりも大きい値に対応するオブジェクトがoutHigheroutRejectedに渡されます。

inMinimuminMaximumよりも大きいという特殊な場合では、最初に一致する条件が適用されます。すなわち、inMaximumよりも大きく、かつ、inMinimumよりも小さい値に対応するオブジェクトがoutLowerに渡されます。

ヒント

  • このフィルタを使う前に、(分類対象の)オブジェクトのアレイと、オブジェクトを規定する特徴値のアレイを準備しておく必要があります。
  • オブジェクトのアレイをinArray入力に繋げ、また、特徴値のアレイをinValues入力に繋げましょう。
  • inMinimuminMaximumの範囲を設定して、OKとなるオブジェクトを規定しましょう。
  • 追加の出力を表示することも考慮しましょう(outLower, outHigher, outIsAccepted, outIsRejected)。

本フィルタの用途は次の例とチュートリアルにあります:カプセル、ゴム製リング、ブロック崩しゲーム。

inArray = {"Alice", "Bill", "Frank", "Patricia", "Thomas"}
inValues = {5.0, 4.0, 5.0, 8.0, 6.0}
inMinimum = 5.0
inMaximum = 6.0
outLower = {"Bill"}
outAccepted = {"Alice", "Frank", "Thomas"}
outHigher = {"Patricia"}

エラー集

本フィルターはレポートエラーに例外をスローします。エラーの取り扱いについては、「エラー処理」のページ(作成中)をご覧下さい。

エラー種別 説明
DomainError ClassifyByPredicateの入力にて、アレイの長さが一貫していません。
DomainError ClassifyByRangeのinValues入力にて、フロートの値が正しくありません(NaN)。

難易度

このフィルタはベーシックの難易度でご利用頂けます。

フィルタグループ

このフィルタはClassifyのフィルタグループに属します。

関連リンク

    • Adaptive Visionのサイトが開きます
    • サンプル・デモ機のお申し込み
    • メールでのお問い合わせはこちら
    • お問い合わせフォーム