放射線技術×データサイエンス

放射線技術×データサイエンス

診療放射線技師がPythonとRとImageJを使って色々します

被ばく線量情報抽出ソフト『DoNuTS』を作りました

f:id:radmodel:20200407234239p:plain

2020年4月1日より医療法施行規則の一部を改正する省令が施行され,CTなど一部の放射線科領域の医療機器を有する施設は被ばく線量の記録・管理が義務付けられました.多くの大規模施設では線量管理ソフトと呼ばれる高価なソフトを導入し,PACSと紐付けるなどして,簡便に線量の管理を行えるような体制を整えつつあります.しかし,大規模施設と比べて放射線科の検査件数が少ない中小規模施設では,新たに線量管理ソフトを導入することは困難であると考えられます.

そこでRDSR(Radiation Dose Structured Report)とPET画像のヘッダーからCTとPET/CTの被ばく線量情報を抽出し,csvで出力できるフリーソフトDoNuTS(Dose Counter for Nuclear Medicine and CT Systems)』を作りました.DoNuTSを使用することで,線量管理ソフトの導入が困難な施設においても,線量管理を簡便に行うことができると考えられます.今回はDoNuTSの紹介をしたいと思います.

なお,ソースコードは公開しており,無料でお使いいただけます.ただし,努力して作りましたがプログラミングに関しては素人が作ったため,バクがある可能性があります.ご使用は自己責任でお願いいたしますm(__)m

作成した方法

使用したプログラミング言語Python(version 3.6.9)です.windows上でソフトとして使用する為には.pyファイルを.exeファイルにする必要があります.今回はpyinstallerを使用してexe化しました.

ダウンロードの方法

ソフトは以下のリンクからダウンロードできます.

リンクをクリックすると,僕のGithubのページに飛びます.

f:id:radmodel:20200407224432p:plain

右上のあたりにある緑色のClone or downloadをクリックすると,ファイルのダウンロードが始まります.ダウンロードしたファイルの中にsrcという名前のフォルダがあります.そのsrcの中にdistというフォルダがあり,その中にDoNuTS.exeというファイルがあります.それがDoNuTSの本体となります.

使用方法

データの準備

まずはRDSRとPET画像をDoNuTSを動作させるPC上にexportしておく必要があります.このとき,1つのフォルダ内にデータを取得したいRDSRおよびPET画像を保存してください.なお,DoNuTSはRDSRとPET画像のみを探して処理を行うため,他のファイルがフォルダ内に存在していても動作に問題はありません.

DoNuTSの実行

データの準備ができたらDoNuTSをダブルクリックして実行します.するとコマンドプロンプトが立ち上がります.黒い画面のアレです.次に,取得したいデータが入ってあるフォルダを指定するよう指示されるので,指示に従い先ほど準備したフォルダを選択します.処理が終わると以下の図のようなポップアップが表示されます.

f:id:radmodel:20200407230623p:plain

これで処理は完了です.なお,出力されるデータは

  • Mean CTDIvol
  • DLP
  • X-Ray Modulation Type
  • CTDIw Phantom Type
  • Acquisition Protocol
  • Target Region
  • CT Acquisition Type
  • Procedure Context
  • Exposure Time
  • Scanning Length
  • Exposed Range
  • Nominal Single Collimation Width
  • Nominal Total Collimation Width
  • Pitch Factor
  • Identification of the X-Ray Source
  • KVP
  • Maximum X-Ray Tube Current
  • Mean X-Ray Tube Current
  • Exposure Time per Rotation
  • Device Manufacturer
  • Device Serial Number
  • Manufacturer Model Name
  • Patient ID
  • Study Date
  • Patient Name
  • Study Description
  • Patient BirthDate
  • Patient Sex
  • Patient Age
  • Patient Size
  • Patient Weight
  • CT Dose Length Product Total
  • Radionuclide Total Dose (PET画像が存在した場合)

2020.7.17 追記

(出力できるデータが増えたため,リストを変更しました.)

以上です.出力されたcsvは,先ほど指定したフォルダ内に保存されています.

実際の業務における使用例

診療放射線技師会や医学放射線学会のホームーページで線量管理に関するガイドラインが発表されています.その中身を確認してみるとおおよそ以下のことをしておけば問題はないと考えられます.

  1. 線量の記録
    • dose summaryをPACSに転送しておく
  2. 線量の管理
    • 記録してある線量情報をサンプリングし,自施設の線量を算出
    • DRL等を利用して自施設の線量を評価し,最適化を行う

ここでDoNuTSは線量の管理で効果を発揮します.たとえばCTの線量管理の場合,検査終了後に撮影した患者のRDSRをPACS等に保存する運用をしていき,線量の管理を行う際に保存しておいたRDSRをexportし,DoNuTSを使用します.そうすることでDLPや体重が患者ごとにcsvとして出力されるので,Excel等をうまく利用すれば被ばく線量の最適化を簡便に行うことができると考えられます.

まとめ

最近の装置はRDSRを出力できるのが一般的になっています.RDSRは構造化されたレポートという名前の通り,データを取り出すことさえできれば,非常に便利なファイルです.しかし,実際は高価な線量管理ソフトを導入しなければ,RDSRからデータを取り出すこと自体困難です.DoNuTSはRDSRの中の線量管理に必要な情報を簡便に取り出すことができるので有用だと思います.是非使ってみて下さい.

また,ソフトに関する要望やバグを発見した場合は,Github上のissueに書き込むか,メール(deepokayama@gmail.com)をしていただくか,なんらかの手を使って僕にお知らせいただければ幸いです.