2010/02/26

データ読み出しプログラム



今、装置のデータ読み出しプログラムを作っています。
普段だったらIgorを駆使してプログラムを書くのですが、今回はデータの形式が若干トリッキーでちょっとしたビット演算が必要な上、またファイルサイズが比較的大きいため速度が要求される、という事情があってC言語で書いてます。
ただ、最終的にはIgorで解析したいので"IgorXOP toolkit"というものを使ってプログラムを書くことにしました。
これはdllのようにIgorから読み出せるライブラリを作るソフトで、Cの速度と柔軟性をIgorで享受することができるというご機嫌なツールです。
昔、買ったまま使う機会が無く放置していたのですが、ちょっとがんばって勉強してみることにしたのですが…う~ん、すっっっっっかりC言語を忘れてしまっています。

IgorもCライクな言語ですが、色々な拡張がされていて割と便利に使えるようになっています(それが混乱を生む場合もありますが)。
そんなぬるま湯にしばらくつかっていたため、概念だけは覚えてるんだけど、具体的にどうするんだったか忘れた、みたいな感じで本を引っ張り出してきては「そうだったそうだった」と最学習する日々です。
そして、ご多分に漏れずポインタで躓きまくり、「あ、落ちた…」をひたすら繰り返しては初期化の重要性を再認識しております。

ちなみにこのtoolkitですが、何かのソフトというわけではなくC言語用のライブラリで、色々とお作法があって大変です。
しかも、使える開発環境が限られていて、今回はVCを使うことにしました。
ただ、こういう統合開発環境というのを僕は今まで使ったことがなかったので、そのお作法から覚えなきゃいけないという感じで、こっちでもとまどってます(いや、便利なんですが)。

おかげで最近ようやく少しずつ慣れてきて、今日ようやくデータ読み出しプログラムのプロトタイプが完成しました。
今までは別の方につくっていただいたLabview上で動かす簡易的なプログラムを使っていたのですが、それと比較しても十分早いです。
また、積分計算を含むフィッティングを時間かけて計算させていたのですが、XOPを使えばずいぶんと楽になるのではないかと期待しています。
いや、良いものを手に入れました。

せっかくのblogなので、気が向いたらXOPの話もちょくちょくとあげられたらなと思います。
まぁ、いつもの通り放置になる可能性の方が高いですが…

0 件のコメント: