SSブログ
OS X用GigE Vision ブログトップ
前の10件 | 次の10件

OS X用GigE Visionカメラドライバ - その35 [OS X用GigE Vision]

GigE VisionカメラのOS Xドライバを仕上げないといけない。大したことない仕事に時間を取られて、ちょっと時間的に厳しくなってきた。

今日と次回でGEN<i>CAM規格のなかでは異色の存在であるSwissKnife系の実装について考える。こういう数式の解析は、知ってる人には簡単だけど、知らない人には妙に敷居が高い。僕は会社に入ってすぐのころ、たまたまUCSD pascalコンパイラのソースとその解説ドキュメントを見せてもらったことがあって、その構文解析の部分を理解することができたとき、実にうまくできてるなあ、と感心した。懐かしい。これまでその経験が役に立つことはほとんどなかったけど、今でもほいほいと書けることがわかってちょっとうれしい。

いや、それは僕の記憶力が高いからではなくて、スタックの効果さえ理解すれば中身は簡単。ほんとは動作原理を説明してその面白さを伝えたいけど、僕には初心者向けに解説する力も時間もない。残念だけど、雰囲気を見てもらって興味がある人は専門のサイトを参照してもらいたい。

続きを読む


OS X用GigE Visionカメラドライバ - その34 [OS X用GigE Vision]

もう10ヶ月前のことになるんだけど、無圧縮カメラのデータを1000BaseTで送るためのGigE Visionをおさらいして、それで通信するカメラをOS Xでも使えるようにしようとしていた。カメラ固有の機能を使うためには、それをXMLファイルに記述したGEN<i>CAMという規格に対応する必要がある。ところがこの規格が結構面倒で、実装に悩んでいた。とりあえず機能を記述したXMLファイルをカメラから読み出して、それを読める形にまとめ直して、必要な機能だけを直接ハードコードする形でずっとカメラを使っていた。

ところが、最近になって社長副社長のおともだちのツテで、それまで使っていたドイツの会社のカメラから、カナダの会社のカメラに切り替えることになった。めんどくさいんだけど少し安く手に入ることでもあるので諦めて切り替えることにした。ところがそのカナダのカメラのXMLが300kB以上ある。情報量としては原稿用紙200枚ぐらいの中編小説並み。それまでのドイツメーカのが20kBほどだったので人間が読んでもなんとかなったけど、もう限界。しかたないのでGEN<i>CAMに対応したコードを書くことにする....

続きを読む


OS X用GigE Visionカメラドライバ - その33 [OS X用GigE Vision]

GenApiとGenTLの実装の前に、とりあえずGigEカメラのXMLファイルを自分で読んでカメラのレジスタをハードコードして画像を読めるようしたんだけど、安物のカラーカメラではBayer配列を受け取って自前でRGBに変換しないといけない。それをごく普通にCで書いたら1280x960ピクセルの30fpsでCPUコアをまるまるひとつ消費してしまった。こういうのはGPGPUにやらせるべき仕事なのでそうしたい。Core Imageのフィルタにでもあると簡単だったんだけど、そんなプリミティブなのはない。しょうがない、OS XのOpenCLを勉強しよう。他にあとで役に立つかもしれないし、ちょっとがんばろう。

ところで、こないだいかにも中の人っぽいコメントをもらって、いろいろ教えてもらえたらいいな、と思っていたんだけど返事がもらえない。どうやら通りすがりに上から目線で自分の言いたいことだけを投げ込んだみたいで、僕にとってあまり有益ではないらしい。まあ、誰もがみんな親切とは限らないのは当然だし、コメント主の指摘も要約すれば「好きにすればぁ」ということだと理解できるので、僕は僕なりに勝手に続けることにする。

前回はGenTLのAPIをおさらいしてみた。APIとしては素直なものでわかりやすく、少なくともGenTLを使う側からは何も難しいことはない。その上でさて僕はどうするか、というのを考えることにする。

続きを読む


OS X用GigE Visionカメラドライバ - その32 [OS X用GigE Vision]

