<   2006年 11月 ( 9 )   > この月の画像一覧
f2py
F2PY: Fortran to Python interface generator
http://cens.ioc.ee/projects/f2py2e/
をdebian/etchで試す.
Fortran90ソースをIntel Fortran Compiler 8.0でコンパイルし,Python2.4からモジュールとして呼び出すことができた.配列の受け渡しやコールバックは未テスト.

% f2py --fcompiler=intel -c -m foo foo.f90
自動的にgccとifortを実行して,コンパイルから共有オブジェクトファイルfoo.so(これをPythonはモジュールとして読み込む)まで作る.ifortはホームディレクトリに展開してあるが,PATHが通っているためか指定しなくても見つけてくれた.

% python
>>> import foo
>>> foo.bar(5)
25.0

など.

当初,f2pyによるモジュール作成時,以下のようにifortの段階でコマンドラインオプションのエラーで止まってしまっていた.

:
compiling Fortran sources
Fortran f77 compiler: /home/m/opt/intel/intel_fc_80/bin/ifort -72 -w90 -w95 -KPIC -cm -O3 -unroll -tpp7 -xB -xM -arch SSE2
Fortran f90 compiler: /home/m/opt/intel/intel_fc_80/bin/ifort -FR -KPIC -cm -O3 -unroll -tpp7 -xB -xM -arch SSE2
Fortran fix compiler: /home/m/opt/intel/intel_fc_80/bin/ifort -FI -KPIC -cm -O3 -unroll -tpp7 -xB -xM -arch SSE2
compile options: '-I/tmp/tmpXcGISQ/src.linux-i686-2.4 -I/usr/lib/python2.4/site-packages/numpy/core/include -I/usr/include/python2.4 -c'
ifort:f90: foo.f90
ifort: Command line warning: overriding '-xB' with '-xM'
ifort: Command line error: Unrecognized keyword 'SSE2' for option '-arch'
ifort: Command line warning: overriding '-xB' with '-xM'
ifort: Command line error: Unrecognized keyword 'SSE2' for option '-arch'
error: Command "/home/m/opt/intel/intel_fc_80/bin/ifort -FR -KPIC -cm -O3 -unroll -tpp7 -xB -xM -arch SSE2 -I/tmp/tmpXcGISQ/src.linux-i686-2.4
-I/usr/lib/python2.4/site-packages/numpy/core/include
-I/usr/include/python2.4 -c -c foo.f90 -o /tmp/tmpXcGISQ/foo.o" failed with exit status 1
Exit 1

このときのf2pyはpython-numpyパッケージに付属のもの(f2py version 2_3198)だったが,python-f2pyパッケージ(f2py version 2.45.241_1926)を導入したところ,問題なく動いた.なお,このときpython-numpyがremoveされ,python-scipyが導入された.この辺の開発状況はよくわからないが,debian/etchのパッケージとしてはpython-scipyがpython-numpyを包含もしくは上位互換なのだろうか…??
[PR]
by edogawadai_bio | 2006-11-20 22:20 | comp
MySQL 圭
MySQLとPHPで作られたシステムを仕事で使う.
「圭」の字で終わる文字列処理でMySQLがエラーを出す.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '******', '********','311111111111111111111111111111111115','311111111111111111111' at line 1

調べてみたら
― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭
は,MySQLが文字列末尾として扱うのが苦手らしい.Shift_JISで2バイト目に 0x5C が含まれる文字で,ASCIIコードの'\'と重なるからのようだ.とりあえず末尾に空白を加えることで場当たり的に対処した.

http://www.mysql.gr.jp/mysqlml/mysql/msg/6151
[PR]
by edogawadai_bio | 2006-11-16 21:54 | comp
GPW-06 2日目
Bonanzaの保木さんの招待講演は,局面評価用の静的評価関数の設計を,最適制御理論の枠組みで行なったという話.学習に用いる棋譜データは6万局ぶんで,特徴空間は1万次元以上,計算時間はPCで3ヶ月とのこと.minimax探索の結果の勾配(評価関数のパラメタ空間に対する勾配)は,その探索における最善応手列(特徴空間の十分狭い範囲で一定と仮定)の末端局面に対する静的評価値の勾配と等しいことを利用して,「棋譜データを再現するための静的評価関数の学習」を「minimax探索の結果と棋譜データとの一致度(+安定化項)の最小化問題」に置き換える.特徴ベクトル更新の幅の調整は手動で,じょじょに小さくする.…という感じだったように思うが,理解できているか自信がない.次元の大きさが驚きだった.なお,収束していない特徴への対応や次元圧縮のために補間を用いることを提案されていた.
Bonanza のサイトの「おまけ」にて発表スライド(GPW 2006 発表資料)が PDF 形式で公開されている.

