スペクトルデータをExcelでSVG画像にしてみた
スペクトル画像の数値化(+一次元化)、数値化されたスペクトルデータの再画像化はすでにできていますが、数値化されたスペクトルデータをもとの画像上の位置に書き戻すだけなので、画像上の位置と波長は一次関数で表されるようなものではありません。
(「スペクトル画像(分光写真)を数値化(グラフ化)する方法」、「スペクトル画像の一次元化と再画像化の自動処理」)
そこで今回は画像上の位置と波長が一次関数になるように再画像化することを考えます。要するに画像に定規をあてて長さを測れば波長がわかる、というようなイメージです。
--------
今500nmから524nmの間のスペクトルデータが25個あるとします。1番目のデータが500nm、25番目のデータが524nmになっているとしても、例えば12番目のデータは511.0nmではなく511.6nmだったりします(下図の左側)
一方新たに作る画像では13番目には512.0nmのデータを格納する必要があります。
そこで12番めと13番目のデータから補間するなどして512.0nmのデータを作りこれを新しい画像の13番目のデータとすることになります(上図の右側)
-------
今回はちょっと違った方法を考えました。
新たに作る画像をビットマップイメージではなくベクタイメージだとします。この場合12番目のデータが511.6nmであればそのデータをベクタイメージの511.6nmに相当するところに書き込むだけで済みます(描画するときの線幅には配慮が必要です)
考え方はとても簡単になります。具体的にどうやってベクタイメージを作るかということになるのですが、SVGを使うことにします。SVGはテキストベースなのでプログラムに不慣れな私も自由に扱えます。再画像化したスペクトルに波長の目盛りを入れたり輝線のあるべき位置にマークするというようなこともできます。
SVGに関してはバイブル的サイトがあるので紹介しておきます。
「svg要素の基本的な使い方まとめ 」
スペクトルデータはExcelのシート上にあるのでExcelでそのままSVGデータを作ることにしました。
X列の青くマークしたところにSVGデータができあがるのでこれをテキストファイルにコピペして○○.svgという名前で保存すればできあがりです。
このExcelファイルは説明なしでは(というか説明があっても)とても使っていただけるようなものではないのですが、どうやって、どういうSVGデータを作っているかは参考になるかもしれないのでダウンロードできるようにしておきます。
「IMGP8858-太陽光・SVG-M46d3-1430.xlsx」 (2MByte近くあります)
作成されたSVGデータの例
<svg
xmlns="http://www.w3.org/2000/svg"
width="2400"
height="700"
>
<g font-family="Sans" font-size="12" fill="yellow">
---- 中略 -----
ここからスペクトルの描画
<path style="stroke:#021C13" stroke-width="1.26" d="M 200.52,200 200.52,500" />
<path style="stroke:#021D14" stroke-width="1.26" d="M 201.15,200 201.15,500" />
<path style="stroke:#031E15" stroke-width="1.26" d="M 201.79,200 201.79,500" />
<path style="stroke:#011E15" stroke-width="1.26" d="M 202.42,200 202.42,500" />
<path style="stroke:#001E14" stroke-width="1.26" d="M 203.05,200 203.05,500" />
<path style="stroke:#011C13" stroke-width="1.26" d="M 203.68,200 203.68,500" />
---- 中略 -----
元素名とその波長の描画
<path stroke="yellow" stroke-width="1" d="M 1315.53,190 1315.53,250" />
<text transform="rotate(-90 1320.53 190)" x="1320.53" y="190">Mg(b4/-) 516.73</text>
<path stroke="yellow" stroke-width="1" d="M 1326.07,190 1326.07,250" />
<text transform="rotate(-90 1331.07 190)" x="1331.07" y="190">Mg(-/b3) 516.89</text>
<path stroke="yellow" stroke-width="1" d="M 1351.33,190 1351.33,250" />
<text transform="rotate(-90 1356.33 190)" x="1356.33" y="190">Mg(b2/b2) 517.27</text>
<path stroke="yellow" stroke-width="1" d="M 1424.13,190 1424.13,250" />
<text transform="rotate(-90 1429.13 190)" x="1429.13" y="190">Mg(b1/b1) 518.36</text>
---- 中略 -----
波長目盛りの描画
<path stroke="yellow" stroke-width="1" d="M 200,440 200,500" />
<text transform="rotate(-90 205 525)" x="205" y="525">500</text>
<path stroke="yellow" stroke-width="1" d="M 533.33,480 533.33,500" />
<path stroke="yellow" stroke-width="1" d="M 866.67,470 866.67,500" />
<text transform="rotate(-90 871.67 525)" x="871.67" y="525">510</text>
<path stroke="yellow" stroke-width="1" d="M 1200,480 1200,500" />
<path stroke="yellow" stroke-width="1" d="M 1533.33,470 1533.33,500" />
<text transform="rotate(-90 1538.33 525)" x="1538.33" y="525">520</text>
<path stroke="yellow" stroke-width="1" d="M 1866.67,480 1866.67,500" />
<path stroke="yellow" stroke-width="1" d="M 2200,470 2200,500" />
<text transform="rotate(-90 2205 525)" x="2205" y="525">530</text>
---- 中略 -----
</g>
</svg>
------
ベクタイメージを作ってもPC上で表示されるのはビットマップイメージです。この変換はどうするかというと
Internet Explorer で表示する
InkspaceかGIMPでビットマップイメージに変換する
ということになります。
次の画像はプラズマボールのスペクトルデータから上記の方法でスペクトル画像を作った例です。
輝線のあるべき場所を示すマークと実際の輝線の位置がぴったりあっています。
前の記事 「デジカメ分光感度特性の謎」
次の記事 「簡易分光器のフラウンホーファー線を岡山天体物理観測所と比較してみた(b線) 」
まとめ記事
「簡易分光器 - 作り方・使い方のまとめとリンク集」
簡易分光器とは?
簡易分光器の実力
太陽光(フラウンホーファー線)
蛍光灯
原理・設計
製作・材料
スリット
回折格子
構成/構造
フラウンホーファー線の撮影法
簡易分光器の性能評価
トラブルが起きたときの対処法
画像の数値化・グラフ化
デジカメの分光感度特性
スペクトルデータの再画像化
分光器の応用
光害カットフィルターの特性を調べる
半導体レーザー出力光の波長の変化
簡易分光器では手が出ないようなもの
スペクトルに関する資料集
スペクトル(画像)の実例
---------
「測定対象別記事一覧(測定、電子工作、天文計算)」
「過去記事の一覧(測定、電子工作、天文計算)」
« 簡易分光器 - 作り方・使い方のまとめとリンク集 | トップページ | 簡易分光器のフラウンホーファー線を岡山天体物理観測所と比較してみた(b線) »
「簡易分光器とスペクトル」カテゴリの記事
- 水を注いだコップの中のコインは真上に浮き上がって見えるのか?(2018.08.27)
- 水深2mのプールの見かけの水深は? 屈折と光線追跡(2018.08.23)
- CD-R簡易分光器の限界は? - 「イラストレイテッド光の実験」(2018.07.20)
- 簡易分光器の回折格子 - CDとDVDの違い(2016.07.28)
- 簡易分光器の特性をExcelでシミュレーションする(2016.07.26)
コメント
この記事へのコメントは終了しました。
« 簡易分光器 - 作り方・使い方のまとめとリンク集 | トップページ | 簡易分光器のフラウンホーファー線を岡山天体物理観測所と比較してみた(b線) »
おお!ついにやりましたね^^。
おめでとうございます(o^-^o)
投稿: ほよほよ | 2016年6月23日 (木) 18時59分
ありがとうございます。
宿題をやっと済ませたような気分です。
記事を書いて気がついたのですが、線幅の設定値が間違っているようです (^^;;
投稿: セッピーナ | 2016年6月23日 (木) 19時31分