目次
pydicom.dataset.walk
1.概要
引数で指定したコールバック関数を、Datasetの全てのDataElementに繰り返し実行します。
2.引数
walk(callback, recursive=True)
callback
DataElementごとに実行するコールバック関数を指定します。
コールバック関数には、次の2つの引数を指定します。
引数1:Dataset
引数2:DataElement
引数を参照することで、例えば 「VRがPN のDataElementにのみ処理を行う」など、特定の処理を行うことができます。
recursive
コールバック関数をシーケンスに再帰的に適用するか指定できます。
True:再帰的に適用する。(デフォルト)
False:再帰的に適用しない。
3.戻り値
なし
4.使用例
DataElementの VR が PN の値を変更
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import pydicom from pydicom.data import get_testdata_files # callback function (VR:PN の値を変更する) def callback_func(dataset,data_element): if data_element.VR == "PN": data_element.value = "change value" filename = get_testdata_files('JPEG-lossy.dcm')[0] ds = pydicom.dcmread(filename) ds.walk(callback_func) # 実行すると以下のタグの値が書き換わります。 # (0010, 0010) Patient's Name PN: 'change value' # (0010, 1001) Other Patient Names PN: 'change value' |