画像データを含むDICOMファイルを使用しています。pydicomを使用して.DCMファイルからメタデータを読み取ります。これで、.DCMファイルから抽出されたピクセルデータが2次元のnumpyndarrayとして返されます。
私が使用している特定のDICOMファイルは、ピクセルごとに1つの強度値を保存します。それらに対していくつかの操作を実行した後、2次元ndarrayのピクセルごとに単一の浮動小数点値(0.0から1.0の間)になります。
[
[0.98788927、0.98788927 0.98788927、...、0.88062284 0.89532872 0.87629758]、
[0.98788927、0.98788927、0.98788927、...、0.8884083、0.89446367、0.87889273]、
[0.98788927、0.98788927、0.98788927、...、0.89100346、0.89532872、0.87629 、、
...、
[0.97491349、0.97491349、0.97491349、...、0.74480969、0.72318339、0.73269896]、
[0.97491349、0.97491349、0.97491349、...、0.74913495、0.74480969、0.74740484]、
[0.97491349、0.97491349、0.97491349、。 ..、0.74913495 0.75865052、0.75086505]、]
各要素を一連の要素[R、G、B](R = G = B =強度値)に置き換えることで、これをnumpyの3Dndarrayに変換したいと思います。
ndarray.put()関数は、そのメソッドを除外するマトリックスをフラット化します。
私も試しました:
for x in range( len(a[0]) ):
for y in range( len(a) ):
a[x][y] = [ a[x][y], a[x][y], a[x][y] ]
しかし、
ValueError: setting an array element with a sequence.
提案?これらの画像の一部は巨大であるため、データ操作をできるだけ軽くしようとしています。そのため、ハッキングやすべてのデータを別の変数に手動でコピーすることは避けたいと思います。
助けてくれてありがとう。