<   2007年 04月 ( 9 )   > この月の画像一覧
広域顕微鏡
「広域顕微鏡」という見慣れない言葉を目にした.wide-field microscopyを訳したものと思われる.今日現在,Googleで1件もヒットしないので"新訳"のようだ.「広域蛍光顕微鏡」もヒットなしだった.調べてみると,接眼レンズや望遠鏡ではwide-fieldを「広視野」と訳しているようだ.bright-fieldが「明視野」,dark-fieldが「暗視野」なので対応はとれている.near-fieldは「近接場」と書かれることが多いが,光学用語では「近視野」とも書き,far-fieldは「遠視野」らしい.

そもそも共焦点顕微鏡(confocal microscopy)と比較する文脈において従来の蛍光顕微鏡がwide-field [fluorescence] microscopyと書かれていることが多いが,実はwide-field microscopyの定義や,何をもって"wide-field"なのかについてきちんと理解できていない.走査型顕微鏡のように点走査や線走査でなく視野を平面として一度に撮るからwideなのか,PSFがZ方向にwide(つまりボケる)なのか,それとも他に語源があるのか?

直接関係ないが,light field microscopyというのが面白い.
http://graphics.stanford.edu/papers/lfmicroscope/
マイクロレンズアレイを光路に入れ,フォーカスを動かさない一度の撮影で得られる画像から連続光学切片を抽出するようだ.デモ用ビデオを見ると感覚的にはわかったような気になる.ビデオの結びで「この立体データは一枚の写真から再構築した」と強調しているのがかっこいい.ただしざっと見た限りでは細胞内構造レベルの強拡大像についても利用できるのかわからなかった.
[PR]
by edogawadai_bio | 2007-04-27 21:31 | img
Standard ML
ML(MetaLanguage)で遊び始めた.以前少しだけ触ったOCamlではなく,何となくStandard MLにしてみた.普及の度合いが違うのか,単にキーワードの問題か,OCamlに比べてwebで情報が見つけにくい.

Standard ML of New Jersey (SML/NJ)
http://www.smlnj.org/
基本的にこれをledit経由で使っている.

