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

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」という環境変数を作成します。この時、変数値にはDCMTKのbinフォルダまでの絶対パス(Cドライブからフォルダまでの長いパスのことです)を設定します。これは、この画面左下の「ディレクトリの参照」から、DCMTKフォルダ内のbinフォルダを選択して設定できます。設定できたら、OKで閉じます。

 新しいシステム環境変数「DCMTK」を編集

 フォルダの参照からbinフォルダを選択

以下のようにリストに追加されます。

 環境変数にDCMTKが作成された

 同様に、dicom.dicまでの環境変数も新規作成します。変数名は「DCMDICTPATH」としてください。変数値にはdicom.dicファイルまでの絶対パスを指定します。これは、ウィンドウ下段のファイルの参照からDCMTKフォルダ>share>dcmtk>dicomを選択するようにします。編集できたらOKで閉じます。

 新しいシステム環境変数「DCMDICTPATH」を編集

 ファイルの参照からDCMTKフォルダ>share>dcmtk>dicomを選択

以上の2つの環境変数を新規作成できたら、次のような状態になるはずです。

DCMDICTPATHとDCMTKシステム環境変数が作成されている状態

最後に、DCMDICTPATHとDCMTKシステム環境変数を「Path」というシステム環境変数に追加します。このPath環境変数は、何らかのソフトウェアを起動する際に、OSが必ず参照するパスです。この変数に追加することで、DCMTKのバイナリを起動する際に、自動でOSがDCMTKのファイルを検知して実行できる仕組みです。


Pathシステム環境変数を選択して「編集」 をクリック

Path環境変数の編集作業では、ウィンドウ右上の新規ボタンから、環境変数を追加できます。

新規をクリック

%DCMTK%、%DCMDICTPATH%という具合に、%で変数名を挟んで表記します。
2つとも新規ボタンから追加できたら環境変数パスの設定は完了です。

 2つの環境変数を追加

 動作テストをしてみましょう。コマンドプロンプトを起動してください。コマンドプロンプトは、システムツールの中にあります(環境変数設定時からコマンドプロンプトを先に起動されている方は、一度終了して再度起動してください)。


コマンドプロンプトが立ち上がったら、例えば、「dcmdump」とコマンドして、Enterしてみましょう。dcmdump実行ファイルが起動し、Usage(使い方)が羅列されれば、DCMTKのバイナリファイルをOSが読み込めている証拠です。これで、インストールは完了です。

dcmdumpコマンドを入力

 Enter後

インストール作業時にエラーが発生することがあります。例えば、MSVCR110.dllが見つかりませんというエラーです。このエラーはVisual Studio C++ 開発環境で作成されたソフトウェアの実行時に発生することがあります。この環境で作成されたソフトが実行される際にランタイムというプログラムが必要で、これがインストールされていないためにこのエラーが表示されます。
もし同様のエラーが発生した場合は、次のソフトウェアをダウンロードしましょう。
Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ 
(https://www.microsoft.com/ja-jp/download/confirmation.aspx?id=30679)

他のバージョンではエラーを解決できないことがあります。この2012バージョンをお試しください。もしこれでも同じエラーが出る場合は、2013や2015バージョンの再頒布可能パッケージも試してください。

ダウンロード後、コマンドプロンプトを再起動して「dcmdump」コマンドを試してください。

 MSVCR110.dllエラー例

 Visual Studio 2012 更新プログラム 4  Visual C++ 再頒布可能パッケージ

パッケージをインストール

インストール作業は以上です。

Visionary Imaging Services, Inc.
小林 達明
2017/08/30

コメント

このブログの人気の投稿

はじめに-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を学ぶ - [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