2015年05月26日

RStacker 0.6.0 beta1とフラット処理の基準明度調整他機能の追加

以下の変更を盛り込んだ、RStacker 0.6.0 beta1をリリースしています。
今回のリリースは以前のバージョンと互換性のない変更が含まれています。

変更点は以下の通りです。
1.フラット処理時の基準明度をパーセンタイル点等で指定できるようにした。
2.CR2処理時のDNGファイルからの取得情報について、CFA情報も取り込むようにした。
3.従来.net framework 2.0-3.5用だったものを.net framework 4や4.5がインストールされているマシンでは、そのCLRを優先的に使うように変更した。

1については、従来はフラット処理における基準明度はフラット画像の各色チャネルの平均明度を使用していました。
この場合、おおむね中央部は1以上の値で除算し、周辺部は1未満の値で除算することになります。
flat_avg.png
しかし中央部を1以上の値で除算する場合は、たとえば飽和しているピクセルは、飽和値以下となり周辺の飽和しているところと比べると、厳密には暗くなってしまいます。
また逆に周辺部は1未満の値で除算しますので、より飽和しやすくなる傾向になります。
通常は平均値で十分ではないかと思っていますが、利用状況やlight frameの状況によりこれらを調整したい場合があると考え、パーセンタイル点や絶対値で指定できるようにしました。

たとえば99.99パーセンタイル点を指定すると、ほとんどのピクセルは1未満の値で除算することになります。(値が増えますが、値が飽和してしまうと階調を失うことになります。)
flatt_99.png

逆に0.01パーセンタイル点で指定すると、ほとんどのピクセルは1以上の値で除算することになります。
(値が減りますが、明度は整数しか取れないので、階調が失われる可能性があります。)
flat_01.png

なお50パーセンタイル点=メジアンや25パーセンタイル点=四分位点などでの利用も可能です。
いずれの場合も極端な値を指定すると、階調が失われやすくなりますので、最終的には適切な値を指定する必要があります。


2については、従来はDNGファイルからピクセルの有効範囲だけを取得していましたが、CFA情報も併せて取得するように変更しました。
このため、従来取得したデータと互換性が失われたため、再登録が必要になります。


3については、従来.net frameworkのバージョンは2-3.5互換としていましたが、.net framework 4や4.5のCLRがある場合、それを優先して使用するようにしました。これによりパフォーマンスが向上することを期待しています。
なお、.net framework 4や4.5のCLRに切り替わった場合は、従来の設定が引き継がれませんのでご注意ください。
またテストが十分できていませんので、予期せぬ不具合があるかもしれません。

ファイルは以下のページの試作品置き場に置いております。
http://www.swetake.com/astro/RStacker/RStacker.html




posted by 開発者 at 07:51| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする

2015年04月12日

EOS5D3とEOS6Dへの対応(暫定)

 インターネット上あるEOS5D3とEOS6DのRAWファイルを参考に、これらの機種のCR2ファイルへの直接処理に対応してみることにしました。
 しかしながら、EOS6DについてはCFAの情報がうまく一致せず、一度DNGに変換したものを登録して、有効領域をDNGから取得するのチェックを入れる必要があります。(そのままだとRGBがずれて処理されます。)

 テスト的な対応なので、暫定的にこのブログに貼っておきます。

 品質はアルファ版レベルですのでご注意ください。

追記
あまりスマートな方法ではありませんが、model名から振り分けで対応してみました。
以下beta版です
https://rstacker.up.seesaa.net/image/RStacker_0_5_3_beta1.zip
posted by 開発者 at 13:40| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする

2014年06月08日

CR2形式処理時の有効領域を外部から取得する

 RStackerは現在0.4.0betaでCR2形式のRead/Writeに暫定的に対応していますが、ひとつ大きな問題があります。
 それは有効領域の問題です。実際のセンサーが受光している範囲は公称有効サイズより大きな範囲となっており、DNGではその範囲をActiveAreaとして情報を持っています。
 しかしCR2のフォーマット中には、今のところそれを特定する値を見つけることができていません。
 このことは単に処理する画像範囲が狭くなるだけではなく、CR2から変換したDNGとの相互互換性が低くなるという問題があります。
 そこで、あらかじめカメラモデル毎の実質有効範囲をDNGファイルから取得、蓄積しておき、それをCR2形式の処理でも使えるようにしてみました。
config.png
右上にチェックボックスとボタン2つを追加しています。
登録ボタンを押して非圧縮DNGファイルを選択します。
登録完了後、リストを表示すると以下のようになります。
show_list_dialog.png

この状態で右上のチェックを入れて実行すると、CR2形式でも実質有効領域で処理を行ないます。

ためしにスカイフラット画像とダークファイル画像を比較暗合成で実行してみました。
実質有効領域で表示するyimgで見てみると以下の通りです。

NOT_RAA.jpg
公称有効領域で処理したもの。周囲に処理していない部分が確認できます。

RAA.jpg
実質有効領域で処理したもの

一手間必要ですが、取り急ぎ今はこのレベルで。
RStacker 0.4.0 beta2です。
http://www.swetake.com/astro/RStacker/RStacker.html
posted by 開発者 at 22:36| Comment(0) | TrackBack(0) | 機能 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。