問題タブ [pydicom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 2-Dの要素に基づいて、numpyndarrayを2-Dから3-Dに効率的に再形成します。
画像データを含む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()関数は、そのメソッドを除外するマトリックスをフラット化します。
私も試しました:
しかし、
提案?これらの画像の一部は巨大であるため、データ操作をできるだけ軽くしようとしています。そのため、ハッキングやすべてのデータを別の変数に手動でコピーすることは避けたいと思います。
助けてくれてありがとう。
python - dicomRT構造セットのエクスポート/保存
rt構造セットをdicomファイルにエクスポート/保存する方法を探しています。dicomrtstructsetにエクスポートしたい等高線のセットを出力するセグメンテーション構造のアルゴリズムがあります。
私の好みの言語はPythonですが、Pythonラッパーを追加できればC /C++ソリューションが機能します。
ありがとうございました。
python - DICOM を TIFF に変換
私はPythonを初めて使用するので、すべての情報が正しいわけではない場合は、無知を許してください。ディレクトリをラスター化し、その中のすべての DICOM ファイルを TIFF ファイルに変換しようとしています。検索機能は動作するようになりましたが、画像を TIFF として保存するのに苦労しています。pydicom ライブラリを使用して DICOM を読み取り、ヘッダー情報を操作しています。また、pydicom の save_as 関数を使用して TIFF に保存しようとしましたが、PIL の save 関数を使用して TIFF の圧縮を適切に設定したいと思います。問題は、DICOMから実際の画像データを抽出して新しい画像に配置する方法を理解できない/理解できないことだと思います.どんな助けでも大歓迎です...乾杯
Python 2.7 PIL 1.1.7 Pydicom 0.9.6
python - DICOMからTIFFへの反転LUT...Python&PIL
frombufferコマンドを使用してDICOM画像データをTIFF画像として保存しています。しかし、このプロセス全体を通して、画像の強度が反転します(反転LUT)。これを克服する方法について何かアイデアはありますか?
PILのImageOps.invert関数を使用しようとしましたが、「この画像モードではサポートされていません」というエラーが表示されます。
これは私が使用しているコードです:
任意のガイダンスをいただければ幸いです...Python2.7 PIL 1.1.7 Pydicom 0.9.6
python - pydicomを使用してDICOMDIRファイル内の単一のNumPy配列にアクセスするにはどうすればよいですか?
PythonとPydicomライブラリでDICOMを使用していますが、.dcmファイルを使用しても問題はありませんでした。しかし、私は現在DICOMDIRデータセットを使用しています。
私のコードは次のとおりです。
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を使用してフィールドにアクセスする方法を知っていますか?
python - numpy 配列から pydicom ファイルを作成する
標準サイズ (512 x 512 または 256 x 256) numpy 配列から新しい dicom イメージを作成しようとしています。
python - Python で表示する dicom 画像を取得できません
opencv-python で DICOM 画像を表示しようとしています。私は pydicom ライブラリを使用しています。次に、API を追加して、Python を実行する DOTNET で本格的な DICOM ビューアーを作成します (C# はもちろんプロセス インスタンスで python を呼び出します!!) . 圧縮されていない DICOM 画像を変換または表示できません。pixel_array をロードまたは変更しようとするたびに。エラーメッセージが表示されます。
画像を変換して cv2.imshow() 関数 o 画像を表示する良い方法を教えてください
前もって感謝します!!
python - Dicom の結果を Python で解析する
dicom スタディの結果ページを解析しようとしています。pydicom を試してみましたが、「ヘッダー」情報 (患者情報、デバイス情報など) のみを解析します。スタディから数値結果をテキスト形式で抽出したいと考えています。次の例では:
これらの行でテキストを取得したい:
REIA 1.13m/s 53 0.14m/s 53
R CFA 0.69m/s 53 0.11m/s 53
等...
このデータをPythonまたは他の言語でテキストに解析し、ある程度の精度で解析する方法はありますか? pydicom で PixelData を取得し、TIFF 形式にダンプしてから OCR を実行しようとしました。結果はかなり良いですが、すべての 6 と 3 が 8 で混同されています。
ありがとう!
M
python - pydicom 関数のバグ
dicom 画像を処理するために pydicom を使用したいと考えていました。残念ながら、エラーが発生します
関数で
変数format_str
を出力すると、 が得られuint12
ます。残念ながら、このバグを解決することはできません。それを解決するために私にできることはありますか?
すべてのコマンドを削除してもprint
(デバッグ用に追加しました)、同じエラーが発生します。