アンパックマージ (UnpackAndMergeData)

機能説明

本ツールは、データの次元を下げながら再結合するために使用します。たとえば、入力が [[A], [B], [C]] の場合、アンパックマージ後の出力は [A, B, C] になります。

UnpackAndMergeData

使用シーン

汎用的なデータ降次元手順。

入力

  • リスト:アンパック対象のデータリストです。PoseList、NumberList、StringList、Vector3DList、BoolList、IndexList に対応しています。

出力

  • 処理済みリスト:アンパック結合後のリスト。入力データリストと同じタイプ。

手順原理

入力データを n 次元、操作層を x(x < n - 1)とします。

アンパック過程では、まず第 x 層リスト内の要素を取り出し、その親リスト(x + 1 層)内でのインデックスに従って再編成します。同じインデックスの要素同士をまとめ、新しい n - 1 次元リストを構成します。

結合過程では、アンパック後に得られた複数リストから、第 x 層で同じインデックスを持つ要素同士を結合します。結合後の結果は元のインデックス順に並べられ、新しい n - 1 次元リストになります。

x = n - 1 の場合、アンパックマージ結果は元データと同じです。

x > n - 1 の場合は、入力データに対して次元拡張を行います。

パラメータ説明

次元設定

  • 操作層:アンパック操作を行う次元を指定します。操作層が 0 の場合は、リスト内の各基本要素に対して処理を行います。

    操作層の考え方は次のとおりです。

    NumberList、StringList、Vector3DList、BoolList、IndexListなどのデータ構造において: [第1層 [第0層 xx,xx,xx...],[第0層 xx,xx,xx...] ]

    PoseListにおいて: [第1層 [第0層[x,y,z,qx,qy,qz,w]],[第0層[x,y,z,qx,qy,qz,w]] ]

アンパックマージツールが次の 3 次元入力を受け取るとします。 [[[0,1],[2,3]],[[4,5],[6,7]]]

第 0 層の要素: [0,1](親リスト内のインデックス 0)、[2,3](親リスト内のインデックス 1)、[4,5](親リスト内のインデックス 0)、[6,7](親リスト内のインデックス 1) 第 1 層の要素: [[0,1],[2,3]]、[[4,5],[6,7]]

操作層が 0 の場合、この入力は 2 つのリストに分解されます。 [[0,1],[4,5]]と[[2,3],[6,7]]、結合結果は: [[0,1,2,3],[4,5,6,7]]。

操作層が 1 の場合、この入力は 2 つのリストに分解されます。 [[0,1],[2,3]]と[[4,5],[6,7]]、結合結果は: [[0,1],[2,3],[4,5],[6,7]]。