abox.tools

言語: 日本語

DCMファイルの開き方と、その中身

病院のディスクは、拡張子のないファイルの入ったフォルダと、Windows XPの頃に書かれたビューアです。ファイルはDICOMで、そこに変わったところは何もありません。検査画像はフィールドの詰まったヘッダーと画素のかたまりです。その見方と、操作が何を意味するのか、そしてそのファイルが画像のほかに何を抱えているのかを書きます。

DICOMビューアを開く CT・MRI・レントゲン・超音波を、ウィンドウとヘッダーと計測つきで。

Markdownで表示

短い答え

DICOMビューアを開き、.dcmファイルか、それらの入ったフォルダ全体をドラッグして落としてください。ファイルは手元の端末で読まれ、元のシリーズに戻され、装置が撮った順に重ねられます。何もアップロードされませんし、ファイルに書き戻されるものもありません。

ディスクを渡されて、どのファイルを開けばいいのか迷っているなら、答えは全部を一度に、です。CTやMRIは1つのファイルではありません。1スライスに1ファイルで、胸部の検査なら300個ほどになります。

DCMファイルとは何か、何で開けるか

末尾が.dcmのファイルはDICOMファイルです。あらゆる医療用撮影装置が使う形式で、この3文字は通常付けられる拡張子にすぎません。医療用ビューアを入れたことのない端末でダブルクリックすると、どのプログラムで開くかを聞かれます。端末に最初からあるプログラムには、この形式を開くものが登録されていないからです。写真アプリでは開けません。中の画素は名前を変えたJPEGではなく、12ビットや16ビットの値で、画像の幅を知るにはまずヘッダーを読む必要があります。

つまり「DCMファイルビューア」は、人が検索に使う名前で呼んだDICOMビューアです。種類は3つあります。まだ動くならディスクに入ったプログラム。毎週検査画像を読む人には適していても、ディスク1枚のためには手間の大きい、インストールするデスクトップ用ビューア。そしてウェブページです。ウェブページには見た目が同じ2種類があります。ファイルをサーバーへ送り画像を返すものと、ブラウザ内で読むものです。区別するにはページを読み込み、回線を切ってからファイルを開いてください。後者だけが動き続けます。

病院のディスクに何が入っているか

たいていは4つで、意味があるのはそのうち1つだけです。

検査画像にそのビューアは要りません。形式は公開された規格で、ファイルはそれ自体で読めます。ディスクの実行ファイルは、それを読めるプログラムのひとつであって、唯一のものではありません。

ファイルになぜ拡張子がないのか

DICOMには必要ないからです。どのファイルも自分の目印を持っています。何もない128バイト、そのあとにDICMという4文字、そのあとに残りがどう書かれているかを示す小さなフィールドのかたまりです。読み手は.dcmで終わる名前ではなく、その4文字を確かめます。

ファイル名を.dcmに変えても何も変わらないのはそのためですし、拡張子にこだわるビューアが必要以上に厳しいのもそのためです。病院のネットワークから直接書き出されたファイルには、その128バイトと目印さえありません。前に何もない裸のデータで、読み手は最初の要素から符号化を割り出さなければなりません。それは正常なファイルで、壊れたファイルではありません。

ウィンドウと中心値、これが効いてくる操作です

医療画像をふつうの写真と違うものにしている唯一の点であり、それを見るのに画像編集ソフトが向かない理由です。

CTの1スライスにはおよそ4000通りの値が入っています。画面が出せるグレーは256階調です。その4000のうちどれが256のどこに乗るのかを何かが決めなければならず、その決定がウィンドウです。それより下はすべて黒、上はすべて白、あいだの範囲がグレーに広がります。

ウィンドウを動かすと、同じファイルが別の検査画像のように見えます。それは描画の不具合ではなく、まさにそこが要点です。肺と骨は同じスライスの中にありながら、同時には見えません。膨らんだ肺の質感を見せるウィンドウはすべての骨を真っ白にしますし、肋骨の細かい梁の構造を見せるウィンドウは肺全体を真っ黒にします。

CTの数値はハウンスフィールド単位で、装置ごとではなく絶対的に定義されています。水が0、空気が−1000で、世界中のどのCT装置でもそうです。だからビューアは肺・骨・脳・軟部組織といった名前つきのウィンドウを用意でき、それがあなたのファイルでも、その検査が読影されたワークステーションと同じ意味を持ちます。よく使われるものはこれです。

MRIにはそうした尺度がありません。値はシーケンスとコイルと装置によって変わるので、プリセットに名前を付ける根拠がなく、最初に開くウィンドウはファイル自身が求めているものです。どの検査画像も提案をひとつ抱えています。

ビューア。グレースケールの断面と、その横のウィンドウ・レベルの操作、よく使う組織域のプリセット、そして四隅の検査情報。
効く操作はウィンドウとレベルの二つです。スキャンは画面が出せる以上の階調を持っていて、そのどこを見るかを決めるのがこの二つです。

