デフォルトで.dcm
となるいくつかのファイルを.png
に変換する必要があります。これを実現するためのコードサンプルをいくつか見つけましたが、最終的な結果が明るすぎます。誰かこれを見てもらえませんか?
def convert_to_png(file):
ds = pydicom.dcmread(file)
shape = ds.pixel_array.shape
# Convert to float to avoid overflow or underflow losses.
image_2d = ds.pixel_array.astype(float)
# Rescaling grey scale between 0-255
image_2d_scaled = (np.maximum(image_2d,0) / image_2d.max()) * 255.0
# Convert to uint
image_2d_scaled = np.uint8(image_2d_scaled)
# Write the PNG file
with open(f'{file.strip(".dcm")}.png', 'wb') as png_file:
w = png.Writer(shape[1], shape[0], greyscale=True)
w.write(png_file, image_2d_scaled)
コードを微調整しましたが、何も機能しないようです。
A .dcm
特定の画像を分析すると、画像に明るさとコントラストの両方の範囲があるように見えます。あなたの場合、それが少し明るく見えるかもしれない理由は、あなたがイメージの特定のビューだけを選択したということです。
画像を暗くするには、分母の値を増やす必要があるようです。
threshold = 500 # Adjust as needed
image_2d_scaled = (np.maximum(image_2d, 0) / (np.amax(image_2d) + threshold)) * 255.0
これにより、一部のピクセルが明るくなりません。