オライオン初撮影

TL; DR

glasnsciです。遡ること2ヶ月前の1/13、初めてオリオン大星雲を撮影しました。

続きを読む

Sharpstar 20032PNT を購入しました

*     +     巛 ヽ
            〒 !   +    。     +    。     *     。
      +    。  |  |
   *     +   / /   イヤッッホォォォオオォオウ!
       ∧_∧ / /
      (´∀` / / +    。     +    。   *     。
      ,-     f
      / ュヘ    | *     +    。     +   。 +
     〈_} )   |
        /    ! +    。     +    +     *
       ./  ,ヘ  |
 ガタン ||| j  / |  | |||
――――――――――――

続きを読む

PixInsightで2D‐DFT/IDFTができるらしい。

TL; DR

glasnsciです。PixInsight(PI)には様々な機能があります。あまりにたくさん機能がありすぎて、一度も使ったことがない関数もあるほどです。「こんな名前しているけど、一体何に使うんだこの関数は?」というものもたくさんあります。そんなある日わたくしは、Processに離散Fourier変換を行なう関数があるのを発見しました。本稿では簡単に結果を紹介します。

Fourier変換復習

Fourier変換とは、ざっくりいうとある関数 f(t)を周波数(波長)空間の関数 \hat{f(\omega)}ないし \hat{f(\lambda)}へ変換するもので、複雑な関数をsin・cosの波で表現しているようなものです。

  \displaystyle
\mathcal{F} [ f(t) ] =\hat{f(\omega)}= \frac{1}{\sqrt{2\pi}}\int^{\infty}_{-\infty}  f(t) e^{-i\omega t} dt

周波数空間に移された関数に逆変換が存在する場合、周波数空間から逆に実数空間に戻すことも可能です。

離散Fourier変換復習

上記の\mathcal{F} [ f(t) ] で表現した式はあくまで連続な関数に対する変換でありますので、現実的な離散値に対しては異なる式を用います。この場合、

  \displaystyle
F(\omega) = \sum_{t=0}^{N-1} f(t)\exp\left\lbrace  -i\frac{2\pi\omega t}{N} \right\rbrace

と表現されます。同様に逆変換は

  \displaystyle
f(t) = \sum_{\omega=0}^{N-1} F(\omega)\exp\left\lbrace  i\frac{2\pi\omega t}{N} \right\rbrace

上記の離散値に対するFourier変換を離散Fourier変換(Discrete Fourier Transform: DFT)と呼び、逆変換を逆離散Fourier変換(Inverse ‐: IDFT)と呼びます。さらに、そのアルゴリズムを工夫して高速化したものが高速Fourier変換(Fast -: FFT)です。これらは、t_1t_2方向に重積分することによって、2次元空間へ拡張することができます(面倒なのでいろんな証明略)。

2次元の離散フーリエ変換は以下のように表現されます。

  \displaystyle
F(\omega_1,  \omega_2) = \sum^{N-1}_{t_1=0} \sum^{M-1}_{t_2=0}  f(t_1,t_2)\exp\left\lbrace  -i\frac{2\pi\omega_1 t_1}{N} \right\rbrace \exp\left\lbrace  -i\frac{2\pi\omega_2 t_2}{M} \right\rbrace

さらに逆変換は以下のようにと表現されます。

  \displaystyle
f(t_1, t_2) = \sum^{N-1}_{\omega_1=0} \sum^{M-1}_{\omega_2=0}  F(\omega_1,  \omega_2)\exp\left\lbrace  i\frac{2\pi\omega_1 t_1}{N} \right\rbrace \exp\left\lbrace  i\frac{2\pi\omega_2 t_2}{M} \right\rbrace

Fourier変換はさまざまなところで役だっていて、もちろん周波数や波長解析ももちろんのこと、コンピュータトモグラフィ(所謂X線CTスキャン)など、あるいは望遠鏡の民が大好きな光学の世界にも役立っています。レンズはFourier変換。

PIでDFT

ながながと書いてきましたが、PIのProcessを開くとFourierという項目があります。

プロセスを起動してみます。すごくシンプルですね。

Fourie Transform

せっかくなので、変換してみましょう。普通なら、Lenaを使うところですが、今回の教材は、偉大な先人に敬意を払ってだいこもんのアイコンになっている「ドクトル」を採用しましょう。

だいこもんのアイコン、ドクトル

左が強度情報です。どの周波数が強いかを表した画像です。右が位相情報で、周波数のズレを可視化した画像になっています。

DFT後のドクトル

もちろんPIにも逆DFTが存在していて、同じFourierの項目にInverse Fourier Transformがありますので、使ってみましょう。

フーリエ変換

予想通り、ドクトルが復元されました。

DFTで強度と位相情報に変換されたドクトルと、IDFTによってもとに復元されたドクトル

もちろん、わたくしのアイコンも元に戻せましてよ

周波数フィルタ

GAMEスクリプトで、このように中心にのみ作用するマスクを作ってみましょう。

GAMEによるマスク

そして、先程のMagnitudeにマスクのinverseを掛けてHTで周辺の輝度をぐっと上げてみましょう。さらに逆Fourier変換にかけます。ここで重要なのは、PIのDFTで変換された空間が波長空間なのか周波数空間なのか、ということです。いまはただ何も考えずにDFTしただけなので、どのような空間へ変換されたのかわかりません。マスクを掛けてIDFTした結果でその判別が可能ですので、確かめてみましょう。

Magnitudeで周辺の輝度を上げましたので、仮にDFTされた結果が波長空間であれば長波長成分(低周波成分)が強調されて、大きな構造が強調されるでしょう。逆に、周波数空間であれば、高周波成分(短波長成分)が強調されて、ジャギジャギになるはずです。

高周波成分が強調されてジャギジャギになってしまったドクトル

ジャギジャギになったということで、DFTされた空間は周波数領域だということがわかりました。

おわりに

ところで、PIの制作陣はDFTでなにをさせたかったのでしょう?おそらく上記のような周波数フィルタとしての使用を考えていたのでしょうか。推測の域を出ませんが……。

でもでも、DFTによるフィルタはさまざまなフィルタリングの初歩になっていますので、遊んでみると非常に面白く、皆さんにもぜひ試していただきたいです。普通はOpenCVなどで画像を読み込んで、ソースコードを書いてフィルタリングを色々と行わないと行けないのですが、PIは画像を直接いじることができるので非常に直感的で原理を理解しやすいと思います。ぜひ、遊んで楽しんでもらいたいです。

以上。

あたらしいきざいをかいました

ある天体写真家が、駆け足で交番に飛び込んできた。非常に焦っている様子で、警察官に向かって息を切らして喋り始めた……。

天体写真家:妻が行方不明になりました。昨日、赤道儀と鏡筒を持って出かけて、戻ってこないんです……
警察署の警官:彼女の身長は?
天体写真家:はっきりとはわかりません、153cmより少し高いと思います。
警官:体重は?
天体写真家:わかりません。痩せてはいませんが、太ってもいないです。
警官:瞳の色は?
天体写真家:茶色っぽいと思います。あまり気にしたことはありません。
警官:髪の色は?
天体写真家:年に何度かカラーしているので。たぶん今はダークブラウンだと思います。思い出せません。
警官:行方不明時の服装は?
天体写真家:パンツスタイルだったかもしれません。正確にはわかりません。
警官:どんな機材を持って出かけたんですか?
天体写真家:私の機材を持って行ったんです。
警官:それはどんな機材ですか?
天体写真家:(むせび泣く)Takahashi FSQ-106EDP、Takahashi NJP自動導入改造品、ASA 12" Astrograph @ f/3.6 (Newton)、ASA Direct Drive Mount DDM85 Standard 、ZWO ASI6200MM、QHYCCD QHY268M、Astrodon LRGB Gen2 Tru-Balanceフィルターセットx2、まだあるんです(ここまで話したカメラマンはむせび泣きから号泣へと移行)
警官:心配しなくてもいいですよ。あなたの機材を見つけましょう。

続きを読む