DICOM (.dcm, .dic)

  • ImportExport はDICOM規格のセクションPS3.10に準拠するDICOMファイルを完全にサポートする.
  • Import はACR/NEMA Version 2.0ファイルも読むことができる.
  • 予備知識

      • MIME type: application/dicom
      • DICOM 医療画像形式.
      • 一般に医療用画像機器や医療用画像のアーカイブ,通信システムで使われる.
      • DICOMはDigital Imaging and Communications in Medicineの頭文字である.
      • 患者とデバイスの情報と一緒に複数のラスタ画像を格納する.
      • バイナリ形式.
      • さまざまな画像エンコードとデータ圧縮手法をサポートする.
      • DICOM Version 3.0 は1993年に導入された.

    Import と Export

    • Import["file.dcm"]はDICOMファイルをインポートし, Image オブジェクトを返す.
    • Import["file.dcm",elem] はDICOMファイルから指定された要素をインポートする.
    • インポート形式はImport["file","DICOM"]または Import["file",{"DICOM",elem,}]で指定することができる.
    • Export["file.dcm",expr] はグラフィックスまたは式を画像としてDICOMファイルへエキスポートする.
    • Wolfram言語のグラフィックスや任意の式をDICOMにエキスポートすると,その画像は表示されている形式と同じラスタサイズになる.
    • デフォルトでは,Imageオブジェクトはそのラスタサイズでエキスポートされる.
    • DICOMはラスタ画像形式なので,全てのフォントはエキスポート時にラスタライズされる.
    • 一般的な情報は以下のドキュメントを参照のこと:
    • Import, Exportファイルからインポートするまたはファイルへエキスポートする
      CloudImport, CloudExportクラウドオブジェクトからインポートするまたはクラウドオブジェクトへエキスポートする
      ImportString, ExportString文字列からインポートするまたは文字列へエキスポートする
      ImportByteArray, ExportByteArrayバイト配列からインポートするまたはバイト配列へエキスポートする

    Import 要素

    • 一般的な Import 要素:
    • "Elements" ファイル中の有効な要素とオプションのリスト
      "Summary"ファイルの概要
      "Rules"使用可能なすべての要素の規則のリスト
    • データ表現要素:
    • "Data"値の配列
      "Graphics"画像を表すGraphics オブジェクト
      "Image"Image オブジェクトとして与えられたラスタグラフィックス
      "ImageList"画像のリスト
    • "RawData"カラーマップインデックスの配列
      "RawPixelData"スケーリングなしのDICOMピクセルデータ
    • Overlay 要素:
    • "Overlays"オーバーレイ画像またはオーバーレイのリスト
    • デフォルトでは,Import は,単一フレームのDICOMファイルには "Image" ,複数フレームのDICOMファイルには "ImageList" を使う.
    • 高度なImport 要素:
    • "BitDepth"ファイル内の各カラーチャネルを表すために使用されるビット
      "Channels"ファイル内で使用されているカラーチャネルの数
      "ColorMap"色の値のリストとして与えられる減色パレット
      "ColorSpace"ファイルで使用されるカラーエンコーディング
      "ImageSize"ラスタ次元
      "MetaInformation"ファイルに保存されているメタ情報
      "RawMetaInformation"ファイルに保存されている生のメタ情報
      "Summary"ファイルの概要
    • 一般的なExport要素:
    • "Rules"elemexprの形式でインポートされた要素のリスト
    • Export["file.dcm",{elem1->expr1,},"Rules"] は規則を使ってエキスポートする要素を指定する.
    • 可能なExport要素:
    • "Data"数値データ
      "Image"Imageオブジェクト
      "Image3D"Image3Dオブジェクト
      "ImageList"画像フレームのリスト
      "MetaInformation"メタデータのタグと値の連想
      "Overlays"連想のリスト
    • "Overlays"の連想は以下のキーをとることができる:
    • "Description"オーバーレイの説明
      "Image"オーバーレイ画像またはそのリスト
      "Label"オーバーレイのラベル
      "Type"オーバーレイのタイプ(型)
      "Subtype"オーバーレイのサブタイプ(型)
    • "Type" の値は,"Graphics" または "RegionOfInterest"のいずれかを取ることができる."Subtype""User"または"Automated"のいずれかを取ることができる.

    オプション

    • Import オプションと Export オプション:
    • "ImageTopOrientation"Topファイルに保存されている画像の向き
      ImageSizeAutomatic全体の画像サイズ
      IncludeMetaInformationAllインポートおよびエキスポートするメタデータの量
    • IncludeMetaInformationでは以下の設定が可能である:
    • All全ての可能なメタデータを含む
      Noneメタデータを含まない
      "Anonymized"匿名化されたメタデータを含む
      "FullyAnonymized"完全に匿名化されたメタデータを含む
    • Import オプション:
    • "DataTransformation"Automaticファイルに保存されているデータに適用する変換一式
    • "DataTransformation" には以下のキーを持つ連想が使える:
    • "Modality"Automaticデータ生成者を独立させるためのモダリティ変換
      "Polarity"Automatic最小値を黒または白と仮定するかどうか
      "Presentation"Automaticヒトの知覚反応に変換するかどうか
      "ScalingWindow"Automaticデータの関心領域VOIとも言われる,データのインポートに使用するスケーリング法
    • デフォルトでは,ファイルで指定されたモダリティ変換が使用される.この変換を無効にするためには"Modality"None を使用する.
    • デフォルトでは,ファイルで指定された極性変換が使用される.可能な設定は以下のものである:
    • "Normal"最小値が黒であると仮定する
      "Reverse"最小値が白であると仮定する
    • デフォルトでは,ファイルで指定されたプレゼンテーション変換が使用される.この変換を無効にするためには"Presentation"None を使用する.
    • "ScalingWindow" に使用できる設定:
    • Automatic自動スケーリング
      Noneスケーリングなし
      "MinMax"すべてのフレームのデータの最小値および最大値にスケールする
      "MinMaxPerFrame"各フレームのデータの最小値および最大値にスケールする
      {center,w}範囲{center-w,center+w}にスケールする
      <|"Center"center,"Width"w|>範囲{center-w,center+w}にスケールする
      <|"Min"min,"Max"max|>範囲{min,max}にスケールする
    • "ScalingWindow"->Automaticとすると,値はファイルに保存されたスケーリング値を使ってスケールされる.スケーリング設定が保存されていない場合は,値は "MinMax"メソッドを使ってスケールされる.
    • Exportオプション:
    • ColorSpaceAutomaticファイル内で使用する色空間
      CompressionLevelAutomatic使用する圧縮レベル
      ImageSizeAutomatic画像の全体の大きさ
      "BitDepth"Automatic画像データの保存に使用するチャンネルあたりのビット深度
      "ImageEncoding"None使用する画像圧縮
      "ImageTopOrientation"Automaticファイルに保存されている画像の向き
    • サポートされているColorSpace設定は "Grayscale""RGB"である.
    • "ImageEncoding""JPEGLossless"に使用可能な値は, "JPEGLosslessNonhierarchical""JPEGLSLossless""JPEGLSLossy""JPEGLossy8Bit""JPEGLossy12Bit", "RLE"である.

    例題

    すべて開くすべて閉じる

      (3)

    グレーレベル画像を含むDICOMファイルをインポートする:

    画像の概要:

    画像をDICOMにエキスポートする:

    スコープ  (2)

    ファイルで利用できるすべてのImport要素を示す:

    DICOMファイルからメタデータをインポートする:

    Import要素  (15)

    利用できる要素  (3)

    利用できる要素のリスト:

    すべての要素を規則のリストとしてインポートする:

    いくつかの画像オプションを取得する:

    "Options"要素はインポートされた画像のオプションをすべて返す訳ではない:

    データ表現  (4)

    画像データをインポートする:

    インポートされたデータを使って画像を作成する:

    Graphicsオブジェクトとしてインポートする:

    Imageオブジェクトとしてインポートする:

    これはDICOMのデフォルトのインポート要素である:

    ファイルに保存されているように,DICOMのピクセルデータをインポートする:

    値はスケーリングなしで返され,画像として表示しても見ることはできない:

    より多くのデータを表示するには,値を調整する:

    メタデータ  (8)

    各色チャンネルを表すために使用されるビット数を取得する:

    色チャンネル数を取得する:

    エキスポートで使用された色符号化を取得する:

    インポートした画像の色空間をImageColorSpaceを使って取得する:

    ファイルに保管された画像の次元を取得する:

    インポートされた画像に対してImageDimensionsを適用しても同じ結果が得られる:

    DICOMファイルからメタ情報を読み込む:

    メタ情報のデータ集合:

    "RawMetaInformation""MetaInformation"とは異なり,インポートされた値をDICOM標準に対して検証しない.またWolfram言語式への変換も行わない.DICOMファイルから生のメタ情報を読み取る:

    生のメタ情報のデータ集合:

    "RawMetaInformation"要素は"MetaInformation"より多くのタグを返すことがある:

    画像の概要を取得する:

    Export要素  (10)

    "Data"  (1)

    NumericArrayを生の画素値としてDICOMファイルにエキスポートする:

    "Graphics"  (1)

    どのような式でもDICOMファイルにエキスポートできる.画像でない場合はラスタ化される:

    "GraphicsList"  (1)

    任意の式のリストはマルチフレームDICOMファイルにエキスポートできる:

    "Image"  (1)

    単一の画像をエキスポートする:

    "ImageList"  (1)

    画像のリストをマルチフレームDICOMファイルにエキスポートする:

    異なるサイズの画像は次元を一致させる:

    "Image3D"  (1)

    3D画像をマルチフレームのDICOMファイルにエキスポートする:

    "MetaInformation"  (2)

    画像とメタ情報をDICOMファイルにエキスポートする:

    画像がない場合,メタデータはエキスポートできない:

    "Overlays"  (2)

    オーバレイとエキスポートする画像を定義する:

    オーバレイを適切に配置して画像をエキスポートする:

    結果をインポートする:

    オーバレイだけをインポートする:

    オーバレイはそれだけではエキスポートできない:

    Importオプション  (8)

    ImageSize  (1)

    デフォルトでは画像は完全解像度でインポートされる:

    インポートされるDICOM画像のラスタサイズを指定する:

    "ImageTopOrientation"  (1)

    デフォルトでは画像は上向きでインポートされる:

    上部として想定する辺を指定する:

    "DataTransformation"  (6)

    画像にデフォルトのデータ変換を適用してインポートする:

    インポートされた画像の画素値の範囲を確認する:

    画像を変換しないでインポートする:

    インポートされた画像の画素値の範囲を確認する:

    ファイルに保存されたウィンドウの幅と中心の値を確認する:

    ファイルに保存されたウィンドウの幅と中心を明示的に指定して画像をインポートする:

    500から600までの値を完全画像データ範囲にスケールして画像をインポートする:

    指定のスケーリング値を使い,極性を維持して画像をインポートする:

    モダリティ変換の無効化と極性の変更がインポートされた画像に及ぼす影響を比較する:

    Exportオプション  (18)

    BitDepth  (3)

    Exportは自動的に最適なビット深度を使用する:

    エキスポート画像のビット深度を強制的に8にする:

    サポートされているビット深度はAutomatic8,および16である.

    ColorSpace  (3)

    フォルトではExportは最適な色空間を使用する:

    色空間を強制的にグレースケールにする:

    サポートされている値はAutomatic"Grayscale",および"RGB"である:

    CompressionLevel  (4)

    圧縮レベルは0から1まででなければならない:

    CompressionLevel0を使うと圧縮はなくなり,画質は可能な最高の画質となる:

    これはファイルサイズが大きくなる:

    CompressionLevel1では最も圧縮され,ファイルサイズは可能な最小サイズとなる:

    ファイルサイズは小さくなる:

    しかし通常アーティファクトが発生する:

    画像の可逆符号化は圧縮レベルを無視する:

    "ImageEncoding"  (3)

    デフォルトではDICOM画像は符号化なしでエキスポートされる:

    DICOM画像を不可逆12ビットJPEG符号化でエキスポートする:

    さまざまな符号化方式のファイルサイズを比較する:

    ImageSize  (1)

    デフォルトでは,画像は完全解像度でエキスポートされる:

    エキスポートする画像のラスタサイズを指定する:

    IncludeMetaInformation  (3)

    画像を埋込みメタデータとともにインポートする:

    デフォルトでは,埋め込まれたメタデータは"MetaInformation"要素で指定されたものに統合される:

    IncludeMetaInformationNoneとすると,埋込みメタデータは無視される:

    埋込みメタ情報は含むが,一部匿名化する:

    被検者名が削除された:

    手続き開始時間等.他のいくつかのメタデータは残る:

    埋込みメタ情報は含むが,完全に匿名化する:

    ほとんどのメタデータが取り除かれるか匿名化されるかした:

    "ImageTopOrientation"  (1)

    デフォルトでは直立方向の画像は"ImageTopOrientation"->Topを使ってエキスポートされる:

    向きを指定する: