java - Java(Clojure)から書き込み、Paraviewで読み取ることができるデータ形式は何ですか?

java clojure data-visualization dataformat paraview

通常の3Dデータグリッド(ボクセル)を生成するClojureコードがあります。これを、後でParaview(および場合によっては、他の分析/可視化プログラム)で読み取ることができるファイルに書き込みます。これを行う最も簡単な方法は何ですか?私の主な優先事項は単純さですが、これも適切にスケーリングして、大規模なデータセットに使用できるようにしたいと考えています。通常のグリッドよりも複雑なものを処理する必要はありません。
答え
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はビッグエンディアン形式でデータを生成します]
関連記事

java - MATLAB Javaクラスパスの問題

java - 2つの基準をHibernate ORする

java - コンソールJavaアプリケーションの一般的な統合テストフレームワークはありますか?

java - Java SEを使用してXMLノードを削除する

java - clojure / enliveを使用してテーブル行の属性クラスを動的に設定するにはどうすればよいですか?

java - Swingフォーカスが失われたinputverifier

java - Android:ボックスとして表示されるキャラクター

java - Javaと強力な暗号化をサポートするアーカイブを探しています[終了]

java - SOA設計でのデータアクセス層(DAL)の使用

java - プラグインプロジェクトは現在の作業ディレクトリとして扱われません