mlton
http://mlton.org/
ネイティブコンパイラ.The Computer Language Benchmarks Game(http://shootout.alioth.debian.org/)で好成績をあげている.とくにオプションを与えなくても最適化の度合いが高い.

SML#
http://www.pllab.riec.tohoku.ac.jp/smlsharp/ja/
国産.来年にはネイティブコードを吐くようになる予定らしい.口頭発表の資料が楽しい.

Comparing Objective Caml and Standard ML
http://www.cs.berkeley.edu/~adamc/mlcomp/
"practical" languageと"pure" languageを示すアイコンが面白い.

Standard ML and Objective Caml, Side by Side
http://www.ps.uni-sb.de/~rossberg/SMLvsOcaml.html

[PR]
by edogawadai_bio | 2007-04-24 00:45 | comp
Mercurial
Mercurialというリビジョン管理ツールの存在を知った.Pythonで書かれている,マスターやブランチという主従の概念がない(システム上は対等),データベース(とくにRDBMSとか)やwebサーバの類に依存しない,などが気に入ったので,自分一人で取り組んでいるプログラムで試用を始めた.

コマンド名がhgなのがちょっと面白い.
しかしながら,公式ページのURLはなぜか「セレン」だ(たまたまかもしれない).
http://www.selenic.com/mercurial/wiki/index.cgi

公式ページのwikiには日本語チュートリアルもある.
http://www.selenic.com/mercurial/wiki/index.cgi/JapaneseTutorial

これまで個人用途でRCSやCVSを試したことがあったものの,面倒になり手動でディレクトリごとコピーするという原始的な方法に戻ってきていたし,また,共同開発でsubversionが使われている場合もどうもしっくりこなかった.性格的なものかと思う.Mercurialの場合,ファイルの日付がhg cloneで変わってしまうのが嫌だが,とりあえず使い続けてみる.シンボリックリンクに対応してない(?)というのも,具体的に調べてないが気にかかっている.

Mercurial以外の"分散型SCM"として,Haskellで書かれているというdarcsもファンが多そうだった.
darcs: http://darcs.net/
[PR]
by edogawadai_bio | 2007-04-16 05:17 | comp
SVI-wiki, Nyquist Calculator
ImageJ mailing listにて
SVI-wiki on 3D microscopy, deconvolution, visualization and analysis
http://support.svi.nl/wiki/
が紹介されていた.

生物系顕微鏡画像処理,例えば最尤推定によるデコンボリューション法などを行なうHuygensという有償ソフトウェア(6000$くらい? 国内代理店もある)の宣伝用wikiだが,蛍光ビーズを用いた点分布関数(PSF)の測定,顕微鏡の種類と解像度,デコンボリューションの説明などがわかりやすく書かれている.トラブルシューティングなどの細かな話は製品を購入しサポート契約した人しかアクセスできない.

中でもNyquist Calculatorが面白い.顕微鏡の種類(widefield, confocal, Nipkow, 4pi)と開口数,励起光波長,蛍光波長,ピンホール径,屈折率などのパラメタを入力すると,理論的PSFとNyquist critical sampling distance(光学的分解能から定まるサンプリング間隔の限界.それ以上細かく撮ってもあまり意味がなくなるとされる)が求められる.レンズ-スライドガラス間の屈折率と培地の屈折率がそれぞれ入力できるようになっていて,Refractive Index-MismatchによるPSFの歪みも予想できる.

Nyquist CalculatorではNipkow Disk Microscope(横河CSUシリーズなどの「スピニングディスク」「ニポウ板」を使った共焦点)は,従来の共焦点顕微鏡と異なるモデルで扱われるようだ.ピンホール径(pinhole radius)だけでなく,ピンホール間の距離(pinhole distance)がパラメタとして追加される.実際,Nipkow板式であるCSU10を使って得た細胞像は,細胞の概形くらいの低周波数成分(従来の共焦点像では見られない)を含んでおり,また,PSFを測定すると隣接するピンホールの影響が明らかである.

また,どれくらいユーザーがいるのかわからないが,4Pi顕微鏡にも対応していて独特のPSF形状が算出される.
[PR]
by edogawadai_bio | 2007-04-11 01:51 | img
バリケード
研究室の計算機室にパーティションを設置しようと考える.
http://direct.sanwa.co.jp/contents/sp/partition/index.html
http://www.verysoho.com/verysoho/item/detail/0000124.html

結局,ホワイトボードとダンボールで代用する.
[PR]
by edogawadai_bio | 2007-04-06 07:56 | comp
ImageJとPIL間のTIFFファイルの互換性
ImageJとPIL間のTIFFファイルの互換性を調べる.

ImageJはTIFFファイルの保存を io/TiffEncoder.java で行なう.
ImageJ 1.38dにおいては,常にbig-endian("MM")であり,データ領域の開始は
0x300(768)bytesである(ただしこれはTIFF仕様で定まっているわけではない).

>>> Image.open("bilevel-stk.tif").mode => "L" # 0|255 (but stored as 8bits)
>>> Image.open("byte-stk.tif").mode => "L" # 8bits unsigned int
>>> Image.open("color256-stk.tif").mode => "P" # 8bits indexed-color

これらは,いずれもgetpixel((x,y))で0〜255の値を返す.

16bits unsigned intの画像については,
mode => "I;16"
となるが,getpixel((x,y))では正しい輝度が得られない.byte orderを逆にするとImageJでの値と同じ値になる.PILがbig-endianの16bits/pixelをlittle endianだとして扱ってしまうようだ.
[PR]
by edogawadai_bio | 2007-04-06 07:48 | img
PILでファイルが自動的に書きかわる?
PIL(Python Image Library)のImage.open()により得たImageオブジェクトimgをimg.putpixel()やimg.fromstring()で変更した場合,img.save()をしていなくても,メモリ上のインスタンスだけでなくファイル自体が書きかわってしまうという現象に遭った.このときファイル修正時刻は更新されない.PILがmemory mappingによるファイルアクセスをしていることに関係があるかもしれない.
PILの仕様なのか特定バージョン(1.1.5)のバグなのかは不明.

なお,
img = Image.open(FILENAME, "r")
のようにreadonlyフラグを付けておいても同様である.
ただしファイルへの書き込みアクセス権が無い場合には起きない.

img.copy()により複製しておくことで回避する.ただし,sequeuceファイル(ImageJでstack画像をTIFFで保存した場合に得られる)の場合,current frameしかimg.copy()では複製してくれない.
[PR]
by edogawadai_bio | 2007-04-06 07:46 | img
memo
Journal

Computer Methods & Programs in Biomedicine
http://intl.elsevierhealth.com/journals/cmpb/

Source Code for Biology and Medicine
http://www.scfbm.org/home/

Image Processing Libraries

OpenCV (http://sourceforge.net/projects/opencvlibrary/)
Gimp (http://www.gimp.org)
Vigra (http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/)
Vips (http://www.vips.ecs.soton.ac.uk/)
VXL (http://vxl.sourceforge.net/)
CImg (http://cimg.sourceforge.net/)
Gegl (http://www.gegl.org/, http://pippin.gimp.org/gegl/)
ImageMagick/GraphicsMagick (http://imagemagick.org/, http://www.graphicsmagick.org/)
GIL (http://opensource.adobe.com/gil/)
CxImage (http://www.codeproject.com/bitmap/cximage.asp)
FreeImage (http://freeimage.sourceforge.net/)

Application

EDTIPS: 医用画像に特化したWindows用2D/3Dレンダラ
http://www.cc.nih.gov/drd/etdips.html

Sarensix.ビデオ画像からの超解像ツール.有償.
http://www.pyramidvision.com/products/sarensix/index.asp

ImageJ Plugins

Extended Depth of Field
XYZデータからの合焦点像作成.立体物の明視野観察で利用することが多いようだ.蛍光像ではもっと簡単な最大輝度投影や平均輝度投影が一般的だが,本手法を使ってみると思わぬ効果が得られるかもしれない.
http://bigwww.epfl.ch/demo/edf/
Forster et al. (2004) Microsc Res Tech 65: 33-42.

active contour
LiveWire
http://ivussnakes.sourceforge.net/

deconvolution plugins
DeconvolutionJ from Nick Linnenbrügger (last update 2002)
IterativeDeconvolve3D from Bob Dougherty at Optinav (last update 2005,)
3D Deconvolution by Pierre Besson at BIG

Bio-Formats.顕微鏡関連各種画像フォーマット用Javaライブラリ
http://www.loci.wisc.edu/ome/formats.html

MTrackJ.Manual Object Tracking
http://www.imagescience.org/meijering/software/mtrackj/

Key words
Circular Statistics
非線形最小自乗法のLevenberg-Marquardt法

Others

Graphviz - Graph Visualization Software
http://www.graphviz.org/Gallery.php

Ludl社製コントローラのソフトウェア制御のための通信仕様書等
http://www.ludl.com/StartSupport.html

EastRGB.各種色空間相互の変換式/変換コード
http://www.easyrgb.com/math.php

SDLdoc 日本語翻訳プロジェクト
http://zinnia.dyndns.org/~cvsweb/sdldoc-jp/

Pygame入門
http://www.halb-katze.jp/pygt/index.html

初心者のためのpygameガイド(邦訳)
http://www.unixuser.org/~euske/doc/pygame/newbieguide-j.html

画像特徴点の提案と,それに基づくパノラマ写真の合成
SIFT (Scale Invariant Feature Transform) Keypoint Detector
http://www.cs.ubc.ca/~lowe/keypoints/
http://www.cs.ubc.ca/~mbrown/panorama/panorama.html

コーナー検出のための各種画像特徴点
http://en.wikipedia.org/wiki/Corner_detection

Open Source Web Design (XHTMLとCSS)
http://www.oswd.org/

2値ラスター画像のベクター化
http://potrace.sourceforge.net/

ベイズウィキ
http://hawaii.aist-nara.ac.jp/~shige-o/pukiwiki/index.php?FrontPage

Octave
http://www.al.cs.kobe-u.ac.jp/~inamoto/unix-tools/useful/octave/
http://www.rbt.his.fukui-u.ac.jp/~naniwa/pub/octave.html
[PR]
by edogawadai_bio | 2007-04-06 07:29 | img
MoinMoin
個人的なメモ用にwikiを始めてみる.これまでwikiを編集したこともないので,どのwikiクローンを使おうか選ぼうにも違いがよくわからない.日本語のサイトでよく使われているwikiクローンとしては,FreeStyleWiki(perl),PukiWiki(PHP),Hiki(ruby)などがあるようだが,Pythonが好きなのでMoinMoinにした.PloneのようなCMSの類を使うことも考えたが,どうも汎用的・統一的なwebアプリには砂上の楼閣のような危うさを感じ,気が引ける.そもそもメモ書き程度には不釣合いなのかもしれないが….

日本語の情報は少ない.

MoinMoin付属のヘルプ文書の邦訳
http://lowlife.jp/cgi-bin/moin.cgi/HelpForBeginners

MoinMoinの紹介
http://sakito.jp/moin/moin.cgi

Plamo上でのMoinMoinの設置
http://ww2.friction.ddo.jp/~masatsu/mt/archives/2005/03/moinmoin.html

MoinMoinのインストール
http://fleur.hio.jp/wiki/wiki.cgi?page=%B3%C6%BC%EFWiki%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#p3

E-Cellプロジェクトの頁はMoinMoinからPloneに移行したみたいだ.
[PR]
by edogawadai_bio | 2007-04-06 07:28 | comp