LEADTOOLSライブラリ

フレームを表示

基本的なBrightnessとContrastメソッド

基本的な明度とコントラストコマンドクラスで、フラットなscaleを用いて強度またはコントラストを変更することができます、または、ガンマ補正を調節することができます。ガンマ補正では、人間の視覚の特性に基づき、対数スケールを使用して明度を変更します。表示に、または、imageに基本的な明度とコントラストコマンドクラスを適用することができます。

表示を調節するために、PaintIntensityPaintContrastPaintGammaプロパティを使います。これらのメソッドは、すべてのイメージの表示に影響を及ぼします。imageに影響を及ぼさないので、本当に画像処理グループの一部でありません。しかし、個々の画像ではなくデバイスに対して明度とコントラストを調整する場合は、画像処理メソッドよりもこれらのメソッドの方が便利です。

imageの明度とコントラストを変更するために、ChangeIntensityCommandChangeContrastCommandGammaCorrectCommandを使います。これらのコマンドクラスを使用するならば、ファイルでimageを保存するとき、変化は永久になります。

AddCommandクラスを使用すると、イメージリスト内の画像を加算合成することで、画像の明度を向上させることができます。リストのイメージは、同じビューまたはimageのいくつかの「バージョン」から構成されます。

AddWeightedCommandクラスを使用すると、イメージリスト内の画像を加算合成することで、画像の明度を向上させることができます。通常、短い間隔で同じオブジェクトの撮られる一連の画像のために、このコマンドを使うでしょう。また、重み付けされた複数の画像を加算合成した結果を取得する場合にも使用できます。

MultiplyCommandクラスを使用すると、指定した画像の色に要因を100で割った値を掛けることで、画像の明度を増減できます。たとえば、要因が131の場合、指定した画像の色に1.31が乗算されます。

ColorIntensityBalanceCommandクラスは、赤、緑、青の各チャネルの配分を変更します。

ContrastBrightnessIntensityCommandクラスは、明度、コントラスト、および輝度を調整して、画像の色調範囲を向上させます。

ChangeHueSaturationIntensityCommandクラスを使用すると、画像のすべての色、または指定した色の色相、彩度、および明度を変更できます。このクラスによってChangeHueCommandChangeSaturationCommandChangeIntensityCommandクラスで見つけられる方法論を結合して、全く一度に全体的な色相、彩度と強度を変更するか、別にパラメータを調節するか、連続したパスの調整をすることができます。

ApplyMathematicalLogicCommandMathematicalFunctionCommandクラスは、imageのピクセル値(以下を含む)まで数式模型を適用することによってimageの色相、彩度と明度を調節するのに用いられることができます:正方形、平方根、ログ(正弦)と余弦、それから指定された要因によって結果を乗算すること。

DICOMファイルで機能するとき、LookupTableを用いて、または、それぞれ、ApplyModalityLookupTableCommandまたはApplyLinearModalityLookupTableCommandを用いて線形変換を適用することによってピクセル値を再配置することができます。それぞれ、ApplyVoiLookupTableCommandまたはApplyLinearVoiLookupTableCommandを用いてLookupTableまたは線形変換を使用してimageのためにウィンドウ水準測定オプションを準備することもできます。

ヒストグラムベースのContrastメソッド

若干のimage処理方法は、より高度なコントラスト改良のために内部的に生成されるヒストグラムを使います。ヒストグラムとは、画像内での各輝度値の使用頻度を表すテーブルです。

HistogramContrastCommandクラスは普通のChangeContrastCommandクラスと似ていますが、画像自体の中央値を使用する点が異なります。普通のコントラストクラスは128以上の輝度を上げて、127以下の輝度を下げます。HistogramContrastCommandクラスは、imageで中央明度値を最初に見つけます。128の代わりにその中央値を基準として輝度を増減します。これらのクラスのどちらででも、どのようにコントラストを非常に増やすべきかについて示すために、パラメーターを指定します。

StretchIntensityCommandクラスはフラットなimageのコントラストを改善します、その一方で、様々な明度値のオリジナルの数を保存します。増加量を指定する他のコントラストクラスでは、スケールの最大値と最小値の周辺で値が失われる可能性があります。それに対してこのクラスでは、輝度の最小値を0、最大値を255に設定してから、元の値を比例的にリマップします。元の値が0から255にすでにわたるならば、このメソッドはエフェクトを持っていません。

LocalHistogramEqualizeCommandクラスは、指定したカラースペースに基づいて、画像の局所的なピクセルの数を線形化します。これは、画像の暗い部分の詳細を明らかにし、ブロック間のエッジを滑らかにするために使用できます。

HistogramEqualizeCommandクラスは、しばしばコントラスト改良を通して非表示にする詳細を出すために最も効果的メソッドです。StretchIntensityCommandクラスのように、0~255の全範囲を使うことは、明度値を再配置します。比例的にリマップするのではなく均一に再配分して、輝度値の範囲内でピクセル数のバランスをとります。そのため、元の画像に含まれる同程度の輝度値のかたまりが散らばり、微妙な差異を識別できるようになります。

