これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド gdcmraw です。
プログラム:
NAME
gdcmraw - データ要素値フィールドを抽出します。
SYNOPSIS
gdcmraw [オプション] ファイルイン ファイルアウト
DESCRIPTION
この gdcmraw ツールは主に開発目的で使用されます。 特定のものを抽出するために使用されます。
DICOM DataSet からのバイナリ フィールド。
パラメーター
file-in DICOM 入力ファイル名
ファイル出力出力ファイル名
OPTIONS
-i --input 入力ファイル名
-o --output 出力ファイル名
-t --tag 値を抽出するタグを指定します。
明確な OPTIONS
-S --split-frags フラグメントを複数のファイルに分割します。
-p --pattern 末尾のファイル パターンを指定します (split-frags を参照)。
-P --pixel-data ピクセル データ末尾 0。
全般的な OPTIONS
-h --ヘルプ
このヘルプテキストを印刷して終了します
-v --バージョン
バージョン情報を印刷して終了します
-V --冗長
詳細モード(警告+エラー)。
-W--警告
警告モード、警告情報を出力
-E--エラー
エラーモード、エラー情報の印刷
-D --デバッグ
デバッグモード、デバッグ情報の出力
典型的な USAGE
コピー 属性 値 〜へ file
これにより、タグ (0025,101b) の値が抽出されます。
$ gdcmraw -i GE_MR_0025xx1bProtocolDataBlock.dcm -t 25,101b -o pdb.raw
エキス ピクセル Rescale データ
タグを指定しない場合、Pixel Data 要素がデフォルトの要素になります。 たとえば
画像からピクセル データを取得するには:
$ gdcmraw -i test.acr -o test.raw
たとえば、このピクセル データの md5sum を計算できます (非常に便利です)。
$ md5sum テスト.raw
f845c8f283d39a0204c325654493ba53 test.raw
カプセル化 構文
ピクセル データがカプセル化されている場合、複数のフラグメントを使用して XNUMX つのデータを格納できます。
スライス画像:
$ gdcmdump D_CLUNIE_CT1_J2KR.dcm
\&...
(7fe0,0010) OB # u/l,1 ピクセルデータ
(fffe,e000) ?? [] # 0,1 アイテム
(fffe,e000) ?? ff\\4f\\ff\\51\\00\\29\\00\\00\\00\\00\\02\\00\\00\\00\\02\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\02\\00\\00\\00\\02\\00 # 65536,1 Item
(fffe,e000) ?? 2c\\b7\\ee\\68\\de\\e3\\93\\2d\\b3\\b8\\ba\\90\\7b\\42\\3e\\f8\\42\\16\\64\\88\\46\\30\\37\\d4\\50\\95\\9b\\b6\\a5\\c7\\38\\9b # 65536,1 Item
(fffe,e000) ?? 48\\3c\\03\\e8\\c4\\3f\\44\\e1\\8a\\5c\\73\\3b\\02\\0a\\ad\\a5\\8f\\e4\\0c\\81\\76\\a2\\d7\\1b\\7f\\b7\\cd\\bc\\30\\c6\\6a\\6a # 43308,1 Item
(fffe,e0dd) 0
そこから J2K イメージを作成するには、各フラグメントを抽出し、
それらを連結します:
$ gdcmraw -i D_CLUNIE_CT1_J2KR.dcm -o D_CLUNIE_CT1_J2KR.j2k
これは、Kakadu ソフトウェア パッケージを使用した有効な J2K ファイルです。
$ kdu_expand -i D_CLUNIE_CT1_J2KR.j2k -o D_CLUNIE_CT1_J2KR.tiff -record D_CLUNIE_CT1_J2KR.txt
$ 猫 D_CLUNIE_CT1_J2KR.txt
スプロファイル=プロファイル2
Scap=いいえ
セクテンション=0
サイズ={512,512}
ソリジン={0,0}
スタイル={512,512}
Stile_origin={0,0}
コンポーネント=1
割り当て済み=はい
精度=16
サンプリング={1,1}
Sdims={512,512}
Cycc=いいえ
Cmct=0
クレヤー=1
Cuse_sop=いいえ
Cuse_eph=いいえ
コーダー=LRCP
Calign_blk_last={いいえ、いいえ}
クレベル=5
カド=0
CDFS=0
Cdecomp=B(-:-:-)
リバーシブル=はい
Ckernels=W5X3
キャット=0
Cuse_precincts=いいえ
Cblk={64,64}
Cモード=0
Qガード=1
Qabs_ranges=18,19,19,20,19,19,20,19,19,20,19,19,20,19,19,20
>> タイル 0 の新しい属性:
エキス 断片 as file
場合によっては、各フラグメントが実際には XNUMX つのスライスであるため、連結する必要はありません。
それら:
$ gdcmdump 00191113.dcm
\&...
(7fe0,0010) OB # u/l,1 ピクセルデータ
(fffe,e000) ?? 00\\00\\00\\00\\6b\\38\\01\\00\\10\\77\\02\\00\\37\\b6\\03\\00\\a7\\f4\\04\\00 # 20,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 79970,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81564,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81694,1 Item
(fffe,e000) ?? ff\\d8\\ff\\c3\\00\\0b\\08\\02\\00\\02\\00\\01\\00\\11\\00\\ff\\c4\\00\\1b\\00\\01\\01\\01\\01\\01\\01\\01\\01\\00\\00\\00\\00 # 81511 (81512),1 Item
(fffe,e0dd) 0
これら 4 つのロスレス jpeg を個別に抽出してみましょう。
$ gdcmraw --split-frags -i 00191113.dcm -o jpeg --pattern %02d.ljpeg
これにより、4 つのファイルが出力されます。
-rw-r--r-- 1 マチュー マチュー 81512 2008-08-08 22:10 jpeg03.ljpeg
-rw-r--r-- 1 マチュー マチュー 81694 2008-08-08 22:10 jpeg02.ljpeg
-rw-r--r-- 1 マチュー マチュー 81564 2008-08-08 22:10 jpeg01.ljpeg
-rw-r--r-- 1 マチュー マチュー 79970 2008-08-08 22:10 jpeg00.ljpeg
脚注 わたしたち JPEG ファイル
「JPEG 8bits lossy」を単に JPEG ファイルと交換するのはよくある誤解です。
JPEG 仕様は、一般的な非可逆 8 ビット ファイルよりもはるかに広範です (
インターネットで)。
あなたが持つことができます:
・JPEG Lossy 8bits
・JPEG Lossy 12bits
・JPEGロスレス2-16bits
これらは、ITU-T T.81、ISO/IEC IS 10918-1 で定義されているものです。
onworks.net サービスを使用してオンラインで gdcmraw を使用する