2017-08-09 10 views
2

私は3D MR画像データを扱っています。ヒストグラムを計算するために、私はsitk.Imageから次元3のnumpy arrrayに変換しました。私はmatplotlibを使って各軸スライスを表示することができますが、numpy配列は3次元すべてで完全に空です。 誰かが何が起こっているのか説明できますか?sitk.GetArrayFromImageは空の配列を返しますか?

import numpy as np 
import SimpleITK as sitk 
from myshow import myshow 

img = sitk.ReadImage("mri.hdr") 
nda = sitk.GetArrayFromImage(img) 
myshow(img) 
print nda 

出力:

[[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]] 

[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]] 

[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]] 

..., 
[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]] 

[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]] 

[[ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    ..., 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.] 
    [ 0. 0. 0. ..., 0. 0. 0.]]] 

NOTES:

+0

あなたのコードのサンプルを投稿してください。あなたのロジックに従うことができます – DJK

+0

編集済み!私はかなり新しいコーディングとstackoverflowです。私の質問をはっきりと提示していない場合は、私を許してください。 – DottedGlass

答えて

1

あなたは問題ありません。データは、印刷機能が配列の先頭からデータを表示しているということです(大です)。インデックスが有効な範囲内にあると想定されている

print nda[200,56,87]

:あなたがコンテンツを持っている特定のピクセルのデータを印刷する場合は、有効な値が表示されます。

関連する問題