2016-09-25 37 views
2

私は、dicomライブラリを使ってpythonでdicomファイルのpixelvaluesを取得しようとしていました。python dicom - dicomファイルからピクセル値を取得する

しかし、ゼロを含む配列だけを返します。

import dicom 

import numpy 

ds=pydicom.read_file("sample.dcm") 

print(ds.pixel_array) 

と結果が

[[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]] 

であるあなたは、画素の値を取得する方法任意のアイデアを持っていますか:

私のコードは次のようでしたか?

ありがとうございます。

アンドラ

答えて

1

書かれたコードは動作するはずです。配列の先頭と末尾が真にゼロである可能性があります。

通常、画像の中央にあるものを見る方が意味があります。

例えば:

midrow = ds.Rows // 2 
midcol = ds.Columns // 2 
print(ds.pixel_array[midrow-20:midrow+20, midcol-20:midcol+20]) 

それはどこにでも本当にゼロであれば、それは真の画像やバグのいくつかの種類のいずれかです。おそらく、それが試されていない場合は、dicomビューアで読むことができます。ここ

-1
import dicom 
import dicom_numpy 


dataset = dicom.read_file('sample.dcm') 
pixels, ijk_to_xyz = dicom_numpy.combine_slices([dataset]) 

pixelsは正しくスケール画素値を含むであろう、そしてijk_to_xyzはDICOM患者にインデックスをマッピング4x4のアフィン行列座標系です。

このコードスニペットは、dicom-numpyを使用します。これは、pydicomの上に構築された上位レベルの抽象化です。

DICOMファイルのセットからピクセル値を抽出するときには、最も一般的なユースケースを処理します。

RescaleSlopeを適用するDICOMシリーズ(あなたがこの機能を気にしない場合があります)
  • から複数のスライスを組み合わせる

    を使用して3D空間内の画素値の位置を推測。

  • 関連する問題