前々回前回でGEN<i>CAMのなかのGenApi規格の僕が気に入らない部分を列挙した。プログラマから見ればそれほど無茶は言っていないとわかってくれるだろう思っている。少なくとも僕の後輩がこういう設計をしていたら注意するだろう、という項目をあげたつもりである。

しかし、気にいる気に入らないに関わらずすでに規格として成立していてそれに準拠した製品がどんどん出ているので、ガタガタ言っても仕方がない。独自実装するためにはこのGenApiと、もうひとつGenTLを実装しないといけない。ということでGenTLのほうもざっくりみることにする。

続きを読む


OS X用GigE Visionカメラドライバ - その31 [OS X用GigE Vision]

GEN<i>CAMの規格をざっくり読んで、それにいちゃもんをつけてたんだけど、前回だけで終わらなかった。それだけ気に入らないところがいっぱいある、ということなんだけど、そう感じるのは僕だけかなあ。かなりボッコボコに書いてるので、他所から文句言ってもらいやすいようにとりあえず今日でいちゃもんはまとめてしまう。中の人に見てもらいたいなあ。Baslerの人に見てもらうためには英語で書かないとダメか....

続きを読む


OS X用GigE Visionカメラドライバ - その30 [OS X用GigE Vision]

これでざっくりとした全体像がつかめたということにしよう。しかしこれがどこまで正しいのかよくわからない(誰も言ってくれないので、ってあたりまえか)。これに従って実際に実装してカメラを動かしてみる必要がある。

ということで、今回はGEN<i>CAMの規格を読んで気に入らないところ、変だろと思うところ、僕だったらこんなことしないと思うところを列挙する。

続きを読む


OS X用GigE Visionカメラドライバ - その29 [OS X用GigE Vision]

とりあえず前回までで抄訳は終わった。訳しててフラストレーションが溜まった。ずっとまえにAppleのI/O Kitのreferenceの訳をしたときにはそんなことはなかった。フラストレーションの原因は「ああ、こうだったらいいな」「僕だったらこうするのにな」というところが少なからずあったせい。規格書を読んでそう思うことって今まで経験したことがなかった。まあ、ふつうはそうじゃないだろうか。

ようするにはっきり言ってGEN<i>CAMの規格は抽象化のレベルが低い、と僕は思う。具体的にどこかどう、という話をしたい(そして「ばかものめ、GEN<i>CAMの規格はよくできていて美しいのだ」という人の話を聞きたい)けど、そのまえにGEN<i>CAMの規格に対する僕の理解が正しいかどうかを確かめるために僕なりにまとめておく。ちょっと長くなるけど、いっきに今回だけで終わらせる。

できればGEN<i>CAMの仕様をご存知の方がフィードバックしてくれるとうれしいんですが.....

続きを読む


OS X用GigE Visionカメラドライバ - その28 [OS X用GigE Vision]

抄訳の続き。訳はこれで終わり。やってて、めちゃフラストレーションが溜まった。次回からそのフラストレーションを解放することにして、とりあえずここでひと段落させる。

続きを読む


OS X用GigE Visionカメラドライバ - その27 [OS X用GigE Vision]

また明日から安曇野。歳をくったせいかどうも体調が脆くなってて、しかもこないだから万全とは言えないので、あまり行きたくない。

ところで、抄訳の続き。今日はSwissKnifeノードのところ。Gen<i>Camの一番特徴的な部分ではあるけど、読んでてこれ決めたやつの技術的なセンスは、やっぱりどうもイマイチだよなあ、としみじみ思った。少なくとも僕ならこんなことしない。それについては訳が終わってからまとめることにして、これを過ぎるとあともう少し。早く終わらせたい。

続きを読む


OS X用GigE Visionカメラドライバ - その26 [OS X用GigE Vision]

とりあえず食中毒症状からは回復した。結局原因はよくわからない。わかったところでどうしようもないけど。

ということで抄訳の続き。あともうすこし。

続きを読む


前の10件 | 次の10件 OS X用GigE Vision ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。