2

データ (ボクセル) の通常の 3D グリッドを生成する Clojure コードがいくつかあります。これを、後で Paraview (および、場合によっては他の分析/視覚化プログラム) で読み取ることができるファイルに書き込みたいと考えています。これを行う最も簡単な方法は何ですか? 私の主な優先事項は単純さですが、大規模なデータセットに使用できるように、これも適切に拡張できるようにしたいと考えています。通常のグリッドよりも複雑なものを処理する必要はありません。

4

1 に答える 1

2

Paraview には「生の」入力形式があります。これはバイナリ値のシーケンスであり、X が最も速く変化し、Z が最も遅く変化します。次の Clojure コードは、この形式で double のシーケンスを書き込みます。

(defn write-doubles [voxels path]
  "write raw data stream - for paraview x must vary fastest."
  (let [out (java.io.DataOutputStream.
              (java.io.BufferedOutputStream.
                (java.io.FileOutputStream. path)))]
    (dorun (map (fn [v] (.writeDouble out v)) voxels))
    (.close out)))

.raw次に、ファイルを選択し (拡張子を使用)、軸のメタデータ (原点、ステップ、範囲) を入力することで、これを Paraview に読み込むことができます。これは優れた解決策ではありません。メタデータもファイルに含めたほうがよいでしょうが、非常に単純です。そして、それは機能します。

[注 - DataOutputStream はビッグエンディアン形式でデータを生成します]

于 2011-08-26T12:42:59.713 に答える