ポスター発表では,リカレントニューラルネットワークによる系列連想記憶を囲碁に用いようという話が面白かった.誤差逆伝播法や自己組織化マップなどの流行と対照的?に,古くから研究されているが応用はあまり進んでいないらしい.が,精神(とくに無意識,意識下)を連想記憶の連鎖としてモデル化するのは,フロイトの精神分析学を思い起こさせ,個人的には非常にしっくりくる.LispやAI分野の経験が豊富そうで,もう少し自分も勉強しておけば,その辺りについても貴重な話を聞くことができたかもしれないな,と思った.


萩谷先生のエッセイ.LISP の思い出.
http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/essay/omoide
[PR]
by edogawadai_bio | 2006-11-11 23:59 | comp
GPW-06 1日目
http://minerva.cs.uec.ac.jp/~ta-ito/GPW06/top.htm
GPW-03以来,3年ぶりに箱根にやってきた.
夜のGPW杯は14チーム参加,と非常に盛況だった.
LAN対局は初めネットワークが安定せず,どうなることかと思われたが,固定IPアドレスの重複という問題が判明してからは,滞りなく快適に対局できた.
部屋の後ろの方では車座になってDSによる通信対戦が行なわていた.裏GPW杯,らしい.携帯ゲーム機を持ってきてる人があんなにいたのには驚いた.修学旅行のノリに似てるかもしれない.
風呂はちゃんとした温泉だった上,計算機が対局してるところを抜け出してきた甲斐あってか,一人でゆったりと浸かることができて,満足だった.
[PR]
by edogawadai_bio | 2006-11-10 23:59 | comp
python
Numerical Analysis with Python
http://scipy.dip.jp/
日本語によるNumPyやSciPyなどの紹介.NumPyとSciPyが似たような名前のが幾つかあって混乱するが,今はこの2つに集約しているのだろうか??? FORTRANで書かれたパッケージのwrapperが多いらしい.

F2PY: Fortran to Python interface generator

http://cens.ioc.ee/projects/f2py2e/
gcc 2.95.x, 3.xおよびIntel Fortran Compiler用のFortran77/90コードを,Pythonから拡張モジュールとして呼び出すためのインタフェイス生成器だと思う.Fortran90規格については完全対応ではないらしい.Debian/etchでのパッケージ名は"python-f2py".

IPython

