<   2006年 08月 ( 3 )   > この月の画像一覧
Pythonの高速化
Pyrex
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Pythonに型宣言子等を加えた独自言語を,拡張モジュール(のCソースファイル)に変換するというもの.Python/C APIのPyObjectとCの単純型を比較的シームレスに混在できるような気がする.

既存のC等で書かれたライブラリをwrapするという使い方に加えて,Pythonコードのボトルネック部分を(Cで書き直さず)Pyrex形式で書き直して高速化する,という使い方ができる.Cソースをスクリプト中にインラインで埋め込むよりは自然な感じもする.SWIGだとどうももどかしいが,Python/C APIを直接触るのもめどい場合にも適しているかもしれない.

全体がPythonソースっぽいのに,
cdef char *s
とか
cdef int eggs(unsigned long l, float f):
とかC要素が自然に含まれるのが面白い.

Psyco
http://psyco.sourceforge.net/
JITっぽいもの.x86用.Pythonソース冒頭やmain()の最初にて,
import psyco
psyco.full()
とする.平均的(?)なPythonスクリプトだと2倍くらい速くなるが,科学計算のようなボトルネックが局所化しやすいプログラムではもっと効果的とのこと.流れとしてはまずPsycoを試し,まだ速度が要るならPyrex,という感じだろうか.

開発は終了しているらしいが,PyPy(an implementation of Python in Python)に何らかの形で引き継がれていくのかもしれない.
[PR]
by edogawadai_bio | 2006-08-30 02:20 | comp
モアレパターンの軽減
スクリーントーンを使ったイラストをスキャナで読み込む際,しばしば余分なモアレパターンが生じる.これを軽減する簡単な方法を試してみた.単に対応する周波数成分だけを遮断するというもので,画像に含まれる周期的パターンを軽減する基本的手法として古くから伝わる(例えばRosenfeld A and Kak AC (1976) Digital Picture Processing).感度が揃っていない線検出器を走査して得た衛星画像から線状パターンを除く例をどこかで見た覚えがある.
b0095474_23291482.jpg

左上: 元画像の一部.全体に格子状のモアレがみられる.右上: 元画像を二次元フーリエ変換して得たパワースペクトル表現.中心が直流成分.4隅にモアレ由来のピークがある.右下: モアレ由来のピーク付近を0に置き換えたもの.左下: フーリエ逆変換で得た画像.モアレが抑えられている.
[PR]
by edogawadai_bio | 2006-08-28 23:56 | img
画像関係メモ
http://graphics.stanford.edu/papers/lfmicroscope/
Light Field Microscopy.マイクロレンズアレイを顕微鏡に追加し,1枚の画像からXYZデータを得る.

http://research.microsoft.com/vision/cambridge/pub.htm
C. Rother, V. Kolmogorov and A. Blake. Interactive Foreground Extraction using Iterated Graph Cuts. ACM Transactions on Graphics (SIGGRAPH'04), 2004
カラー写真の領域抽出

http://www.shellandslate.com/fastmedian.html
O(log フィルタ半径)な速いmedian filterとbilateral filter.

http://www.cfar.umd.edu/~aagrawal/sig06/sig06.html
Coded Exposure Photography.幾つかの露光時間で動くものを連続撮影してデコンボリューション.連続露光と違いill-posedではないらしい.

http://www.cs.rice.edu/~sschaefe/research/contourpaper.pdf
Convex Contouring of Volumetric Data.ボリュームデータからのisosurface抽出.Marching Cubeと同じくらいの速度で,穴が開かない.
[PR]
by edogawadai_bio | 2006-08-22 00:30 | img