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

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

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

DICOMパート10のファイルフォーマットかどうかをテストします。
説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。

説明

 dcmftestユーティリティは、コマンドで指定されたファイルがDICOMファイル(メタヘッダー付き)であるかどうかをテストします。

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

>dcmftest file...
  • dcmftest :コマンド
  • file...:入力されるファイル(dcmファイル)のURI/URL

補足

 コマンドラインで指定されたすべてのファイルは、バイト位置128のDICOM「magic word」「DICM」が存在するかどうかがチェックされます。
 完全なデータセットを解析する試みは行われません。
 各ファイルについて、テスト結果はstdoutに "yes:<filename> \ n"または "no:<filename> \ n"の形式で出力されます。
 このユーティリティは、DICOMでないファイルの数に対応するリターンコードで終了します。つまり、すべてのファイルがDICOMファイルとして渡される場合、戻り値は0です。この動作は、シェルスクリプトプログラミングでの使用を意図しています。

使用例

サンプルDICOMデータ:http://www.jira-net.or.jp/dicom/dicom_data_01_03.html
NM_LEE_IR6.dcm

サンプルNonDICOMデータ: Lena:https://imagej.nih.gov/ij/images/lena-std.tif

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

[DICOMファイルの場合]
>dcmftest C:\Users\tatsu\Desktop\NM_LEE_IR6.dcm

入力後、Enterで実行します。


以下のような出力が得られれば、テストは成功です。
yes: C:\Users\tatsu\Desktop\NM_LEE_IR6.dcm

DICOMファイルでのテスト

(コマンドの意味)
dcmftest :コマンド
file...:C:\Users\tatsu\Desktop\NM_LEE_IR6.dcm

[Non DICOMファイル(ここではTIFF画像)の場合]
>dcmftest C:\Users\tatsu\Desktop\lena-std.tif

入力後、Enterで実行します。









 Non DICOMファイルでのテスト(ここではTIFF画像)

以下のような出力が得られれば、テストは成功です。
TIFFはDICOM画像ではないため、"no"という出力が得られます。
no: C:\Users\tatsu\Desktop\lena-std.tif

(コマンドの意味)
dcmftest :コマンド
file...:C:\Users\tatsu\Desktop\lena-std.tif

※コマンドとファイルパスの間には半角スペースを入れてください。

以上

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