http://ipython.scipy.org/
cdやpwdのようなshellっぽいコマンド,prefix '!' によるコマンド実行,タブ補完,オブジェクトインスペクション,キーワードのカラーハイライト,履歴の拡張など多くの工夫がされたインタラクティブシェル.ログインシェルを乗り換えるところまではいかなくても(何か不都合がありそうだ),Pythonソースをいじってないときでもしばらく常用してみようと思う.
Debian/etchでのパッケージ名は"ipython".Windows/Python2.4.*環境では,
ctypes
http://starship.python.net/crew/theller/ctypes/
および
http://ipython.scipy.org/dist/
からpyreadline-1.3.win32.exeとipython-0.7.2.win32.exeを導入した.Windowsではcygwinのbashに今ひとつ慣れることができないでいたので,とくにちょうどいいかもしれない.
[PR]
by edogawadai_bio | 2006-11-07 05:23 | comp
Python for Windows extensions
pythonからExcelに解析結果を自動的に流し込みたい,ということで
Python for Windows extensions
http://sourceforge.net/projects/pywin32/
を使うことにした.
http://www.hlj.com/~tanoue/Python/Wdw/wpy1.html
でも触れられているように,二度目以降,Excelのシート部分の描画が妙だ.PythonインタプリタやExcelを終了させても同様.COMについて調べるのはあまり気乗りしない….
[PR]
by edogawadai_bio | 2006-11-07 04:21 | comp
最近買った本
須崎亮太郎, 萩野友隆, 内村創 (2004) フルスクラッチによるグラフィックスプログラミング入門, 秀和システム
ジュンク堂池袋店のグラフィックス・画像処理コーナーの壁に挿絵キャラを使った広告(たしか「ピクセルの壁を超える!」「DCTがどうのこうの」とか)があって,見事につられて買ってしまった.Windows上で,DirectXやGPU組み込みの描画命令を使わずに二次元グラフィックスや画像処理をやろうというもの.よってbitblt,線や三角形の描画(ただしBresenham法はない),アンチエイリアシングなどの話題に詳しい.一方,画像処理関係はHDR(high dynamic range)やオプティカルフロー(http://www.hirax.net/の動画像処理の例が紹介されてた…),ウェーブレット圧縮等の解説と実装が簡潔に示されている.

伊庭斉志 (2005) 進化論的計算手法, オーム社
遺伝的アルゴリズム(GA),遺伝的プログラミング(GP)の本.この人は両テーマで何冊も書いているが,この本ではもう少し広く,No Free Lunch Theorem (NFL),Estimation of Distribution Algorithm (EDA),Ant Colony Optimization (ACO),Particle Swarm Optimization (PSO, 「みじんこ探索」という訳は面白い)についてもそれぞれ章を割いている.

田中和之 (2006) 確率モデルによる画像処理技術入門, 森北出版
確率伝播法を画像処理(主にノイズ除去)に用いる話.画像処理技術として利用するというよりは,ベイズ統計,統計力学,ベイジアンネットワークの解説や,その上での画像のモデル化といったところに重きが置かれている.
http://www.smapip.is.tohoku.ac.jp/~kazu/SMAPIP-KazuKazu/
イジングモデルで温度を下げていったときにあらわれる模様,例えば
http://jc.maxwell.jp/statisticalmechanics/ising2D/index.html
は,とても「自然」な感じがする.画像処理に使った場合,そういう自然な見た目のアーティファクトが紛れ込んでしまうのではないか,さらにそれに人間が気づくことができないのではないか,というぼんやりした不安がある.

トランジスタ技術増刊 ロボットの目をつくる (2006) CQ出版社
CCD・CMOSカメラの選択と接続,リアルタイム処理のための画像処理ボード,Video4Linux,OpenCV,歪み補正,色相による領域抽出,動き検出など,多様な現実的話題が散りばめられていて面白い.

板橋秀一 編著 (2005) 音声工学, 森北出版
音声認識,とくに人の言葉を自動的に「認識」(というか書き取り)する技術がとくに産業的に重要なせいか,目的や条件が多様な画像や信号一般に比べて,音声では分野全体の見通しがよいように傍からは見える.一方,音声自体は画像情報に比べて,より本能的な部分で心に響く刺激であるようにも思う.個人的にはそういう部分,例えば人によって異なる「心地よい声」というのが,音声信号のどこに現れているのか(音声認証で有用な特徴に近い?)に興味がある.
[PR]
by edogawadai_bio | 2006-11-07 03:54 | sanji
ImageJ plugin等
ImageJのメタな情報
ImageJ Documentation Wiki.本家サイトに比肩するくらい発展していくかもしれない.プラグインも置いてある.
http://imagejdocu.tudor.lu/imagej-documentation-wiki

ImageJ公式サイトの文書の和訳.日本語版を売っている会社(BioArts社)のサイトに置いてあるが,翻訳はImageJサイト日本語化プロジェクトの手によるようだ.本家と同じデザインなので読みやすい.pluginの説明も訳してくれないかな….
http://www.bioarts.co.jp/~ijjp/ij/index.html

これもImageJ公式サイトの文書の和訳.上のよりくだけている.
http://www.hm6.aitai.ne.jp/~maxcat/imageJ/docu.htm

ImageJ日本語版.9870円? 本家はpublic domainだし,付属のプラグイン(GifEncoderとか)もBSDライセンス的なもののようだから,こういうのもありなのかもしれない.試用版はファイル保存ができない.プラグイン受託開発もするらしい.
http://www.bioarts.co.jp/products/ijjp/imagej_jp.html

ImageJ plugin
stackの手動registration等.
http://www.med.harvard.edu/JPNM/ij/plugins/

morphology, RGBやYUVでのsegment, IJ_Robot(マクロでなくマウスをエミュレートすることによるImageJの自動操作)
http://www.dentistry.bham.ac.uk/landinig/software/software.html

MosaicJ.大きな試料を複数の視野にわけて撮影した画像群から,1つの大きな画像を合成する.大まかには手動で行ない,細かな位置あわせは自動的にできる.
http://bigwww.epfl.ch/thevenaz/mosaicj/

アラインメント等
http://www.med.harvard.edu/JPNM/ij/plugins/

Multitrackerの拡張等
http://valelab.ucsf.edu/~nico/IJplugins/index.html


スタンドアロンで動くソフトウェア
AIR(Automated Image Registration).
ダウンロードするのに登録が必要.学術研究用にはフリー.
http://www.loni.ucla.edu/Software/Software_Detail.jsp?software_id=8

総説等
Image Analysis for the Biological Sciences - Glasbey, C.A. and Horgan, G.W.
1995年に出た教科書のPDF版
http://www.bioss.ac.uk/staff/chris.html

ドージンニュース.ライブセルイメージング技術講座が111号から連載されている.
http://www.dojindo.co.jp/dojinnews/index.html

http://www.acm.org/tog/GraphicsGems/
http://www.amazon.co.jp/gp/product/4873112168/ref=pd_sim_b_5/250-3987146-5196252?ie=UTF8

[PR]
by edogawadai_bio | 2006-11-01 19:36 | img
ImageJ coding memo
LUT適用
ImagePlus img = IJ.openImage("/Users/wayne/blobs.tif");
WindowManager.setTempCurrentImage(img);
IJ.run("Fire");
[PR]
by edogawadai_bio | 2006-11-01 17:17 | img