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

投稿

6月, 2019の投稿を表示しています

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ドキュメントオプション

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で実行します。 以下のような出力が得られれば、テストは成功で

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

DCMTKを学ぶ - [dcmconv] dcmdata: a data encoding/decoding library and utility apps - DICOMファイルエンコーディングを変換します。 説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。 説明   dcmconvユーティリティはDICOMファイルを読み取り、エンコーディング変換を実行し、変換されたデータを出力ファイルに書き込みます。 画像の圧縮や解凍に利用します。 コマンドラインインターフェースからの基本的な使い方 >dcmconv [options] dcmfile-in dcmfile-out dcmconv :コマンド [options] :オプションを指定するデフォルト位置 dcmfile-in:入力されるdcmファイルの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           ロガーにコンフィグファイルを指定します。 インプットオプション input file format:   +f   --read-file        

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

DCMTKを学ぶ - [dcmodify] dcmdata: a data encoding/decoding library and utility apps - DICOMファイルを修正します。 説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。 説明   dcmodifyは、DICOMファイルのタグや項目の変更、挿入、削除を可能にするツールです。値の多重度> 1のシーケンスおよびタグもサポートされています。 Metaheaderの情報とタグのVRは、dcmodifyで直接変更することはできません。タグの変更に加えて、dcmodifyには、ユーザが指定したときに入力ファイルを処理するためのdcmodifyの強制入力オプションと、結果ファイルの出力フォーマットを制御する出力オプションが用意されています。  複数の変更を実行する必要がある場合、dcmodifyはコマンドラインに表示される順序と同じ順序で変更を行います。 dcmodifyは、指定された値がその値表現(VR)と一致するかどうかをチェックしません。通常、エラーメッセージが表示されますが、一般的にユーザーは適切なVRを使ってください。  dcmodifyが挿入すべきタグを知らない場合、タグのVRはUNに設定され、コマンドラインで指定された値は16進数のシリーズとして解釈されます。この動作を回避するには、これらのタグを辞書に挿入してください。また、-iunオプションを指定すると、dcmodifyにUN値を変更せずに残すことができます。オプション-uを使用すると、dcmodifyはすべてのVR = UN属性をOBとして保存します。  dcmodifyは、いわゆるタグパスを使ってシーケンスでタグにアクセスすることができます。構文は次のとおりです。 {sequence[item-no].}*element  ここで 'sequence'は(0008,1111)のようなシーケンスタグまたはタグの辞書名です。 'item-no'は、アクセスするアイテム番号を示します(ゼロから数えます)。 'element'は作業するターゲットタグを定義します。タグは、(0010,0010)として直接指定することも、対応する辞書名 "Patie

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

DCMTKを学ぶ - [img2dcm] dcmdata: a data encoding/decoding library and utility apps - 標準的な画像形式をDICOMフォーマットに変換します。 説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。 説明  img2dcmツールは、JPEGやBMPのような標準的な画像フォーマットからDICOMへの変換ツールとして機能します。  異なるSOPクラスを選択できます。  DICOM出力ファイルに格納されている追加情報(患者、シリーズなど)は、DICOMオブジェクトの「テンプレート」として機能する他のDICOMファイルから抽出することができます。  img2dcmは、欠落しているDICOMタイプ1およびタイプ2の属性(つまり、必須のタグ)を生成して、テンプレートデータセットなしでも機能するように構成することもできます。 コマンドラインインターフェースからの基本的な使い方 >img2dcm [options] imgfile-in dcmfile-out img2dcm :コマンド [options] :オプションを指定するデフォルト位置 imgfile-in:入力されるdcmファイルの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, deb

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

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(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が利用されているではありませんか。このようなことから、きっとこのツールを使えることで得られるメリットは多いのではないかと感じるようになりました。  そして、よし、もっと使おう!と、ここも非常に単純に決めたのはいいものの、リファレンスは全て英語で、うまく動かなかったりという技術的につまづくことが多く、この点はとてもペインフルでした。  このような経験から、私のような痛みなく、このツールを使える人が増えて欲しいという単純な発想で、この技術ブログを書き始めました。  このブログを読んでいただく中で私の間違いに気づいてくださる読者の方もいらっしゃるだろうと思いつつも、自分の最初の直感"きっとこのツールを使えることで得られるメリットは多いのではないか"という気持ちを大切にしたいと考え、このキー