私は人工衛星で観測した熱赤外画像で黒潮水が沿岸へ向かってくる過程を追う という研究で博士の学位を取得しました。 現在も、琵琶湖博物館の屋上に設置した赤外カメラで湖面の観測をしています。 このような画像を扱おうと思うと、幾何補正(斜めに見て撮影した画像を、 まっすぐな地図の上にマッピングする処理)など、 使っている観測システムだけのための専用の画像処理が必要になります。 それは、当然ながら自分でプログラミングしなければなりません。 また、屋上からの湖面観測は、時間が来たら自動的に 画像をA/D変換してファイルに保存するという処理をしていて、 これもA/D変換ボードのメーカーが提供したサブルーチン集を組み込んで、 やはり自分でプログラミングしなければなりません。 というわけで、現在はVisual C++を使った 画像処理のプログラミングをしているのですが、 なかなか時間が取れなくて、必要に迫られた最小限のテクニックだけ マスターするということをやってました。
一方、私は琵琶湖博物館赴任当初(1992年)から 文書はPC-9801のMS-DOS、お絵かきはMacintoshという使い分けで来ていて、 文書は「最終形態」になる度に順に「保存用」フロッピーに移動して 整理するということをしています。 その「保存用」フロッピーが溜まりに溜まって40枚とかいう話になってきたので、 そろそろ整理してCD-Rに焼いてみようか、ついでにフロッピーで持ってる 種々のデータも整理しておこうかという気になりました。 そうすると、大学院生時代にPC-9801で作っていた「お絵かき」の データが出てきました。
このデータというのは、システムソフト社製の アートマスター(ArtMaster)というソフトのデータで、 PC-9801のグラフィック表示ハードウェアに依存したデータ構造になっています。 当時、Basic(MS-DOS版)でプログラミングして描いた図形を アートマスターで読み込める形のファイルに保存したり、 アートマスターで作ったファイルをBasicで読み込んで 処理したりなんてことをやっていて、 そのプログラムが残っているので、データの読み方は判ります。 だったら、折角だし、これを最近の標準画像フォーマットに変換して いろいろ使えるようにしておきたいなと思ったわけです。
で、この「アートマスターのデータを使えるようにしておきたい」というのと 「Visual C++プログラミングのテクニックをまとめてマスターしておきたい」 というのとが結びついて、 「アートマスターのファイルをWindows上で読むツールを Visual C++で作ってしまおう」という気になったわけです。
私自身のプログラミング学習のための習作ですし、 それほど完成度が高いとも思いませんし、信頼性も保証しません。 アートマスターのデータが手元で腐っているなんて人も それほど沢山居るわけでも無いでしょう。 でも、vector.co.jpで検索してみても、 アートマスターのデータを読むソフトというのは、 スクリーンセーバー絡みのドライバが1件出てくるだけで、 意外と誰も作っていないのかなという気がしたので、 思いきって公開することにしました。
ちなみに、私の手元にはアートマスターの自作データと、 自作の読み取りプログラムだけしか無く、 アートマスター自体についての詳しい情報がありません (マニュアルは出身研究室を家捜ししないと出てこないだろう)。 インターネット上で検索してみたところ、以下のようなことが判りました。