スキップしてメイン コンテンツに移動

DCMTKを学ぶ - [pdf2dcm] dcmdata: a data encoding/decoding library and utility apps -

DCMTKを学ぶ - [pdf2dcm] dcmdata: a data encoding/decoding library and utility apps -

PDFファイルをDICOMファイルとしてカプセル化します。
説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。

説明

 pdf2dcmユーティリティは、PDFファイル(pdffile-in)を読み取り、DICOM Encapsulated PDF Storage SOPインスタンスに変換し、変換されたデータを出力ファイル(dcmfile-out)に格納します。

コマンドラインインターフェースからの基本的な使い方


>pdf2dcm [options] pdffile-in dcmfile-out
  • pdf2dcm :コマンド
  • [options] :オプションを指定するデフォルト位置
  • pdffile-in:入力されるPDFファイルのURI/URL 
  • dcmfile-out:出力されるdcmファイルのURI/URL

一般的なオプション


(左:省略記載、右:略なし記載)
  -h    --help
          この機能のヘルプを表示します

 --version
          この機能に必要なライブラリを含めてバージョンを表示します

 --arguments
          コマンドライン引数を拡張します

  -q    --quiet
          クワイエットモード。エラーやワーニングを表示しません

  -v    --verbose
          詳細モード。詳細ログを表示します

  -d    --debug
          デバッグモード。デバッグ情報を表示します

  -ll    --log-level  [l]evel: string constant (fatal, error, warn, info, debug, trace)
         ロガーレベルを指定します

  -lc   --log-config  [f]ilename: string
          ロガーにコンフィグファイルを指定します。

DICOMドキュメントオプション


burned-in annotation:

  +an  --annotation-yes
         PDFには患者識別データを含めます(デフォルト)

  -an  --annotation-no
         PDFには患者識別データは含めません

document title:

  +t   --title  [t]itle: string (default: empty)
         文書のタイトル

  +cn  --concept-name  [CSD] [CV] [CM]: string (default: empty)
         コーディングスキーム指定子CSD、コード値CVおよびコード意味CMを伴う概念名コードシーケンスとしての文書タイトル

patient data:

  +pn  --patient-name  [n]ame: string
         DICOM PN(パーソンネーム) syntaxの患者名

  +pi  --patient-id  [i]d: string
         患者識別子

  +pb  --patient-birthdate  [d]ate: string (YYYYMMDD)
         患者の生年月日

  +ps  --patient-sex  [s]ex: string (M, F or O)
         患者の性別

study and series:

  +sg  --generate
         新しいスタディとシリーズUIDを生成する(デフォルト)

  +st  --study-from  [f]ilename: string
         DICOMファイルから患者/スタディデータを読み込む

  +se  --series-from  [f]ilename: string
         DICOMファイルから患者/スタディ/シリーズデータを読み込む

instance number:

  +i1  --instance-one
         インスタンス番号1を使用する(デフォルトでは+ seではない)

  +ii  --instance-inc
         増分インスタンス番号(+ seのみ)

  +is  --instance-set  [i]nstance number: integer
         インスタンス番号iを使用する

使用例


サンプルPDFデータ:Microsoft wordなどを使って、任意のPDFファイルを作成します。
ここでは、test1.pdfを使います。

サンプルデータをデスクトップに移動しておきます。
コマンドプロンプトで、次のように入力しました。

>pdf2dcm C:\Users\tatsu\Desktop\test1.pdf C:\Users\tatsu\Desktop\test1

(コマンドの意味)
pdf2dcm :コマンド
なし :オプション
pdffile-in:C:\Users\tatsu\Desktop\test1.pdf
dcmfile-out:C:\Users\tatsu\Desktop\test1

※コマンドとオプションの間、オプションとpdffile-inの間、また、dcmfile-in と dcmfile-outのパスの間には半角スペースを入れてください。

入力後、Enterで実行します。出力に設定しているTESTというDICOMファイルがデスクトップに新規作成されます。


CMD画面

DICOM←PDF


患者名や患者ID、生年月日もオプションで指定するとよりよさそうですね。

以上

Visionary Imaging Services, Inc.
Tatsuaki Kobayashi

コメント

このブログの人気の投稿

はじめに-DCMTK-

