ホーム » pydicom » pydicom 2.2 : README (概要)

pydicom 2.2 : README (概要)

pydicom 2.2 : README (概要) (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 09/18/2021 (v2.2.1)

* 本ページは、pydicom の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

 

pydicom 2.2 : 概要 (README)

pydicomDICOM ファイルで作業するための純粋な Python パッケージです。それは簡単な “pythonic” 流儀で貴方が DICOM データを読み、変更して書くことを可能にします。

純粋な Python パッケージですから、pydicom は他の要件なしに Python が実行できる場所であればどこでも実行できますが、Pixel データで作業している場合には NumPy もインストールすることを勧めます。

DICOM networking のための Python ライブラリを探している場合には私達の別のプロジェクトに関心があるかもしません : pynetdicom

 

インストール

pip の使用 :

pip install pydicom

conda の使用 :

conda install -c conda-forge pydicom

開発版のためのインストール手順を含む詳細は、インストールガイド を見てください。

 

ドキュメント

pydicom ユーザガイドチュートリアルサンプルAPI リファレンス ドキュメントは GitHub ページ上の 現在のリリース開発版 の両方に対して利用可能です。

 

Pixel データ

圧縮されたそして非圧縮の Pixel データは常に バイト として読まれ、変更されて書かれることが可能です :

>>> from pydicom import dcmread
>>> from pydicom.data import get_testdata_file
>>> path = get_testdata_file("CT_small.dcm")
>>> ds = dcmread(path)
>>> type(ds.PixelData)

>>> len(ds.PixelData)
32768
>>> ds.PixelData[:2]
b'\xaf\x00'

NumPy がインストールされていれば、Pixel データは Dataset.pixel_array プロパティを使用して ndarray に変換できます :

>>> arr = ds.pixel_array
>>> arr.shape
(128, 128)
>>> arr
array([[175, 180, 166, ..., 203, 207, 216],
       [186, 183, 157, ..., 181, 190, 239],
       [184, 180, 171, ..., 152, 164, 235],
       ...,
       [906, 910, 923, ..., 922, 929, 927],
       [914, 954, 938, ..., 942, 925, 905],
       [959, 955, 916, ..., 911, 904, 909]], dtype=int16)

 

圧縮された Pixel データ

JPEG, JPEG-LS と JPEG 2000

JPEG 圧縮 Pixel データを ndarray に変換することは一つまたはそれ以上の追加の Python ライブラリのインストールを必要とします。どのライブラリが必要かの情報については、pixel データハンドラ・ドキュメント を参照してください。

 

RLE

RLE Pixel データをエンコードしてデコードするには NumPy を必要とするだけですが、それは非常に遅い可能性があります。プロセスを高速化するために 一つ以上の追加の Python ライブラリをインストールする ことを考えることを望むかもしれません。

 

サンプル

より多くの サンプル はドキュメントで利用可能です。

患者の ID を変更する

from pydicom import dcmread

ds = dcmread("/path/to/file.dcm")
# Edit the (0010,0020) 'Patient ID' element
ds.PatientID = "12345678"
ds.save_as("/path/to/file_updated.dcm")

 
Pixel データを表示する

NumPy と matplotlib を使用して :

import matplotlib.pyplot as plt
from pydicom import dcmread
from pydicom.data import get_testdata_file

# The path to a pydicom test dataset
path = get_testdata_file("CT_small.dcm")
ds = dcmread(path)
# `arr` is a numpy.ndarray
arr = ds.pixel_array

plt.imshow(arr, cmap="gray")
plt.show()

 

以上



ClassCat® Chatbot

人工知能開発支援

◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com

カテゴリー