D DICOMの処理およびサポートされる形式

この付録では、DICOMコンテンツの処理操作およびサポートされている形式について説明します。

この付録の内容は次のとおりです。

processCopy( )メソッドのリファレンス情報は、ORDDicomオブジェクト型のリファレンスおよびDICOM PL/SQL APIリファレンスを参照してください。

関連項目:

画像処理演算子の完全なリストおよび各演算子の詳細は、Oracle Multimediaリファレンスを参照してください。

D.1 DICOM画像コンテンツおよび圧縮形式

DICOM画像コンテンツの光度測定解釈は、タグ<00280004>で指定されます。DICOM画像の圧縮形式のタイプは、転送構文のUID値またはタグ<00020010>によって指定されます。

次の表に、DICOM画像のprocessCopy( )メソッドでサポートされている光度測定解釈を示します。

表D-1 DICOMコンテンツの光度測定解釈

アクション サポートされている光度測定解釈の値

読取り

MONOCHROME1、MONOCHROME2、RGB、PALETTECOLOR、YBR_FULL、YBR_FULL_422、YBR_RCTおよびYBR_ICT

書込み

MONOCHROME1、MONOCHROME2、RGB、YBR_FULL、YBR_FULL_422、YBR_RCTおよびYBR_ICT

読取りアクションについては、リストされた光度測定解釈値を持つDICOM画像をデコードして、ピクセル・データを抽出できます。

書込みアクションについては、リストされた光度測定解釈値を持つDICOM画像をエンコードして、対応する光度測定解釈を使用してピクセル・データを書き込むことができます。

次の表に、DICOM画像のprocessCopy( )メソッドでサポートされている圧縮形式を示します。

表D-2 DICOMコンテンツの圧縮形式

アクション サポートされている圧縮形式の値

読取り

DEFLATE、JPEG、JPEG 2000、JPEG-LOSSLESS、JPEG-LS、MPEG、RAWおよびRLE

書込み

DEFLATE、JPEG、JPEG 2000、JPEG-LOSSLESS、JPEG-LS、MPEG、RAWおよびRLE

読取りアクションについては、リストされた圧縮形式の値を持つDICOM画像をデコードして、ピクセル・データを圧縮解除できます。

注意:

追加情報:

  • Oracle Multimediaでは、processCopy( )メソッドを使用して、MPEGコンテンツをDICOM形式からMPEG形式に抽出する操作のみサポートされています。それ以外の処理操作はサポートされていません。

  • Oracle Multimediaでは、8ビットから16ビット(8ビットと16ビットを含む)のマルチビットのRAW圧縮形式がサポートされています。

書込みアクションについては、その圧縮形式の値を持つDICOM画像をエンコードして、対応する圧縮形式タイプを使用してピクセル・データを圧縮できます。

注意:

追加情報:

  • Oracle Multimediaでは、createDicomImage( )メソッドを使用して、MPEGコンテンツをDICOM形式にカプセル化する操作のみサポートされています。

  • Oracle Multimediaでは、8ビットから16ビット(8ビットと16ビットを含む)のマルチビットのRAW圧縮形式がサポートされています。

  • RLE圧縮を使用してDICOM画像を書込む場合は、圧縮形式の値としてDICOMRLEを指定します。

processCopy( )メソッドで圧縮形式を指定するには、compressionFormat演算子を使用します。画像が圧縮されていない場合は(圧縮形式の値がRAW)、各ピクセルのエンコーディング・ビットがユーザーのメタデータで指定され、processCopy( )メソッドの1つの引数として渡されます。

processCopy( )メソッドのリファレンス情報、およびcompressionFormat演算子の詳細は、ORDDicomオブジェクト型のリファレンスおよびDICOM PL/SQL APIリファレンスを参照してください。

次の各項では、一部のコンテンツ圧縮形式についてより詳細に説明します。

D.1.1 DEFLATE圧縮形式

DEFLATE圧縮形式では、deflateLevel演算子を使用して圧縮の速度または量を指定できます。この演算子は、文字列または1から9までの整数を受け取ります。

次の表に、有効な値のさらに詳細な定義を示します。

タイプ 説明

bestspeed

String

最速圧縮率

bestcompression

String

最高圧縮レベル

defaultcompression

String

デフォルト値

1から9

Integer

値の範囲。次の結果を表します。

  • 値が小さいほど、圧縮率が高速になります

  • 値を大きいほど、圧縮レベルが高くなります

deflateLevel演算子(太字で強調表示)に文字列値を使用して、DEFLATEの最高圧縮レベルを指定するには、次の構文を使用します。

dicom.processcopy('fileformat=dicom, compressionFormat=deflate,
 deflateLevel=bestcompression', sop_instance_uid, dest); 

この処理操作(比較的低速で実行される)を使用すると、高容量圧縮の画像が生成されます。一方、文字列値bestspeedを指定すると、画像が高速で処理され、低容量圧縮の画像が生成されます。

deflateLevel演算子(太字で強調表示)に整数値を使用して、DEFLATEの最高圧縮レベルを指定するには、次の構文を使用します。

dicom.processcopy('fileformat=dicom, compressionFormat=deflate, 
deflateLevel=9', sop_instance_uid, dest);

この処理操作も低速で実行されます。前述の例と同様に、高容量圧縮の画像が生成されます。一般に、整数値を使用すると、圧縮の速度とレベルを詳細に調整できます。この例では、最も大きい整数値(9)を指定すると、文字列値bestcompressionを指定した場合と同じ圧縮レベルになります。

D.1.2 JPEG-LOSSLESS圧縮形式

このトピックでは、例を使用して、JPEG-LOSSLESS圧縮でDICOM画像を書き込む方法を示します。

JPEG-LOSSLESS圧縮でDICOM画像を書き込むには、次の構文を使用します。

'fileFormat=dicom, compressionFormat=jpeg-lossless'

D.1.3 JPEG-LS圧縮形式

このトピックでは、例を使用して、JPEG-LS圧縮でDICOM画像を書き込む方法を示します。

JPEG-LS圧縮でDICOM画像を書き込むには、次の構文を使用します。

'fileFormat=dicom, compressionFormat=jpeg-ls'

D.1.4 MPEG圧縮形式

このトピックでは、MPEGコンテンツの読取り、抽出および書込みに使用できる方法を説明します。

processCopy( )メソッドを使用すると、MPEGコンテンツをDICOM形式から読み取って、MPEG形式に抽出できます。

createDicomImage( )メソッドを使用すると、MPEGコンテンツをDICOM形式に書き込むことができます。

D.1.5 RLE圧縮形式

このトピックでは、例を使用して、RLE圧縮でDICOM画像を書き込む方法を示します。

RLE圧縮でDICOM画像を書き込むには、次の構文を使用します。

'fileFormat=dicom, compressionFormat=dicomrle'

D.2 frame画像処理演算子

Oracle Multimediaには、DICOM画像処理のためのframe演算子が用意されています。frame演算子は、複数フレームのDICOM画像から特定のフレーム画像を抽出するために使用できます。また、frame演算子をscale演算子やrotate演算子などの他の画像処理演算子と組み合せて、複数フレームのDICOM画像から抽出された単一フレームで複数の操作を実行することもできます。

フレーム数で特定のフレームを抽出するには、次の構文を使用します。

frame = <frame number>

指定されたフレーム数が1より小さいか、DICOM画像の最大フレーム数より大きい場合、実行しようとした操作では、無効なフレーム例外が戻されます。frame演算子は、フレームが1つのみのDICOM画像にも使用できます。ただしこの場合、フレーム数の値は常に1であることが必要です。

D.3 その他の画像処理演算子

その他の画像処理演算子には、fileFormat、contentFormat、compressionFormat、cut、scaleおよびrotateがあります。

関連項目:

画像処理演算子の完全なリストおよび各演算子の詳細は、Oracle Multimediaリファレンスを参照してください。

D.4 複数フレームの画像の処理および作成

Oracle Multimediaでは、複数フレームのDICOM画像の作成および処理をサポートしています。

複数フレームのDICOM画像内の単一フレームを処理するには、processCopyコマンドのframe演算子文内でフレームを指定します(この構文の例はframe画像処理演算子を参照)。また、frame演算子をscale演算子やrotate演算子などの他の演算子と組み合せて、複数フレームのDICOM画像から抽出された単一フレームで複数の操作を実行することもできます。

複数フレームのDICOM画像を作成するには、次の構文を使用します。

frame = ALL

または、frame演算子をscale演算子やrotate演算子などの他の演算子と組み合せて、複数フレームのDICOM画像のすべてのフレームで複数の操作を実行することもできます。

また、frame = ALL構文を使用して、単一フレームのDICOM画像で実行する処理操作を指定できます。

関連項目:

画像処理演算子の完全なリストおよび各演算子の詳細は、Oracle Multimediaリファレンスを参照してください。

D.5 複数フレームのDICOMコンテンツのAVI形式への処理

Oracle Multimediaでは、複数フレームのDICOMコンテンツをWindows Audio Video Interleave (AVI)形式のMicrosoftビデオに処理する操作がサポートされています。複数フレームのDICOMコンテンツ(MRI、CT、超音波ビデオなど)からAVI形式の出力を生成できます。

複数フレームのDICOMコンテンツを処理してAVI出力を生成するには、DICOMコンテンツに対してprocessCopy( )プロシージャまたはメソッドをコールして、このコンテンツをAVI形式に変換します。fileFormat演算子の値をaviに設定してprocessCopy( )プロシージャまたはメソッドを指定するには、次の構文を使用します。

'fileFormat=avi'

前述の例は、aviに設定されたfileFormat演算子を示しています。他のパラメータは指定されていません。必要に応じて、fileFormat演算子の値としてaviを指定するだけでなく、framerateパラメータまたはframetimeパラメータのいずれかを指定することもできます。framerateパラメータは、生成されるAVIビデオの1秒間に表示されるフレームまたは画像の数を表します。frametimeパラメータは、生成されるAVIビデオの各フレームまたは画像が表示される時間(秒数)を表します。これらのオプション・パラメータのデフォルト値は、どちらも1です。

次のコード・セグメントは、AVIビデオのフレームが1秒間に10個表示されるように、framerateパラメータを指定する方法を示しています。

'fileFormat=avi, framerate=10'

次のコード・セグメントは、AVIビデオの1つのフレームが10分の1秒ごとに表示されるように、frametimeパラメータを指定する方法を示しています。

'fileFormat=avi, frametime=0.1'

注意:

fileFormat演算子をaviに設定してprocessCopy( )プロシージャまたはメソッドをコールするときは、指定するオプション・パラメータを一度に1つまでにしてください。同時に両方のオプション・パラメータを指定すると、例外がスローされます。

fileFormat演算子の値がaviに設定されている場合は、この演算子を他の演算子(scaleやrotateなど)と組み合せて、複数フレームのDICOMコンテンツに対して複数の操作を実行することもできます。

この機能をサポートするprocessCopy( )プロシージャに関するリファレンス情報は、BFILEのprocessCopy( )およびBLOBのprocessCopy( )を参照してください。この機能をサポートするprocessCopy( )メソッドに関するリファレンス情報は、BLOBへのprocessCopy()を参照してください。

関連項目:

AVIデータ形式の詳細は、Oracle Multimediaリファレンスを参照してください

D.6 processCopy( )メソッド引数の優先順位

processCopy( )メソッドを使用してDICOM画像を別のDICOM画像に処理するときに、オプションのメタデータ引数SYS.XMLTYPEを含めることで、出力DICOM画像のエンコーディング・ルールを指定できます。

コマンド引数とメタデータ引数が一致している場合は、コマンド引数がメタデータ引数に優先します。出力されるDICOM画像のエンコーディング情報は、コマンド引数とメタデータ引数(この順序で)で指定されたとおりに、処理操作の結果で更新されます。

関連項目:

XMLType操作の詳細は、Oracle XML DB開発者ガイドを参照してください