0

私はteemライブラリを使用して、float STRUCTURED POINTSを含むASCII .vtkファイルをnrrdに変換しています。出力時のファイルは生のNRRD0001のようで、paraviewでは正しく読み込めたので大丈夫そうです。そのファイルを XTK にロードすると、エラー メッセージは表示されませんが、何も表示されません。

また、unu を介して gzip エンコードに変換しようとしましたが、成功しませんでした。

teem-unu save -f "nrrd" -e "gzip" -i "./inputfile.vtk" -o "./outputfile.nrrd"

XTK で動作する nrrd ファイルのタイプは NRRD0004 であることに注意しました。

このフォーマットで保存する必要がありますか? 0004として保存するにはどうすればよいですか?

前もって感謝します、

アンドレア


これは私の変換の簡単な手順です:

#include <teem/nrrd.h>

Nrrd *nrrd = nrrdNew();
if (nrrdLoad(nrrd, argv[1], NULL)==0 && nrrdSave(argv[2], nrrd, NULL)==0)
       printf("success\n");

VTK ファイルのヘッダー:

# vtk DataFile Version 2.0
Image Builder vtk output
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS 30 20 20
SPACING 10.266666 8.000000 11.900000
ORIGIN -154.000000 -176.470001 -119.000000
POINT_DATA 12000
SCALARS volume_scalars float 1
LOOKUP_TABLE default

変換された NRRD ファイル出力:

NRRD0001
# Complete NRRD file format specification at:
# http://teem.sourceforge.net/nrrd/format.html
content: Image Builder vtk output
type: float
dimension: 3
sizes: 30 20 20
spacings: 10.266666 8 11.9
axis mins: -154 -176.470001 -119
endian: little
encoding: raw

視覚化スクリプトはhttp://lessons.goxtk.com/11/と同じです

var r = new X.renderer('r');
    r.init();

    volume = new X.volume();
    volume.load('pocas.nrrd');             
    r.add(volume);        
    r.camera().setPosition(120,80,160);
    r.render();
4

3 に答える 3

0

ちょうどグーグル経由でこれを見つけました。unuとnrrdを書きました。XTKがファイルを有効にロードできない場合、XTKがファイルではなくnrrd形式を処理する方法のプロパティです。

unuの場合、すべての文字列を引用する必要はなく、スペースを含む文字列だけを引用する必要があることを指摘しておきます。

 unu save -f nrrd -e gzip -i ./inputfile.vtk -o ./outputfile.nrrd

同様に機能します。

于 2012-06-19T04:55:35.220 に答える
0

これはおそらくまだサポートされていません (.vtk ファイル)。

あなたが達成したいことのスクリーンショットを提供していただけますか..

于 2012-05-06T14:59:52.507 に答える
0

dicom ファイルを nrrd ファイルに変換しようとしたときに、同じ問題が発生しました。unu make コマンドのヘルプは、unu make Web ページのヘルプよりも詳細であることに気付きました。私の場合、次のunuコマンドを使用しました:

./unu make -i CT/patient_%03d.dcm 1 369 1 -e raw -bs -1 -en little -t short 
-s 369 369 369 -dirs "(0.4,0,0) (0,0.4,0) (0,0,0.4)" -spc LPS -o CT.nrrd

この場合、nrrd ファイルを 0004 として生成する鍵は、-dirs および -spc オプションの使用です。これがあなたを助けることを願っています!

unu make ヘルプから:

-dirs <v0 v1 ...> , --directions <v0 v1 ...> = (NOTE: must quote whole
                 vector list) The "space directions": the vectors in space
                 spanned by incrementing (by one) each axis index (the
                 column vectors of the index-to-world matrix transform),
                 OR, "none" for non-spatial axes. Give one vector per
                 axis. (Quoting around whole vector list, not
                 individually, is needed because of limitations in the
                 parser) (string)

  -spc <space> , --space <space> = identify the space (e.g. "RAS", "LPS")
                 in which the array conceptually lives, from the nrrdSpace
                 airEnum, which in turn determines the dimension of the
                 space. Or, use an integer to give the dimension of a
                 space that nrrdSpace doesn't know about By default (not
                 using this option), the enclosing space is set as
                 unknown. (string)

よろしく、

P

于 2012-05-08T17:57:28.370 に答える