導入
イメージセンサーから出力される未処理のデジタルデータは、 RAW画像データと呼ばれます。この文書では、市販のカメラや現像システムから得られるRAWファイルを、デモザイキングされていない(ベイヤー)データを含む標準的なモノクロ画像ファイルであるベイヤーRAWファイルと区別するために、カメラRAWと呼ぶことがあります。
Imatestモジュールは、生ファイルを直接分析することも、デモザイキング処理後に分析することもできます。
| ベイヤーカラーフィルターアレイ (CFA)ほとんどのデジタルイメージセンサーのピクセルはベイヤーCFAで覆われており、各ピクセルは単一の原色 (赤、緑、青)に感度があります。色の順序は、交互に並んだ行でRGRGRG...、GBGBGB...などです。人間の目は緑に最も敏感であるため、赤や青の2倍の緑の数があります。可能な4つのピクセル配置 (赤の位置) が右側に示されており、ピクセル位置は左上隅の行1列目 ( R1C1 ) から始まります。色 ( R 、 G 、またはB ) をピクセル位置 ( R m C n ) にマッピングするための普遍的な標準はありません。配置は、ユーティリティメニューから開くことができるRawviewユーティリティを使用して、認識可能な色を含むベイヤー生画像ファイルを調べることによって決定できます。 |
|
| RCCC (赤-クリア-クリア-クリア) センサーよく知られている Bayer CFA に加えて、Imatest は自動車業界 (赤が特別な意味を持つ) で使用される RCCC センサーをサポートしています。Bayer センサーと同様に、赤チャンネルは 4 つの位置のいずれかに配置できます (右側に 2 つが示されています)。Rawviewを使用すると、赤の位置を特定できます。RCCC 画像は従来の意味でデモザイク処理されず、モノクロ画像に変換されます。モノクロ設定とGeneralized Read Rawウィンドウ (下図参照) には、画像全体から赤チャンネルを削除したり、赤チャンネルのみを選択したりするオプションがあります。これらの方法は、Analog Devices の「 Interfacing Red/Clear Sensors... 」で説明されています。 |
| ||||||||||||||||||||||||||||||||||||
| RCCB (赤・透明・透明・青)センサーは、ベイヤーCFA画像と同様にデモザイク処理が可能です。画像処理の初期段階では、同様の方法で解析できます。ただし、強力なカラーマトリックスを適用して(透明チャンネルから赤と青の成分を除去する)までは、通常のRGBカラー画像のような色は得られません。 | |||||||||||||||||||||||||||||||||||||
| RGBIR |
| ||||||||||||||||||||||||||||||||||||
ほとんどのアプリケーションで使用できるようにするには、RAW ファイルをデモザイクする必要があります (ただし、多くのImatestモジュールは RAW ファイルを直接解析できます)。デモザイク( demosaickingと綴られることもあります) は、各ピクセルの欠落した色を補完する補間の一種です。これは、 RAW コンバータ プログラム(カメラに組み込まれている場合と、別のコンピュータにインストールされている場合があります) の主要な機能です。デモザイクでは、欠落した色の詳細が、他の隣接する色の詳細から推測されます。アルゴリズムは非常に数学的に高度なものになる可能性があります。良い例 ( Matlab の勾配補正線形補間デモザイク ルーチンの基礎となっているもの) は、Henrique S. Malvar、Li-wei He、および Microsoft の Ross Cutler によるHigh-Quality Linear Interpolation for Demosaicing of Bayer-Patterned Color Imagesにあります。
デモザイク処理に加えて、RAW画像を標準的な交換可能な画像フォーマットに変換する処理には、
- ガンマカーブを適用すると、多くの場合、トーンレスポンスカーブ(多くの場合、「肩」、つまり丸みを帯びた領域がある)が追加されます。
- ホワイトバランスとカラー(マトリックス)調整、
- シャープ化は通常、コントラストの高い特徴の近傍で行われ、
- ソフトウェアによるノイズ低減。通常はコントラストの高い特徴がない場合に用いられる。
これらの手順はすべて、 Imatestの測定値に影響を与える可能性があります。その影響を最小限に抑えるため(シャープネス、ノイズリダクション、トーンレスポンスカーブを適用せずにRAWファイルを変換するため)、 Imatestは以下の手法を使用します。
- カメラメーカー独自のRAWファイル(キヤノンの場合はCR2、ニコンの場合はNEFなど)には、メーカー独自のメタデータ( mピクセルをnビットに圧縮したもの)が含まれている場合があります。Imatestは、これらのRAW画像を最小限の処理で実用的なファイル形式に変換できる無料のプログラムであるLibRrawを使用します。LibRawは、オプションでシンプルなガンマカーブ(追加のトーンレスポンスカーブなし)とホワイトバランス(カメラの設定に基づく)を適用できますが、シャープネス調整やノイズリダクションは適用しません。
- メーカーの開発システムからの出力は、通常、ピクセルあたり 1 バイトまたは 2 バイトの純粋なバイナリ データですが、Imatest では、以下で説明するGeneralized Read Rawを使用します。Generalized Read Raw では、オプションで単純なガンマ カーブとホワイト バランス (粗雑な「グレー ワールド」アルゴリズムに基づく) を適用できます。出力画像は、 Color/Tone InteractiveまたはColor/Tone Autoで (マトリックスを使用して) 色補正したり、 Image Processingでシャープ化またはノイズ低減したりできます。ファイル形式 (最も重要なのは、行数、列数、ビット深度) に対応する拡張子を指定する必要があります。
Imatestの生ファイル
ImatestはRAWファイルを2つの方法で使用できます。
- LibRaw は、RAW ファイルをデモザイク処理し、TIFF、PPM、PNG、または JPEG 形式の標準 3 色 RGB 画像ファイルを生成します。デフォルトは TIFF です。LibRaw または Generalized Read Raw を使用する利点は、シャープネス、ノイズ リダクション、および直線的なガンマ カーブが適用されないことです。LibRaw は、1/2.2 (一般的なディスプレイ用)、sRGB (ガンマ = 2.2 に近いが、暗い部分に線形領域がある)、および 1.0 (真の線形) など、ガンマの選択肢をいくつか提供します。RAW ファイルが利用可能な場合は、異なるメーカーのカメラとレンズを、一貫性のある公平な基準で比較できます。LibRaw は、デフォルトで自動露出 (自動ホワイト レベル調整) を実行するため、 Colorcheck および Stepchart では注意して使用する必要があります。正しいレベルを取得するには、 [自動ホワイト レベル]ボタンのチェックを外す必要があります。 dcrawのFAQによると、「画像がどれほど暗くても、dcrawの自動露出機能は画像を引き伸ばし、ピクセルの1%が白く表示されるようにします。「-W」オプションを使用すると、この動作を回避できます。」
- カメラのRAWファイルを、標準的なモノクロ画像ファイル形式(TIFF、PNG、またはPGM)で保存されたBayer RAW(デモザイキングされていない)ファイルに変換できます。ほとんどのImatest Masterモジュールは、Bayer RAWファイルを解析できます。Bayer RAWは、デモザイキング処理によって大きく歪む可能性のある横方向の色収差を測定するのに役立ちます。また、2つのRAWグリーンチャンネル(GrとGb)を個別に解析することもできます。注意: LibRawは、ドキュメントではトーン処理を行わないと記載されていますが、実際にはトーン処理を適用する場合があります。つまり、Stepchartや他のモジュールで測定されたガンマ値は、期待値である1と大きく異なる場合があります。(これは、RAWファイル自体のオフセットが補正されていないことが原因である可能性があります。)
Imatestで生ファイルを使用するには、
- Imatestモジュール(SFR、ステップチャートなど)をクリックし、他の画像ファイルと同様にファイルを開きます。ファイル拡張子がLibRawでサポートされているカメラRAW画像ファイル(CR2、NEFなど、Phase One RAW TIFファイルも含む)を示している場合、 Libraw (旧dcraw)パラメータを設定するためのダイアログボックスが下図のように開きます。ファイル拡張子が「汎用RAW読み取り」に入力されている場合、ファイルは「RAW読み取り」の設定に従って読み込まれ、デコードされます。
- ユーティリティメニューのLibRawボックスをクリックすると、LibRawがスタンドアロンアプリケーションとして実行されます。出力ファイルは保存されますが、Imatestモジュールは実行されません。以下のLibRawセクションに表示されるダイアログボックスは、LibRawのグラフィカルユーザーインターフェース(GUI)フロントエンドであり、LibRawのいくつかのオプションを選択できます。
LibRawを使用して商用RAWファイルを処理します
注: LibRaw のサポートはImatest 2021.1で追加されました。dcrawは2021.2で非推奨になりました。最新のカメラサポートを提供します。 dcrawは2021.2以前のバージョンではオプションとして利用可能でしたが、2019年以降のRAWファイル形式はサポートしていません。LibRawが追加される以前は、dcrawでサポートされていないRAW画像を変換するには、まず無料のAdobe DNGコンバーターを使用してDNG形式に変換する必要がありました。 |
Imatestで使用される画像ファイルが、ガンマカーブが直線で、シャープネスやノイズリダクションが適用されていないなど、RAW ファイルに忠実に再現されていることを確認する最良の方法は、RAW ファイルをImatestに読み込み、 LibRaw (または 2021.1 より前のバージョンではDave Coffin の dcraw)を使用して標準フォーマット (TIFF、PPM など) に変換することです。標準の RAW フォーマット (CR2、CR3、NEF など) のいずれかを選択した場合、または RAW データ (Phase One TIF ファイルなど) が検出された場合、ダイアログボックスが表示されます。これは LibRaw のフロントエンドであり、複数の RAW 変換オプションから選択できます。プリセットは右側のピンク色のボックスにあります。

