PythonとPydicomライブラリでDICOMを使用していますが、.dcmファイルを使用しても問題はありませんでした。しかし、私は現在DICOMDIRデータセットを使用しています。
私のコードは次のとおりです。
ds = dicom.read_file("dicomdir")
pixel_array
私は次のように要素にアクセスしようとしました:
data = ds.pixel_array
そして、次のエラーが発生します。TypeError: No pixel data found in this dataset.
の出力print ds
は多かれ少なかれ次のとおりです。
(0004、1130)ファイルセットID CS:'GEMS_11_10_111'(0004、1200)最初のディレクトリレコードのオフセットUL:412(0004、1202)最後のディレクトリレコードのオフセットUL:412(0004、1212)ファイルセット整合性フラグUS:0(0004、1220)ディレクトリレコードシーケンス7項目----(0004、1400)次のディレクトリレコードのオフセットUL:0(0004、1410)レコード使用中フラグUS:65535( 0004、1420)参照される下位レベルのDi ULのオフセット:558(0004、1430)ディレクトリレコードタイプCS:'PATIENT'(0008、0005)特定の文字セットCS:'ISO_IR 100'(0010、0010)患者の名前PN: '------------------'(0010、0020)患者ID LO: '246992'(0010、0030)患者の生年月日DA:'19630523'(0010、0040)患者の性別CS:'F'
(0004、1400)次のディレクトリレコードのオフセットUL:0(0004、1410)レコード使用中フラグUS:65535(0004、1420)参照される下位レベルDiのオフセットUL:800(0004、1430)ディレクトリレコードタイプCS:'STUDY'(0008、0005)特定の文字セットCS:'ISO_IR 100'(0008、0020)調査日DA: '20111011'(0008、0030)調査時間TM: '151535.000000'(0008、0050)アクセッション番号SH: '1009819901'(0008、1030)スタディの説明LO:'MG CONVENCIONAL'(0020、000d)スタディインスタンスUID UI:1.2.840.113564.9.1.2005121220021252.20110608105548.21009819901(0020、0010)スタディID SH: '1009819901'
(0004、1400)次のディレクトリレコードのオフセットUL:0(0004、1410)レコード使用中フラグUS:65535(0004、1420)参照される下位レベルDiのオフセットUL:968(0004、1430)ディレクトリレコードタイプCS:'SERIES'(0008、0005)特定の文字セットCS:'ISO_IR 100'(0008、0060)モダリティCS:'MG'(0008、103e)シリーズの説明LO:'画面保存'(0020、000e)シリーズインスタンスUID UI:1.2.840.113619.2.144.2347322947.2192645372.5(0020、0011)シリーズ番号IS: '354'
(0004、1400)次のディレクトリレコードのオフセットUL:1298(0004、1410)レコード使用中フラグUS:65535(0004、1420)参照される下位レベルのDi ULのオフセット:0(0004、1430)ディレクトリレコードタイプCS:'IMAGE'(0004、1500)参照ファイルID CS:['DICOM'、'PA1'、'ST1'、'SE1'、'IM1'](0004、1510)ファイルUIの参照SOPクラスUID:セカンダリキャプチャイメージストレージ(0004、1511)ファイルUIの参照SOPインスタンスUID:1.2.840.113619.2.144.44653394.14990.1318380911.86(0004、1512)F UIの参照転送構文UID:明示的VRリトルエンディアン(0008、0005)特定の文字セットCS:'ISO_IR 100'(0008、0008)画像タイプCS:'派生'(0008、0023)コンテンツ日付DA: '20111011'(0008、0033)コンテンツ時間TM: '151909.000000'(0020、0013)インスタンス番号IS: '8844'(0028、0010)行US:2298(0028、0011)列US: 1980(0028、1052)Rescale Intercept DS: '0'(0028、1053)Rescale Slope DS: '1'1053)スロープDSの再スケール:「1」1053)スロープDSの再スケール:「1」
最後の部分は4回繰り返されます。DICOMDIRデータセットに4つの画像があります。
各画像のNumpyArrayを使用してフィールドにアクセスする方法を知っていますか?