LightControlCommandクラスは、ピクセル値をリマップすることで、画像の全部または一部を明るくしたり、暗くしたりします。新しい平均値を達成するために、このクラスは、利用できるピクセル値の全範囲の向こうで、imageのピクセル値を再配置します

AutoColorLevelCommandクラスは、暗い値をより暗く、明るい値をより明るくします。こうすると、自動的にシャドウが強調され、画像が明るくなります。

ColorLevelCommandクラスは、imageにカラーレベル調整を適用します。それは、imageのシャドウ、中間色とハイライトを変更します。

独自のヒストグラムベースのメソッドを作成するには、HistogramCommandクラスを使用して画像のヒストグラムを取得できます。LookupTableを作成して、ルックアップテーブルでimageの強度を変更するためにRemapIntensityCommandクラスを使用するために、ヒストグラムをその後操ることができます。GetFunctionalLookupTableGetUserLookupTableクラスは、RemapIntensityCommandを使う前にLookupTablesをプログラムコードから更新する手段を提供します。

12-または16ビットグレースケールimageのためにヒストグラムを取得するために、HistogramCommandを呼び出します。12-と16ビットグレースケールイメージのサポートがDocument/Medicalツールキットで利用できるだけである点に注意してください。

明度値は、濃度レベル値です。カラーイメージの明度値を変更するとき、LEADTOOLSクラスは各々のカラープレーンの値を実際に変更しています。高レベルクラスではすべてのプレーンの値が自動的に変更されますが、独自のクラスを作成する場合は、どの値を変更するかを作成者が決定できます。HistogramCommandRemapIntensityCommandクラスで、個々のカラープレーンを操作することができます、または、マスターチャネルを指定することによってすべてのカラープレーンを操作することができます。

カラーイメージで、最初にHSV分離をするためにColorSeparateCommandメソッドを使うことで、より多くの自然色を保存することができます。その後値面を操作することができて、ColorMergeCommandメソッドでカラープレーンを再結合することができます。

HSVカラースペースでは、色は色相、彩度(白の量)、および明度(明暗の度合い)によって表現されます。これらは、RemapHueCommandクラスを用いて再配置されることができます。HSVとRGB色空間の間で変換するために、ToRasterColorFromRasterColorを使います。

特別なメソッド

DynamicBinaryCommandクラスは、画像の各ピクセルのローカルしきい値を使用することにより、ビット数を変更せずに白黒画像に変換します。

MultiScaleEnhancementCommandクラスは、コンピュータラジオグラフィ(CR)のために、画像強調(例えばコントラスト強調、エッジ強調とラチチュード縮小)の技術を折り返します。

特に、不均一性明度を修正する際に、医用画像とグレースケールイメージで、SubtractBackgroundCommandは役に立ちます。このメソッドは、どんなポイントが背景ポイントであるか決定するために、圧延ボールアルゴリズムを使用します。小回転ボール半径は小さなオブジェクトを識別します、そして、より大きい半径は大きくて小さなオブジェクトを識別します。しばしば結果として生じるimageが暗いので、このメソッドは最終的なimageの明度を増やすために機能を含むためにMultiplyCommandのそれに類似した方法論を含みます。

ウィンドウ-レベリングドキュメント/Medicalのみ)

ウィンドウ-レベリングは12-と16ビットグレースケールイメージに有効で、ビット範囲やユーザー定義のカラーマップを指定することによってグレースケール強度をマップするのに用いられるだけです。2つのメソッドは、ウィンドウ-レベリングに対して用意されています。WindowLevelは「オンデマンドで」描画のためのウィンドウ-レベリングが機能して、imageを変えないと定めます、そして、WindowLevelCommandはウィンドウレベル調整を行った8-または24-ビットRGB imageにimageを変換します。ビット範囲はLowBitHighBitを通して指定されます、そして、ユーザー定義のカラーマップはLookupTableプロパティを通して渡されます。ビット範囲とカラーマップを準備するのを助けるために、LEADTOOLSはMinMaxBitsCommandMinMaxValuesCommandを提供します。MinMaxBitsCommandは、値の最小限と最大のビットを12-または16ビットグレースケールimageに存在するようにします。MinMaxValuesCommandは、imageの最小限と最大の明度値を取得します。WindowLevelFillLookupTableは、指定された値に基づくカラーグラデーションで、ユーザーを割り当てられたLookupTableを塗りつぶします。詳細については、「メソッドとクラスのための個々のエントリ」を参照してください。WindowLevelCommandクラスで適用されるウィンドウ-レベリングは、画像データを変更することなく、TIFまたはDICOM形式に保存されることができます。詳細については、「Windowsレベル調整画像の保存」を参照してください。

ウィンドウレベル調整を行った画像を保存できるファイル形式は、TIFFとDICOMのみです。イメージは、WindowLevelを使って、フラグパラメーターのために、または、ウィンドウ-レベリングをサポートするファイルフォーマットからimageをロードすることによってRasterWindowLevelMode.PaintAndProcessingを指定することによるウィンドウレベル調整を行ったでありえます。ウィンドウレベル調整を行ったimageが他のファイルフォーマットとして保存されるならば、画像データは保存される前に変換されます。詳細については、「保存しているウィンドウレベル調整を行ったビットマップ」を参照してください。