不要になった「プログラム」ドロップダウンメニューは削除されました。
LibRaw は、(A) カメラの RAW ファイルを最小限の処理 (シャープネス調整、ノイズ低減、単純なガンマカーブなし) でデモザイク処理するか、(B) ベイヤー RAW (デモザイク処理されていない) データを含む標準的な 8 ビットまたは 16 ビットのモノクロ ファイル形式 (TIFF または PGM) に変換し、複数の Imatest Master モジュールで解析することができます。この変換には、次のオプションがあります。
| デモザイキング | 通常の生データ変換(モザイク処理済み) |
| Raw 8 ビット (Bayer Raw、デモザイクなし) | |
| Raw 16 ビット (Bayer Raw、デモザイクなし) |
上記の2番目または3番目のオプション(Raw 8ビットまたはRaw 16ビット)を選択した場合、デモザイキング領域の大部分(上記)がグレー表示され、LibRawの出力は、イメージセンサーからのデモザイキングされていない(ベイヤーRAW)データを含むモノクロTIFFまたはPGMファイルになります。
注:2009年7月現在、デモザイク処理されていない(ベイヤーRAW)ファイルのピクセルレベルとガンマは信頼性に欠けるようです。これは、RAW画像のオフセットが除去されていないことが原因と考えられます。自動ホワイトレベルのチェックを外すとレベルが暗くなりすぎ、ガンマも正しくありません(Canon CR2 RAWファイルの場合)。通常のRAW現像(デモザイク処理あり)では、露出とガンマは信頼できます。
Imatestバージョン2021.1ではLibRawのサポートが追加され、幅広いカメラに対応しています。LibRawオプションは2021.1でも引き続き利用可能ですが、2021.2では非推奨となりました。
「通常の生データ変換(デモザイク処理済み)」を選択した場合、 「デモザイク処理」ボックスにはいくつかのオプションが表示されます。これらのオプションのほとんどは、 dcraw のマニュアルページでより詳しく説明されています( LibRaw のWeb サイトには、これに相当するページは見つかりませんでした)。デモザイク処理後の出力には、以下のカラースペースが利用可能です。
| 生データ(真の生ピクセルではない)。 色空間変換やホワイトバランス調整を行わずにデモザイク処理を行いました。 色を正しく解釈するには、カメラの色プロファイルが必要です。ガンマ値 = 0.45。 |
| sRGB、Adobe RGB (1998)、Wide Gamut RGB、ProPhoto RGB、およびXYZ。 |
プロファイルタグは、4つの標準カラースペースに対応した出力ファイルに埋め込まれています。複数のデモザイキング品質レベル(異なるアルゴリズムを使用)が用意されており、試してみる価値があります。詳細はdcrawのマニュアルページを参照してください。自動ホワイトレベルがデフォルト設定です。階調測定時にはオフにすることができます。
LibRawはデフォルトでRAWファイルをTIFFファイルに変換しますが、オプションとしてあまり知られていないPPM形式も選択できます。変換後のTIFFファイルを削除するチェックボックスをオンにすると、画像をPNG(可逆圧縮、処理に時間がかかる)またはJPEG(非可逆圧縮、最高画質、24ビットのみ)のいずれかの圧縮形式で保存できます。
対応カメラの一覧はLibRawのサイトに掲載されています。
カメラ内JPEGファイルとLibRaw変換ファイルの違い この2つのファイル形式は通常、見た目が異なります。
階調特性曲線、シャープネス、ノイズリダクションに関する情報は、RAWファイル内の(EXIF)メタデータに含まれています。この情報はLibRawでは無視されますが、IrfanViewやPhotoshopなど、RAWファイルを読み込める一部のプログラムでは使用される場合があります。 |
モノクロ/ベイヤーRAW(またはRCCC)ファイル選択
Bayer RAW解析に対応したImatest Masterモジュールでモノクロファイルを開くと、下図のようなダイアログボックスが表示されます。( 「このウィンドウを表示しない」にチェックが入っている場合は表示されません。設定画面の「モノクロ読み込みダイアログ」で再度表示させることができます。)
左側の 4 つのボタンは即座にアクションを実行します (ウィンドウが閉じて処理が続行されます)。、 、 、
Bayer RAWデータまたはRCCCデータを含まない通常のモノクロ画像ファイルの場合は、選択してください。
Bayer RAWファイルとRCCCファイルの場合、色の解釈はピクセルカラーマッピングの選択(Canonの場合はR1C1の赤、Panasonicの場合はR1C2の赤など)に依存します。Bayer RAW画像の正しい設定は、認識可能な色を含む画像に対してRawviewユーティリティを実行することで確認できます。ビットシフトは、シフトしないと暗くなりがちな16ビット画像に役立つ場合があります。
は、4つのチャンネル(赤、緑(赤行)、青、緑(青行)—略称R、G(r)、B、G(b))で構成される画像をデモザイキングせずに処理します。表示する(場合によっては分析する)プライマリチャンネルは、「分析するプライマリチャンネル」ドロップダウンメニューで選択します。この設定は、個々のモジュールで上書きできます(必須ではありません)。
は、画像をデモザイキングするか(ベイヤーセンサーに適しています)、RCCCとして処理します。デモザイキングまたはRCCC処理アルゴリズムは、ボタンの右側にあるドロップダウンメニューから選択する必要があります。オプションは以下のとおりです。
モノクロファイルを開くと、必ずこのウィンドウが表示されます。
Demosaicのドロップダウンメニューには、以下のオプションがあります。
| Matlab(勾配補正線形補間)を推奨 | ベイヤーセンサー用。出力はカラー画像です。Malvar、He、およびCutlerによる「ベイヤーパターンカラー画像のデモザイキングのための高品質線形補間」から派生した、Matlabの中程度に高品質なデモザイキングアルゴリズムを使用します。 |
| バイリニア(単純、低品質、 切れ味が鈍い(推奨しません) | ベイヤーセンサーの場合、出力はカラー画像になります。この選択肢は一般的には推奨されません。 |
| RCCCセンサー:赤色チャンネル除去(簡易;フル解像度) | 出力は、クリアピクセルのフル解像度モノクロ画像です。赤色チャンネルは、アナログ・デバイセズのホワイトペーパーの図4に示す4ピクセル平均化カーネルを用いた補間によって除去されます。 |
| RCCCセンサー:赤色チャンネルのみ (単純;半分(線形)解像度) | 出力は、赤色チャンネルのみのモノクロ画像であり、入力画像の線形解像度の半分となる。 |
| RCCCセンサー:赤色の行の除去 (アスペクト比が変わります) | 出力は、元の行数の半分の、クリアピクセルのみのモノクロ画像です。 |
| RCCCセンサー:赤色の柱の除去 (アスペクト比が変わります) | 出力は、元の列数の半分の、クリアピクセル部分のみのモノクロ画像です。 |
| RCCCセンサー:補正項による赤色除去、よりシャープな画像 | Analog Devices社の「 Interfacing Red/Clear Sensors... 」に記載されている処理方法を使用します。出力はモノクロ画像です。 |
ホワイトバランスは、2種類のデモザイキングオプションで利用可能です。RCCCには適用されません。
バイエル社の生製品のパターンを認識する
ベイヤーRAW画像は通常モノクロファイルですが(画面キャプチャ(Alt+PrtSc )で取得した場合はカラーになることもあります)、開発/プロトタイピングシステムで予期せず出現することがあります。ベイヤーRAW画像の特徴を理解していれば、深刻なトラブルを回避できます。右図のような正方形のパターンが特徴です。


バイエル社の生の特性パターン
ベイヤー方式の生カラーが選択されている場合、ピクセルカラーマッピングと押されたボタン(、など)に応じて、4つの画像プレーンのうちの1つが選択されます。(画像プレーンとカラーをマッピングする普遍的な標準はありません。)ボタンで分析できる4つのプレーンを以下に示します。各プレーン内の画像の高さと幅は、画像全体の半分であり、ピクセル間の間隔はセンサーのピクセル間隔の2倍であることに注意してください。
↓
|
↓
|
↓
|
↓
|
(色を画像平面にマッピングするための普遍的な標準規格は存在しない。)
ベイヤー周波数単位
SFRまたはRescharts MTFモジュール(スラントエッジなど)でベイヤーRAW(デモザイキングされていない)画像のMTFを解析する場合、[詳細設定]ウィンドウに[MTFプロット単位]の近くに[ベイヤー周波数単位]という設定があります。この設定には、[総ピクセルあたりのサイクル数]と[チャネルピクセルあたりのサイクル数]の2つのオプションがあります。
-
サイクル数/総ピクセル数 —結果として得られる空間周波数は、フルサイズ画像のピクセル数に応じてスケーリングされます。このオプションを選択すると、空間周波数が自然にスケーリングされ、デモザイク処理された画像と同等の結果が得られます。これがデフォルト設定です。
-
サイクル/チャンネルピクセル —結果として得られる空間周波数は、フル画像の高さと幅の半分(ピクセル数の4分の1)のサブサンプリングされたシングルチャンネル画像のサイズに応じてスケーリングされます。したがって、このオプションを使用すると、ナイキスト周波数は半分になります。このオプションは、画像サイズに関連する「MTFプロット単位」(空間周波数単位)(画像の高さや切り抜き高さなど)でのみ使用できます。その他のすべての空間周波数単位については、「ベイヤー周波数単位」設定は無効になり、「総ピクセルあたりのサイクル数」オプションがデフォルトで使用されます。
このナレッジベースの記事で詳細をご覧ください: Bayer 生画像からの SFR 結果
DNG(Adobe Digital Negative)を直接読み込む
画像センサーのノイズやフレア(ベールグレア)の測定のために、RAWファイルを読み取る場合に推奨されます。 LibRawでサポートされていない新しい商用RAWフォーマットについては、DNG形式の使用をお勧めします。 |
ImatestはDNG(Adobe Digital Negative)ファイルを直接読み込むことができます。
DNG形式はファイルのデモザイク処理時にはほとんど利点がないが、測定においては大きな利点がある。
- イメージセンサーのダイナミックレンジは、純粋な黒の0からビットフォーマットの最大値(通常16ビット深度で65535)までのピクセルレベルを持つ線形非デモザイキング(ベイヤー)生ファイルデータを必要とします。
- ベールグレアでは、ピクセルレベルのオフセット(台座)が測定を狂わせる可能性があり、
- LibRawではサポートされていない商用RAWファイル形式。
問題は、カメラによって黒レベルオフセット(最小ピクセル値)と白レベル(彩度)が異なることです。これらの値は、メーカーによって異なるEXIFタグ(記録されない場合もある)で記録されるため、判別が困難です。これらの値は通常、画像のデモザイク処理時にLibRaw処理に適用されますが、画像がデモザイク処理されない場合(EXIFデータに保存されない場合)は通常無視されます。つまり、オフセットが存在する場合、LibRawは堅牢ではありません。有効なセンサーダイナミックレンジ計算を行うには、これらの値を適用する必要があります。これは、線形化と黒レベルおよび白レベル補正に標準タグを使用する特殊なTIFFファイルであるDNGに変換されたRAWファイルに対して自動的に行われます。概要については、 「MATLABでのRAW画像の処理」を参照してください。
Adobeの無料DNG Converterを使えば、市販のRAWファイル(CR2、RW2、NEFなど)をDNG形式に変換できます。こちらからダウンロードして、指示に従ってください。Adobe Digital Negative ConverterはGUIウィンドウで動作します。デモザイク処理されていないファイルに使用するには、起動して「環境設定の変更」をクリックし、 「環境設定」ウィンドウを開きます。次に、「互換性」ドロップダウンウィンドウで「カスタム...」を選択して、「カスタムDNG互換性」ウィンドウを開きます。右図のように、 「リニア(デモザイク処理済み)」のチェックを外し、 「非圧縮」にチェックを入れてください。
DNGコンバーターの操作は簡単で分かりやすいです。ただし、フォルダ内のすべてのファイルが変換されるため、変換したいファイルだけを別のフォルダに移動する必要があります。
この機能を利用するには、右側に示されている設定「3. DNG ファイルを直接読み込み、線形化して黒レベルオフセットを補正する」を[設定]で選択する必要があります。この設定を選択すると、 Imatestに読み込まれる DNG ファイルは、純粋な黒の場合はピクセルレベル = 0、最大ピクセルレベルは 2ビット深度-1: (ビット深度 = 16 の場合は 65535) となり、センサーのダイナミックレンジの測定に最適です。
Rawviewユーティリティ
Rawviewユーティリティを使用すると、ベイヤーRAWファイルの色配置(R1C1、R1C2、R2C1、またはR2C2の赤色)を、それぞれ試してみて最も見栄えの良いものを選択することで決定できます。
Rawviewは、バイナリ形式のRAWファイルやメーカー提供のRAWファイルとは直接連携しません。
これらのファイルは、標準的な画像ファイル形式(PNG、JPEGなど)に変換する必要があります。
通常はデモザイキングを行わず、Read RawまたはLibRawを使用します。
必要に応じて、画像をRGBファイルとして保存できます。ユーティリティメニューから開くことができます。Rawviewを初めて起動すると、以下に示すような説明が表示されます(おそらく、より最新の情報が掲載されています)。
Rawviewへようこそ:Bayer RAWファイルのプレビュー。 |
画像ファイルが読み込まれると、 Rawviewウィンドウは次のようになります。
Rawviewウィンドウ(ズームなし)
ズーム機能は常に有効です。画像を拡大して重要な詳細を確認できます。R m C nの赤色の選択が変更されると、ボタンが有効になります。これは、 Imatestモジュールでベイヤー RAW ファイルを開く際のデフォルト設定となり、一部のディスプレイに影響します。
Rawviewはホワイトバランス調整を行わないため、表示されるバランスはセンサー内のカラーバランスを表しています。これは参考になるかもしれません。ただし、ニュートラルなバランスになることはほとんどありません。
| 赤色チャンネルを含む位置(RmCn)を特定するには、左下のドロップダウンメニューで、RmCnのみの設定(例:RCCC用R1C1のみ)をそれぞれクリックします(上にはR1C2の赤色が表示されています)。赤色チャンネルを含む位置は、他の位置よりも暗く表示されます。この位置は、モノクロ(ベイヤーRAW)および汎用RAW読み取り設定ウィンドウで使用できます。 |
画像をRGBファイルとして保存するには、2つのオプションがあります。 、R、(いずれか1つの)G、およびBチャンネルを使用して、適切なデモザイク処理を行わずに画像を低解像度RGBファイルとして保存します。垂直方向と水平方向の解像度は元のファイルの半分です(総ピクセル数は元の1/4です)。 Matlabの標準勾配補正線形補間デモザイクアルゴリズムを使用して、画像を高解像度RGBファイルとして保存します。
Rawviewのドロップダウンメニューには、表示オプションと保存コマンドが含まれています。
ファイル
- BayerのRAWファイルを読み込むBayerのRAWファイルを読み込む(標準的な画像ファイル形式(TIFFなど)である必要があります)
- 画面の保存 画面の内容を保存します。[画面の表示] チェックボックスがオンになっている場合は、必要に応じて画面に表示します。この方法で初めて画面を表示する場合は、事前にビューアを設定する必要があります。IrfanViewは優れた無料のビューアです。
- 画像をRGBファイルとして保存する画像をRGBファイルとして保存します。このファイルは、元のファイルの半分のピクセルサイズ(解像度)を持ちます。デモザイキングアルゴリズムは使用されません。R、選択されたG(G(R)またはG(B))、およびBチャンネルの内容は、デモザイキングされていないチャンネルと同一です。
設定
- 16ビット画像の調整 表示を改善するために必要に応じて、 16ビット画像(線形またはほぼ線形、つまりガンマが1.0に近い画像)を明るくします。
- より明るい16ビット画像 表示をさらに向上させるために、16ビット画像をさらに明るくします。
ヘルプ
- オンラインヘルプを開くと、このページがデフォルトのウェブブラウザで開きます。
Generalized Read Raw
Read Raw lets you read and decode binary raw files created in engineering development systems, which are not supported by LibRaw. It has a great many options. For example, you can demosaic a file or leave it undemosaiced in order to measure MTF of any of the four channels (R, GR, B, GB) of undemosaiced (Bayer raw) files. Options are listed below.
Generalized Read Raw is primarily for binary files taken directly from manufacturer's development systems. For the proprietary RAW formats from commercial cameras, which contain metadata and packed data, LibRaw should be used.
To read Generalized Raw files you must specify a file extension (up to 16 can be registered) and associate read settings with that extension. This can be done in the following steps.
Click the button in the Utility menu. The following dialog box opens. Entries should be based on manufacturer's data sheets where possible, but some trial-and-error is often required. If you know the image width and height (in pixels) setup is usually very fast. If you make an incorrect choice, a plot will be displayed (below) to help determine the correct width and height values.
- File extension— Select one of the 16 extensions in the dropdown menu on the upper-left to edit. To recognize a new extension, enter the extension (3 or more alphanumeric characters) in the box to the right of the dropdown menu, and hit Enter. If possible, it should be one of the extensions not recognized by LibRaw. The settings for this extension will be saved when you click OK or Convert/Test (which tests extension settings by reading and displaying a file).
As of October 2009, the following extensions (in rawphoto.c, linked from www.dechifro.org/dcraw/) are recognized by LibRaw/dcraw: 3fr, arw, bay, bmq, cine, cr2, crw, cs1, dc2, dcr, dng, erf, fff, hdr, ia, jpg, k25, kc2, kdc, mdc, mef, mos, mrw, nef, nrw, orf, pef, pxn, qtk, raf, raw, rdc, rw2, sr2, srf, sti, tif, and x3f.
- Input pixel size— How pixels are stored in the file. Choices are uint8, uint16, and uint32 (unsigned 8, 16, and 32-bit formats, for 1, 2, or 4 bytes per pixel). Packed formats (for example where 2 12-bit pixels stored in 3 bytes) are handled in the Unpack dropdown menu.
- Output pixel size— How pixels are stored in Imatest. Choices are uint8, uint16, or uint32 (for HDR files).
- Bit shift— The number of bits to shift so the lightest pixels aren't too dark or saturated: Auto or 0, ±2, ±4, ±6, or ±8 are the choices for uint8 or uint16 output. Uses the very fast Matlab bitshift function. Often needed to get correct levels for analysis. Negative numbers darken the image. Auto is recommended unless absolute levels are required.
| Warning: be cautious in applying bit shift, and especially Auto bit shift, to measurements that require absolute levels, particularly with 16-bit output files where the original sensor has 10-14 bits of data (resulting in padded files). Such measurements include hot/dead pixels (in Uniformity and Blemish Detect), which will be shifted along with the image, Color Correction Matrix (in Color/Tone Interactive), etc. |
Auto bit shift works by finding the maximum pixel value m in the image excluding the two outer rows and columns (closest to the edge of the image), comparing the maximum to the maximum level for the output pixel size (255 for uint8, 65535 for unit16, etc.) then shifting the pixel levels so the maximum pixel value is between half the maximum and the maximum for the output pixel size. For example, if the maximum pixel level m for a uint16 image is 9120, the bits will be shifted by 2 pixels (equivalent to multiplication by 4) to make the maximum 36480.
- Pixel offset— An integer number to subtract from the pixel levels. Used when there is a black level offset or "pedestal". Test carefully, especially if Bit shift is applied (it is applied before Bit shift). Note that the pedestal subtraction is applied after the decompanding (addressed in the Decompanding section). If pedestal subtraction is desired prior to decompanding then it must be set in the JSON decompanding file instead.
Auto offset will be deprecated in 2021.1. Auto offset finds the minimum pixel level (which is a function of pedestal, image content, and veiling glare) and subtracts it from the image. This ruins veiling glare measurements. We strongly discourage selecting Auto offset. An appropriate manual pixel offset is far more consistent.
- Byte ordering—I EEE Little or Big-Endian. Affects results when Input pixel size is uint16. See wikipedia.org/wiki/Endian.
- Width— Image width in pixels. Can usually be obtained from manufacturer's data sheets. If you enter an incorrect number for width and height (if Width x Height × bytes per pixel ≠ file size in bytes), an additional plot is displayed (see below) to help you estimate the width.
- Height— Image height in pixels.
- Transpose— Switches rows and columns. Usually checked.
- Rotate/Mirror— Allows the image to be rotated by multiples of 90 degrees and/or mirrored.
- Pixels to skip— The number of pixels to skip at the start and end of the file.
- White balance— None or Simple White Balance (gray world; darken or lighten). Simple WB sets the gain on the four channels so their mean is identical (the lowest of the four means if "darken" is selected; the lightest if "lighten" is selected). It's not a sophisticated algorithm— it only works for mostly gray test charts (some color is tolerated as long as the average is close to neutral gray). WB allows you to interpret the image as a standard monochrome file (rather than a Bayer RAW channel with only 1/4 the pixels) that can be analyzed for MTF with any of the sharpness modules (SFR, SFRplus, Log F-Contrast, Star Chart). An undeomsaiced slanted edge without and with WB is shown below. In this case, white balance was not far off to begin with. For full color correction, we recommend calculating a Color Correction Matrix (CCM) using the decoded image.
![]() | ![]() |
|---|---|
| SFR edges: without and with White Balance | |
- White level— No change or Auto: 99% of saturation. The Auto: 99% setting sets the highest pixel to 99% of the saturation level (252 for 8-bit files; 64880 for 16-bit files). This usually lightens the images, especially if Bit shift is not set to the optimum value.
- Unpack— Settings for unpacking specialized packed files (MIPI, Android). Updated on user request.
- Gamma— Apply gamma encoding to the image. Gamma = 1 is standard: it maintains the gamma (around 1) of the raw image. 0.4545 (1/2.2) (or 0.5) is close to standard color spaces.
- Decompanding— Provides the user with the option to apply decompanding on a raw image using the drop-down menu. To apply decompanding, the user must input their sensor’s companding data using a JSON file. Shown below is an example of a 16-bit to 12-bit companding for the AR0331 sensor. Clicking on the ? button to the right of the drop-down menu opens a window with brief instructions.
|
Imatest decompanding is based on manufacturer's specifications. See, for example: https://www.onsemi.com/pub/Collateral/AR0331-D.PDF, Figure 19 and Table 9, pages 20-21. Decompanding is performed in piecewise-linear segments (different algorithms can be added). You will need a decompanding file based on entries in the Companding table (Table 9 in the above link) or "knee points" provided by the customer. Input is in JSON format, which has rigid syntax. See below for an example, using the input/output code ranges taken from the Table 9 in the above link. Fields with peach backgrounds are optional and treated as comments. You are free to add additional comment lines. They will be ignored, as long as they are not considered user data. Decompanding file based on the companding table in the above link {
"dcData": {
"decompanding_data_source": "https://www.onsemi.com/pub/Collateral/AR0331-D.PDF",
"decompanding_data_details": "Fig. 19 and Table 9, pp. 20-21",
"user_comment": "",
"decompand_type": "piecewise linear",
"input_code_range_low": [0, 1024, 4096, 32768],
"input_code_range_high": [1023, 4095, 32767, 65535],
"output_code_range_low": [0, 1024, 2560, 3456],
"output_code_range_high": [1023, 2559, 3455, 3967],
"pedestal": 0
}
}
Customers often send us "knee points" for decompanding. We have found that these are simpler to use and less error-prone than the input/output code ranges (see above). A decompanding file based on "knee points is shown in the example below. Note that a bit shift (-4 bits; equivalent to dividing by 16) has been applied before decompanding. Decompanding file based on the customer-supplied "knee points" {
"dcData": {
"decompanding_data_source": "Customer-supplied data",
"decompanding_data_details": "Input is uncompanded; output is companded",
"user_comment": "",
"decompand_type": "piecewise linear",
"bitshift_first": -4,
"kneePoints_input": [0, 2048, 65536, 1048576],
"kneePoints_companded": [0, 2048, 3040, 4001],
"pedestal": 16
}
}
INI decompanding fileWe have added an alternate INI input format, which is quite robust and easy to get right. To read with the INI format, the decompanding file extension must be INI. Here is an example of the INI formatted for the same data as the above box.
We recommend the resource folder for storing this file (though any convenient folder will work). To locate it on your computer, open Settings, press Manage settings, and click Open Resources folder at the bottom. Note: The ReadRaw Output Pixel Size should be set for the decompanded image size. E.g., if you are decompanding a 16 bit image into a 20 bit image, select 32 bit as the Output Pixel Size. If the Output Pixel Size is less than the decompanded size, then imatest will bitshift the data down to the Output Pixel Size. |
The JSON format data above are based on entries in Table 9 of the AR0331 link. The JSON format data above are based on entries in Table 9 of the AR0331. The “input_code_range_…” refers to the image sensor data and the “output_code_range_…” refers to the companding data in the JSON file. For more information, refer to tables 9 and 10 in the AR0331 documentation. The Decompand plot button produces a plot of the decompanding file, useful to check on the JSON settings, which have a rather inflexible format. Either Decompanding or Companding can be selected (Decompanding is shown below). There is a small image in the center of the plot showing the approximate shapes of the two curves— important for avoiding errors caused by confusing input and output data.
Decompanding plot preview, showing contents of the JSON file- デモザイキング— 「なし」(モノクロ出力)、「デモザイキングルーチン」(ベイヤー画像用、カラー出力)、「RCCC処理」(モノクロ出力)から選択します。選択項目は、モノクロウィンドウ(上記参照、ここに再掲)と同様です。
| なし(バイエル社の生データ) | モノクロ出力:入力と同じ。 |
| Matlab(勾配補正線形補間) | カラー出力:高品質なデモザイキング処理。Matlab のデモザイキング関数を使用。ベイヤー配列のRAWファイルでの使用を推奨します。 |
| バイリニア(単純、低品質、シャープさに欠ける) | 色出力:低品質、シャープネス不良。(お客様からの特別依頼でした。)お勧めしません。 |
| RCCCセンサー:赤色チャンネルの除去 (シンプル;フル解像度) | 補間によって赤チャンネルを除去したモノクロ出力。詳細は、アナログ・デバイセズの「赤/クリアセンサーのインターフェース... 」を参照してください。「なし」を選択して、後でモノクロ/ベイヤーRAWウィンドウでRCCC処理を実行しても問題ありません。赤チャンネルの位置が不明な場合は、「なし」を選択し、 Rawviewを使用して位置を特定してください。 |
| RCCCセンサー:赤色チャンネルのみ(シンプル、ハーフ(線形)解像度) | モノクロ出力:赤チャンネルのみ。出力の線形解像度は入力の半分(ピクセル数の1/4)です。 |
| RCCCセンサー:赤色の行の除去 (アスペクト比が変わります) | 出力は、元の行数の半分の、クリアピクセルのみのモノクロ画像です。 |
| RCCCセンサー:赤色の柱の除去 (アスペクト比が変わります) | 出力は、元の列数の半分の、クリアピクセル部分のみのモノクロ画像です。 |
- バイエル方式(赤色チャンネルの位置)。
- 出力ファイルファイルを保存します。なし(保存しない、読み取り専用)、 PNG 、 JPEG、TIFF、またはHDR(Radiance)ファイル。モザイク処理されていないファイルはRawviewで開くことができます。
- 変換/テスト設定を保存した後、生の画像ファイルまたはファイルのバッチを読み込んで表示します(右の例)。読み込んだファイルの実際のサイズがピクセル幅×高さと一致しない場合、画像は同じ幅で高さが調整されて表示され、2つの診断画像(正しい幅を推定するためのもの)が表示されます。グラフの下のテキストには、指定された幅、高さ、W×H、および返された実際のピクセル数(正しい値が選択されている場合はW×Hと等しくなります)が表示されます。利用可能な出力形式には、PNG、JPEG、TIFF、およびHDRがあります。
- 保存設定を保存し、Read Rawウィンドウを閉じずにそのまま保存します。Imatestモジュールに画像を直接読み込むことでRead Rawをテストする場合に使用します。
- OK設定を保存して、「Read Raw」設定ウィンドウを閉じます。
- (右上の)ヘルプをクリックすると、このウェブページが開きます。
「操作シーケンス」をクリックすると、通常の操作シーケンス(下図参照)を表示するウィンドウが開きます。よくある質問への回答に役立ちます。なお、すべての操作はオプションであり、指定した場合にのみ実行されます。デモザイキングの前にベイヤー画像に対して実行される操作の多さには驚かされるでしょう。
|
画像の幅と高さを推定する
ファイルから読み取られたピクセル数(ファイルの先頭または末尾でスキップされたピクセルを除く)が、指定された画像の幅×高さと一致しない場合、診断プロットには推定されるファイル周期(通常、最大の周期は画像のピクセル幅に等しい)と、画像寸法のいくつかの推定値が表示されます。下の画像は、幅に意図的に誤った値を入力することによって得られたものです。
周期性は、一次元画像データのフーリエ変換を計算し、絶対値(位相成分を除去)を求め、逆フーリエ変換を行うことで得られます。最も大きなピーク(0より大きい値)の位置が、最も可能性の高い周期性です。この例では、右上に表示されている4096です。この推定値はすべての画像に適用できるとは限らないため、その他の可能性のある幅(周期性)も表示されます。
最も可能性の高い周期性と画像サイズの推測値を示す生診断プロットを読み込む
ピクセル幅×高さの推定値は、数値が整数(小数部がない)の場合に有効です。この場合、最初の推定値(総ピクセル数を最も可能性の高い周期で割った値である4096×3072)が正しく、4:3のアスペクト比でも同じ寸法が得られました。他のアスペクト比は明らかに間違っていました。このグラフの情報は、「Read Raw」設定ウィンドウの「幅」と「高さ」のエントリを改善するために使用できます。
合成RAW画像の作成
信号処理アルゴリズムの性能分析には生画像が必要となる場合がありますが、実際の生画像(カメラから取得した画像)が入手できない場合もあります。そのような場合、 Rescharts 、 Color/Tone Interactive 、 Uniformity-Interactive 、およびImage Processingで使用される画像は、擬似生画像として保存できます。
高品質の画像が必要な場合は、テストチャートモジュールを実行してチャート画像を保存することをお勧めします。テストチャートは、ビットマップチャートとSVG(スケーラブルベクターグラフィックス)ファイルの2種類の画像ファイルを生成します。ビットマップチャートは、上記のモジュールに直接読み込むことができます。SVGファイルは、 Inkscape (優れた無料のオープンソースプログラム)で開いて編集し、ビットマップ(PNG)ファイルとしてエクスポートできます。どちらのタイプの画像も編集可能で、たとえば白黒画像を黒と赤または青に変更することができます(ベイヤーデモザイキングの最悪のケース)。画像処理モジュールは、任意のファイル画像を読み込み、画像を劣化(ノイズやぼかしなどを追加)してから、画像を強調(トーンマッピング、バイラテラルフィルタ、アンシャープマスクなどを使用)できるため、頻繁にお勧めしています。
「擬似RAW」ファイルを保存するには、これらのモジュールのいずれかの「ファイル」ドロップダウンメニューをクリックし、 「擬似RAW/リモザイク画像を保存」をクリックします。これにより、 「(リ)モザイク画像を保存」ダイアログボックスが開きます。
モザイク処理された画像を保存する(Bayer rawとして)ダイアログボックス
このウィンドウには、処理と保存に関する多数のオプションが用意されています。
- モザイク処理またはチャンネル選択によって、基本的な動作が決まります。選択肢は
なし(通常のカラーファイル出力)
リモザイク(バイエル方式) (デフォルト:標準バイエル方式モザイク処理)
RCCC(赤-透明-透明-透明):Rブライト
RCCC(赤-透明-透明-透明):R = C/3
モノクロ(Y=輝度)
モノクローム(平均:等しい重み)
赤
緑
青
- 赤色チャンネルの位置これは、ベイヤーモザイク画像とRCCC画像に適用されます。
1. R1C1 (RGGB) の赤色
2. R1C2の赤色(GRBG)
3. R2C1の赤(GBRG)
4. R2C2の赤(BGGR)
- 回転/ミラーリング
1. 画面の向きを維持する(デフォルト)
2-4. 反時計回りに90度、180度、270度回転させる
5. ミラーリング(回転なし)
6-8. 鏡像反転、反時計回りに90度、180度、270度回転
- ガンマ調整(乗数) (デフォルト値:1) これは、ガンマエンコードされた画像から生成された擬似RAW画像に対して、線形トーン応答をほぼ復元するために使用されます。エンコーディングガンマが0.5に近い一般的なカラースペースファイルの場合、ガンマ=2が適切です。さらに良いのは、グレースケールチャートから測定したエンコーディングガンマの逆数を使用することです。
- ファイル形式の保存では、ファイルの保存形式を選択します。標準画像ファイル形式として、PNG(デフォルト)、JPG、TIF、BMPの4種類を選択できます。PNGはロスレス圧縮で、TIFやBMPよりもファイルサイズが小さいため、多くの場合良い選択肢となります。JPGはコンパクトなファイルサイズを実現します(ただし、JPEGは非可逆圧縮のため、チャンネル間の分離に影響を与える可能性があるため、一般的には推奨されません)。標準画像ファイルはRawviewで確認できます。
バイナリ形式は8ビットと16ビットの2種類から選択できます。これらはGeneralized Read Rawでデコードできます。 - バイナリ用の拡張子は、上記のバイナリ形式のいずれかが選択されている場合にのみ有効になります。拡張子の名前を選択してください(多くの場合「RAW」ですが、一意の拡張子を推奨します)。
- グリーンチャンネルを強調すると、保存されたファイルは、グリーンチャンネルが他のチャンネルよりもエネルギーが高い傾向にある、典型的な生ファイルに近くなります。選択範囲は
強調なし:RGB均等加重(デフォルト)
緑(青/2、赤/2)
緑(青/3、赤/3)
緑(青/2、赤/4)
緑(青/4、赤/2)
プレビューを開くと、通常はモザイク処理された(ベイヤーRAW)モノクロ画像としてプレビュー画像が表示されます。画像を保存し、 Rawviewを使用して、デモザイク処理後の画像を確認してください。
参考文献
Rob Sumner氏(カリフォルニア大学サンタクルーズ校電気工学科)によるMATLABでのRAW画像の処理。RAWファイルとその処理方法についての優れた入門書です。




