写真の中央から周辺までのピントを一度に確認することが出来ます。
keenai(旧eyefi)等を用いてデジタル一眼カメラから端末(スマホ、タブレット等)に天体写真を転送する想定で設計しています。
カメラのライブビューを用いてのピント確認では写真の中央部と周辺部を同時に確認できません。
このアプリは写真の中央から周辺までのピント状態を平均画像とグラフで確認することが出来ます。
画面を放射方向と同心円方向に40程度の領域に分割。
それぞれの領域毎に星像を平均化し、スポットダイヤグラムのような像を作ります。
その像の中心からの光のバラツキを計算し指標とします。
・JPEGのみ対応します。
・放射方向と同心円方向に40程度の領域に分割して解析します。
・各領域毎の星像を平均化し、スポットダイヤグラムのような像を作ります。
・平均化した星像の中央からの光のバラツキを計算しグラフにします。
・グラフは写真中央からの放射方向と同心円方向の2つを作成します。
・ピクチャースタイルをニュートラルに設定し、天体写真(JPEG)を試し撮りする。
・試し撮りの天体写真(JPEG)を端末に保存する。
・FocusTesterを起動し、試し撮りの天体写真(JPEG)を選択する。
・ボタン「prev」「next」で同じディレクトリのファイルを表示できます。
・ボタン「switch saturation image」で飽和(白とび)している星を解析するモードに切り替えることも出来ます。これにより青ハロなどの状況を確認しやすくなります。
・ピクチャースタイルをニュートラルに設定し、天体写真(JPEG)を試し撮りする。
・試し撮りの天体写真(JPEG)を端末に保存する。
・ファイラー(ファイルマネージャー)から試し撮りの天体写真をFocusTesterで開く
または、共有でFocusTesterへ送る。
・画面の左右をタップすると同じディレクトリの別のファイルを開きます。
・同じディレクトリに新しいファイルを保存すると自動で開きます。
・アプリをランチャーから起動した場合、デモイメージで解析の実行を試せます。
画面が横の場合、
画面左に星像、右にグラフを表示します。
星像は左上に中心像、横方向に中心からの距離、縦方向に中心からの向きで像を並べています。
中心からの向きは右方向から始まって45度づつ反時計周りです。
星像に描かれた数字は、左にRGBの中心からのバラツキ、下に星像のコンポジット数です。
グラフは上が横軸に中心からの距離、縦軸にバラツキ、下は横軸に中心からの向き、縦軸にバラツキです。
各数値の単位はExifに焦点面の解像度があれば、メートル法で表示しています。
無い場合はピクセルです。
画面の右端に読み取ったExifを表示しています。
上からカメラ本体、レンズ、撮影時設定です。
その下に参考用として撮影時設定のF値から計算したエアリーディスクの大きさを表示しています。
・ノイズ除去と色収差検出のため偽色になっている星を除いています。
その為、大型センサと高性能レンズのような偽色の出やすい状況ではサンプル数が少なくなり計算が破綻します。
・画像処理を高速で行うため、RAM(ヒープ)を大量に使用します。
概算で2000万画素の場合、160MB程度のRAM(ヒープ)が必要です。
この為、端末によっては Out Of Memory の発生によりアプリが強制終了する場合があります。
手元の端末で確認したところRAMに空きがあってもOSから拒否される端末もあるようなので、
動作するかは動かしてみないと分かりません。
・上記のようにまだ不安定なところがあります。
よろしければ動作報告していただけると幸いです。
android.permission.READ_EXTERNAL_STORAGE
・外部ストレージ内のファイルを検索/再生するために使用します。
android.permission.WRITE_EXTERNAL_STORAGE
・外部ストレージに解析結果ほ保存するために使用します。(現バージョンでは保存機能無効化しています)
largeHeap="true"
・画像処理を高速で行う必要があるため大きなヒープを確保します。