スライスがときどき逆向きに送られるのはなぜか

ビューアはファイルをどの順に並べるかを決めなければならず、ファイルの中には使えるものが2つあります。

Instance Numberは通し番号です。いかにもな選択ですが、それを振るのはファイルを書いた何かであって、患者の向きに沿って番号を振る必要はありません。足から上へ再構成しながら頭から下へ番号を振った検査は逆向きに送られますし、2つの再構成から組んだシリーズでは番号がそのまま重なることさえあります。

Image Position (Patient)は、そのスライスが物理的にどこにあるかをミリ単位で、装置ではなく患者に固定した座標系で書いたものです。番号が何をしていようとそれで並べるのが正しいですし、役に立つ副産物もあります。スライスが物理的な順に並べばその間隔が測れるので、ビューアはスライスが5 mm間隔だと書けますし、ファイルが決して言わないこと、つまり1枚欠けていることにも気づけます。

何かを計測する

検査画像は測定されたデータなので、その上の長さは本物の長さです。ファイルが画素の間隔を書いていれば、ですが。それはPixel Spacingというフィールドひとつでミリ単位、ほぼすべてのCTとMRIに入っています。

超音波の画像、紙をスキャンしたもの、DICOMで保存した画面キャプチャには入っていないことがよくあります。入っていない場所にミリでの正直な答えはありませんし、それでも答えを返すビューアは尺度を勝手に作っています。画素数は、ファイルが答えられない問いへの正しい答えです。

正方形でない画素にも気をつけてください。CTの外ではそれがふつうです。画素で測って間隔の数字ひとつを掛けるのは2つが等しいときだけ正しく、軸ごとにその軸の間隔で測らなければなりません。

検査画像が画像のほかに何を抱えているか

人が間違えるのはここですし、こうしたファイルに慎重であるべき理由もここです。

DICOMファイルは、メタデータの付いた画像ではありません。画像の入った診療記録です。ヘッダーはフィールドの一覧で、ふつうの臨床検査画像なら次のものが入っています。

渡されたファイルはどれもそのすべてを抱えていて、それはファイルが行く先へそのまま付いていきます。氏名を消すだけでは足りません。生年月日と、郵便番号ほどの広さの施設と、撮影時刻がそろえば、氏名と同じくらいよく一人を特定しますし、検査のUIDに至っては、アーカイブに触れられる人にとってその人を正確に指し示します。

装置によっては、患者氏名の2つめの写しを私的フィールドにも置きます。意味がどこにも公開されていないフィールドで、中に何が入っているのか知りようがないため、匿名化の道具のほとんどはそこに触れません。

このファイルの中で患者を特定するものを並べたカード。氏名、ID、生年月日、検査の記述。
画像のほかにスキャンが抱えているもの。これをメールで送るべきでない理由を語っているのが、このカードです。

見るためだけに検査画像を上げないでください

この困りごとはたいてい「dicom viewer online」の検索とアップロード欄で片づけられます。そのとき何が起きたかというと、見知らぬ相手が診療記録の写しを手にしたということです。画素も、氏名も、生年月日も、患者番号も、アーカイブへ戻る鍵もです。

そうする理由はありません。DICOMファイルを読むというのはヘッダーを解析していくつかの整数を取り出すことで、ブラウザはそれをきちんとこなします。だからこそここのビューアにはネットワーク機能がまったくありません。fetchもXMLHttpRequestもなく、何かが試みたとしてもファイルを送れるものがありません。ページを一度読み込んで回線を切っても、検査画像は開き続けられます。

オンライン変換サイトにファイルを上げても安全かが、その主張をこのサイトでも他のサイトでもどう確かめるかを書いています。確かめる価値がいちばん大きいのが、まさにこの種類のファイルです。

ブラウザにできないこと

2つあり、どちらもはっきり書いておく価値があります。

診断用のビューアではありません。画面は校正されておらず、ブラウザは検証された描画系ではなく、どのウェブページも規制上の評価を受けていません。臨床的な判断のために検査画像を読むのは、それが読影されたワークステーションの仕事です。ディスクに何が入っているかを確かめる、講義や論文のために1枚取り出す、ヘッダーを読む、別のプログラムがなぜこのファイルを拒むのかを調べる。どれもブラウザで開く十分な理由です。

圧縮された検査画像の一部はデコードできません。DICOMはいくつもの圧縮方式を許していて、ブラウザはそのうち1つを実装しています。非圧縮のファイル、run-lengthで符号化されたファイル、baseline JPEG、そして病院からの書き出しの大半が使うJPEG Losslessは、どれも開きます。JPEG 2000、JPEG-LS、動画の形式には、コンパイル済みライブラリが数メガバイト必要です。画像をデコードできない場合でもヘッダーはすべて読めますし、たいていはそちらこそ、あなたが見に来た半分です。