カテゴリ:img( 48 )
7階スピニングディスク CLSM についてメモ
7階スピニングディスク CLSM についてメモ

20倍
FWHM of Z: 5.5
FWHM of XY: 1.29
FWHM aspect(Z/XY): 4.26
pixel size: 0.322

40倍
FWHM of Z: 3.5
FWHM of XY: 0.81
FWHM aspect(Z/XY): 4.32
pixel size: 0.161

60倍 (air)
FWHM of Z: 3.0
FWHM of XY: 0.54
FWHM aspect(Z/XY): 5.56
pixel size: 0.107

60倍 (oil)
FWHM of Z: 0.7
FWHM of XY: 0.43
FWHM aspect(Z/XY): 1.63
pixel size: 0.107

100倍 (oil)
FWHM of Z: 1.1
FWHM of XY: 0.32
FWHM aspect(Z/XY): 3.44
pixel size: 0.064
[PR]
by edogawadai_bio | 2007-08-23 07:08 | img
Linux環境でのImageJのバージョンアップ
数ヶ月ぶりにImageJのバージョンアップをした(1.38d→1.38t).

ZIPファイルの入手~展開

http://rsb.info.nih.gov/ij/download/src/ に最新版のソースファイルがZIP形式でおいてある.
http://rsb.info.nih.gov/ij/download.html
からは安定版(1.37)がダウンロードできるが,上記に比べて古い(現在のところ2006年秋のリリース).

% cd opt/ImageJ
% wget http://rsb.info.nih.gov/ij/download/src/ij138t-src.zip

以前のバージョンのファイルを退避する.
% mv api api_backup
% mv ij.jar ij.jar_backup

展開する.
% unzip ij138t-src.zip
% mv source src-138t
% cd src-138t

ソースの整形

ImageJ用プラグインを作成する際には,ImageJのAPIを使う必要がある. ImageJのAPIドキュメントはjavadocで生成できるが,その記述は十分ではない.その場合にはソース自体を参照する必要があるが,インデントや改行コードがまちまちであり, 読みづらいので統一する.

余分なファイルが入っていることがあるので,javaソースファイル以外を列挙し,必要に応じて削除する.

ファイル名を眺める.
% find ij -type f | grep -v "\.java"
% find -type f | grep -v "\.java"

余計なファイルを消す.
% rm .FBCIndex
% rm -rf .FBCLockFolder
% rm .gdb_history

改行コードをLF(0x0a)に統一する.
% find ij -type f | xargs ~/bin/2jis.pl

ImageJには改行なしの"}"で終わっているソースファイルが60くらいある.文法的に間違いではないようだが,astyleによる整形時に問題になる(astyle 側のバグ? "}"が一つ多く出力されてしまう).そのため,前もってファイル末尾が改行で終わるように書換える.tail_ret.pyはそのためのスクリプト.

% find ij -type f | xargs ~/bin/tail_ret.py

astyleでソースファイルを整形.
% find ij -type f | xargs astyle -j --style=java -p -s

もとのファイルがfoo.java.origなどとなっているので消す.
% find ij -type f -path '*\.java\.orig' | xargs rm

コンパイル

(あれば)パッチをあてる.

% patch ij/plugin/AboutBox.java ~/aboutbox.patch

コンパイルし,ij.jarを作る. ただし開発環境であるLinuxでの実行はij.jarではなくbuildを直接使うようにする. IJ_Props.txtのカスタマイズを容易にするため.

% ant build

About画面のカスタマイズ.動作には不要.
% cp ~/about_image.jpg build/about_add.jpg
% ant build

APIドキュメントを../apiに作る.
% ant javadocs

環境設定

build/IJ_Props.txt

ij/Prefs.javaで読み込む.ij.jarにクラスファイルを格納して実行する様式の場合,ij.jar内に入ってしまうので編集が面倒になる.
メインメニュー・ポップアップメニューの全構成を管理する.例えばpopupの最後に popup13=Save などと追加することで画像の右クリックメニューからファイル保存可能になる.
ショートカットキーの一部を管理する.メニュー項目を直接起動することによる.例えば lookup04="Fire"... を lookup04="Fire[L]"... に変更すると,Lキー押下で起動する.

IJ_Prefs.txt

ij/Prefs.javaで読み込む.Windowsの場合,ImageJのインストールディレクトリ(C:\Program Files\ImageJ\等)に存在する.MacOS Xの場合,/home/ユーザ/Library/Preferences/ に存在するらしいが,未確認.Linux場合,/home/ユーザ/ に存在する.
ImageJの終了時に更新されるため,編集する際にはImageJを終了させておくとよい.
ショートカットキーの一部を管理する.メニューPlugins-Shortcutsから追加・削除できるものと同じ.IJ_Props.txtのショートカットキーと重複する場合は無効となる.
最近開いたファイルの一覧や,ImageJのメニューから設定可能な項目を管理する.
プラグインからも,Prefsオブジェクトを用いることで各種パラメタをIJ_Prefs.txtに管理させることができる.

変更点

http://rsb.info.nih.gov/ij/notes.htmlにまとめられている.

開発していて気づいた変更点として,ver. 1.38rでのGaussianBlur.javaの大幅改訂がある.publicメソッドの一部も変更されているため,同ファイルを利用するプラグインについても対応が必要.カーネルサイズが大きい場合,多重解像度を用いて高速に処理するようになった(ソースファイルをざっと読んだ限りでは).それにともない,パラメタが「カーネル幅(画素単位)」から「正規分布の分散」に変更された.従来のパラメタの1/2.5くらいの数値を用いると同等の結果になるらしい.つまり以前 25だったら,新版では10とのこと.
[PR]
by edogawadai_bio | 2007-06-08 23:41 | img
広域顕微鏡
「広域顕微鏡」という見慣れない言葉を目にした.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
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
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
ImageJ開発本
ドイツ語のImageJ開発本 Digitale Bildverarbeitung Eine Einführung mit Java und ImageJ
http://www.imagingbook.com/index.php?id=14
英訳がAmazonで予約可能になっていた.
http://www.amazon.com/Digital-Image-Processing-Wilhelm-Burger/dp/1846283795
来年3月出版予定(少なくとも1年くらい延びている).Amazon側でのタイトルはDigital Image Processing in Javaとのことで,"and ImageJ"が抜けている.
[PR]
by edogawadai_bio | 2006-12-21 02:30 | img
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