2010/02/26

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



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

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

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

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

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

2010/02/03

村人生活

またもやサボってしまいましたね…

前回の日記に書いたとおり、12月に東海村へ引っ越してきました。
通勤時間が大幅に短縮されたこともあって比較にならないほど楽になったのですが、割と頻繁に「元気なさそうだけど大丈夫?」と聞かれています。
そんなこと無いんだけど、と思いながらも確かに何となくぼーっとしてる気もします。
おかしいなぁ。

東海村ですが、相変わらず食事がうまいです。
特に、実験中は本当に癒されます。
今日まで実験に来ていたユーザーさんは、実験のしんどさのあまりやけ食いしてました。
本人によると睡眠欲が満たされない分、食欲を満たしているとのことでした。
人間、どこかで精神的なストレスを発散させる必要があるのでしょうね。

そんな住むには割と良い東海村ですが、問題点もあります。
例えばゴミ出し。
分別がえらい細かく、右往左往しながらゴミを捨ててます。
プラスチックを水洗いの後に回収したりしてますが、どれだけの割合でリサイクルされているのかどうかは正直疑問に思ってます。

あと、先月仙台に出張する機会があったのですが、東海駅で乗ることが可能な常磐線が強風で遅延していて、一度上野に出てから仙台に行くという面倒な旅を強いられました。
常磐線は風に弱いので、これからもこういうことが度々あるのかと思うと頭が痛いです。
東京まで気軽に行ける距離ではないですし、この点に関しては前住んでいたつくばの圧勝ですね。

仕事の方ですが、僕が担当している装置は(自分で言うのも何ですが)かなり順調で、ちょくちょくと論文になりそうな成果が出始めている様子です。
結構な苦労をして作っている装置なので、良い結果が出てくれると「がんばった甲斐があった…」と心が満たされますね。
ただ、ここで危険な落とし穴は、そうやって他人の世話に気を取られて自分の研究がおろそかになってしまうこと。
来月はちゃんと自分の実験もやる予定でいます。
うまくいくといいなぁ。