DDICOMの処理およびサポートされている形式

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

注:

DICOMのOracle Multimediaサポートは、Oracle Database 12cリリース2 (12.2)では非推奨になりました。将来のリリースではサポートされなくなる可能性があります。できるだけ早く、非推奨となった機能の使用を停止することをお薦めします。

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

processCopy( )メソッドの詳細は、「ORDDicomオブジェクト・タイプ・リファレンス」および「DICOM PL/SQL APIリファレンス」を参照してください。

関連項目:

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

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

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

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

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

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

READING

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

WRITING

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

アクションREADINGでは、DICOM画像の光度測定解釈値がリストに含まれる場合はデコード可能で、ピクセル・データを抽出できます。

アクションWRITINGでは、DICOM画像の光度測定解釈値がリストに含まれる場合はエンコード可能で、ピクセル・データを対応する光度測定解釈で書き込むことができます。

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

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

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

READING

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

WRITING

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

アクションREADINGでは、DICOMイメージの圧縮形式が上のリストに含まれる場合は、デコード可能で、ピクセル・データを圧縮解除できます。

注:

追加情報:

  • Oracle Multimediaは、processCopy( )メソッドでのみ、DICOM形式からMPEG形式へのMPEGコンテンツの抽出をサポートします。その他の処理演算はサポートされていません。

  • Oracle Multimediaは、8ビットから16ビットへのマルチビットのRAW圧縮形式をサポートします。

アクションWRITINGでは、圧縮形式の値を持つDICOM画像はエンコード可能で、対応する圧縮形式タイプでピクセル・データを圧縮できます。

注:

追加情報:

  • Oracle Multimediaは、createDicomImage( )メソッドでのみ、MPEGコンテンツのDICOM形式へのカプセル化をサポートします。

  • Oracle Multimediaは、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( )メソッドを使用すると、DICOMフォーマットからMPEGコンテンツを読み取り、MPEG形式に抽出できます。

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

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ビデオで秒ごとに表示されるフレームまたはイメージの数を表します。frametimeパラメータは、生成されたAVIビデオの各フレームまたはイメージが表示される期間を秒数で表します。これらのオプション・パラメータのデフォルト値は両方とも1です。

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

'fileFormat=avi, framerate=10'

次のコード・セグメントは、AVIビデオの各フレームが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画像のエンコーディング情報は、コマンド引数とメタデータ引数(この順序で)で指定されたとおりに、処理操作の結果で更新されます。

関連項目:

XMLタイプの演算子の詳細は、『Oracle XML DB開発者ガイド』を参照してください。