0

ファイルから読み取った VTK メッシュのセル/ポイントにスカラー値を関連付けようとしています。FreeSurfer の異なる曲率ファイル - CRV (例 12 - http://lessons.goxtk.com/12/に示すように)を使用するようなことが可能であることがわかっています。

私たちの質問は、vtk ファイル (ブロック PointData と CellData) からスカラー値を設定する方法です。これが不可能な場合、スカラー配列を X.mesh (例) に直接設定する方法はありますか?

ありがとう、そして悪い英語でごめんなさい:-)

パウロ

4

2 に答える 2

0

VtkProbeFiler で試してください。このフィルターを使用すると、スカラー値をポイントに関連付けることができます。

于 2013-12-13T12:26:34.393 に答える
0

XTK レッスン 12 の js の L15 で述べたように、いくつかのスカラーを追加することができました。

var mesh = new X.mesh();
mesh.file = 'mesh.vtk';
renderer.onShowtime = function () {
    var scalarsArray = new Float32Array(mesh.points.length);
    // fill array...
    mesh.scalars.array = scalarsArray ;
    mesh.scalars.lowerThreshold = min;
    mesh.scalars.upperThreshold = max;
}

scalars 配列には、ポイントに一致する値の 3 倍が格納されます ( parserCRV.js#L213を参照)。

メッシュがレンダリングされるときにスカラーの最小/最大が再計算されないように見えるので、X\visualization\renderer3D.js のL1152に次のコードを追加しました。

var scalarsMin = Infinity;
var scalarsMax = -Infinity;
var value = 0;
for ( var i = 0; i < scalarsArray.length; ++i ) {
    value = scalarsArray[i];
    if ( !isNaN(value) ) {
        scalarsMin = Math.min(scalarsMin, value);
        scalarsMax = Math.max(scalarsMax, value);
    }
}
scalars._min = scalarsMin;
scalars._max = scalarsMax;

よくわからないのですが、どなたか確認していただけないでしょうか?

于 2014-05-15T09:15:35.603 に答える