はじめに  このブログでは、DCMTK(v.3.6.2)のパッケージに含まれるコマンドラインツールの使い方を紹介していきます。  今回、DCMTKを理解して、より身近なツールにしたいという個人的なモチベーションでこのブログを書き始めました。  DCMTK(DICOM Toolkit)は、その名の通り、医用画像の国際標準規格であるDICOMとして作成された画像を取り扱うためのコマンドラインインターフェースで操作するツールで、ANSI C/C++で書かれたオープンソースソフトウェアです。 DICOMイメージファイルの検証、構築、変換、オフラインメディアの処理、ネットワーク接続を介したイメージの送受信、およびテスト用のイメージストレージとワークリストサーバーのソフトウェアが含まれています。  私がDCMTKに出会ったのは、もうDCMTKが成熟していたバージョン3.6.0の時でした。(この記事を執筆時点の最新バージョンは3.6.2)。  初めて使ったのは、仕事でDICOM接続テストに同行させていただいた時でした。 私はすっかりGUI(グラフィカルユーザーインターフェース)に慣れ親しんでいたので、DCMTKのようにCLI(コマンドラインインターフェース)で動作させるツールは使い方がわからないので、四苦八苦しました。  DCMTKを使いはじめ、徐々にそのすごさがわかってきました。例えば、OsiriXなどのソースなどを見ていると、直接DCMTKが利用されているではありませんか。このようなことから、きっとこのツールを使えることで得られるメリットは多いのではないかと感じるようになりました。  そして、よし、もっと使おう!と、ここも非常に単純に決めたのはいいものの、リファレンスは全て英語で、うまく動かなかったりという技術的につまづくことが多く、この点はとてもペインフルでした。  このような経験から、私のような痛みなく、このツールを使える人が増えて欲しいという単純な発想で、この技術ブログを書き始めました。  このブログを読んでいただく中で私の間違いに気づいてくださる読者の方もいらっしゃるだろうと思いつつも、自分の最初の直感"きっとこのツールを使えることで得られるメリットは多いのではないか"という気持ちを大切にしたいと考え、このキー

DCMTKをインストールする

DCMTKをインストールする DCMTKをインストールするために、まずDICOM@OFFISのWebサイト( http://dicom.offis.de/dcmtk.php.en )から自分のPCのOSに合ったDCMTK3.6.2をダウンロードします。 ダウンロードするDCMTKのリスト(OS別) 本書ではWindows10(64bit)に合わせ、 DCMTK 3.6.2 - executable binariesのリストの dcmtk-3.6.2-win64-dynamic.zip をダウンロードします。 ダウンロード後は、zipファイルを解凍します。解凍には特別なツールは不要で、zipファイルを右クリックして、「すべて展開」を選択するだけです。 ダウンロード後(ダウンロードフォルダ)  右クリックで「すべて展開」  展開先を指定(同じダウンロードフォルダ)  展開後 展開できたら、わかりやすいところにフォルダを移動しましょう。私の場合は ユーザフォルダ「tatsu」の中に移動しました。読者の方も、自分の好きなフォルダに移動しましょう。例えば、デスクトップでも構いません。  ユーザフォルダ内にDCMTKフォルダを移動した例 次はDCMTKの場所をPCに知らせるために、環境変数パスを設定します。 設定が必要な環境変数は2つです。 ~DCMTKフォルダ/bin (DCMTKの実体となるバイナリまでのパス) ~DCMTKフォルダ/share/dcmtk/dicom.dic (DCMTKの特定の機能で必要なDICOMタグ辞書) 設定は次のように行います。 まず、フォルダを開き、左側のツリー表示内の「PC」を右クリックし、最下段のプロパティを選択します。 プロパティを選択  次に、画面左側のシステムの詳細設定を選択します。  立ち上がったシステム画面からシステムの詳細設定を選択 システムのプロパティウィンドウが立ち上がりますので、その下段の環境変数を選択します。 環境変数を選択 環境変数ウィンドウが起動します。 環境変数ウィンドウ 次に、環境変数を追加します。追加は、下段の新規ボタンから行います。 新規

DCMTKを学ぶ - [dcmdump] dcmdata: a data encoding/decoding library and utility apps -

DCMTKを学ぶ - [dcmdump] dcmdata: a data encoding/decoding library and utility apps -  dcmdumpユーティリティは、DICOMファイル(ファイル形式または生データセット)の内容をテキスト形式でstdoutにダンプします。つまり、コマンドプロンプトの場合は、コマンドプロンプト画面上に、DICOMファイルの内容がテキストで羅列されます。   説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。 説明   dcmdumpユーティリティは、DICOMファイル(ファイル形式または生データセット)の内容をテキスト形式でstdoutにダンプします。 非常に大きな値フィールド(例えば、ピクセルデータ)を有する属性は、「(not loaded)」とされます。文字列値のフィールドは角括弧([])で区切られます。このマッピングが明示的にオフにされない限り、既知のUIDは、等号(例えば、「= MRImageStorage」)を前に付けた名前によって表示されます。空の値フィールドは、 "no value available(使用可能な値はありません)"と記述されます。  dcmdumpが生データセット(ファイル形式メタヘッダーなしのDICOMデータ)を読み取る場合、ファイルの最初の数バイトを調べて転送構文を推測しようとします。 転送構文を正しく推測することは必ずしも可能ではないため、可能な限りデータ・セットをファイル・フォーマットに変換する方がよいです(dcmconvユーティリティを使用して下さい)。また、-fおよび-t [ieb]オプションを使用して、dcmdumpに特定の転送構文を持つデータセットを強制的に読み取らせることもできます。 コマンドラインインターフェースからの基本的な使い方 >dcmdump [options] dcmfile-in... dcmdump :コマンド [options] :オプションを指定するデフォルト位置 dcmfile-in:入力されるdcmファイルのURI/URL (複数のDICOMファイルを保持するディレクトリでも可) 一般的なオプション (左:省略記載、右:略なし記載)   -h    --h