More Related Content
Similar to ImageJプラグインの作成:序論 (20)
ImageJプラグインの作成:序論
- 2. 生物画像解析の特性
多次元(時間,立体,波長…)
データサイズ・枚数(n)
濃度・電位運動
t, z, l
位置・局在
100 ms/枚数・形・長さ
1024*1024 pixel/枚
12 bits/pixel
→ 4 GiBytes / 5 分
自動化・計算機支援に向く
多様性(生物種,部位,観察法,縮尺…)
多目的性(何に着目するか)
研究者(人間)の柔軟性が不可欠
AI?? パターン認識?? 機械学習?? データマイニング??
・多様な画像と目的をカバーできる適応性・汎用性
・数値化による客観性,自動化による高速性
- 3. 画像処理・画像解析のソフトウェアツールと要件
ImageJ (Fiji), NIH Image, Scion Image
Photoshop, GIMP
MetaMorph
OpenCV, MIL, HALCON, MIST
VTK
採用されている画像や処理のモデル
Amira
拡張性, 可搬性, 操作系(REPL, GUI)
MATLAB, Octave
フリーソフトウェア,オープンソース
Mathematica
ユーザや情報の質と量
ImageMagick
開発状況
速度や記憶量.スケールするか…
CImg
Python Imaging Library (PIL)
R
:
- 4. ImageJ
Java .オープンソース.生物学分野で多用される.
拡張性:
* 独自仕様のマクロ
* JVM用言語によるプラグイン
* JavaプラットフォームでのAPI
可搬性・速度・スケール性:
* Java に準ずる.
画像のモデルがバイオ向き
* 画素についてu8, u16, float ...
* Z軸,時間軸でのスタック化
(3次元以上の高次元画像)
上記画像はhttp://ome.grc.nia.nih.gov/iicbu2008/ (IICBUデータベース) より取得.
- 5. 生物画像解析
ImageJ
MATLAB
プラットフォーム,ユーザ数と種類,
使い勝手,拡張性…
pluginやmacroを書く
Scala
OpenCV
…
GIMP Photoshop
何も書かない
誰かに書かせる
Jython Clojure
Java
(Python)
(Lisp)
JavaScript
Jruby
(Ruby)
R
…
…
macro
数あるJVM 言語から選択可能
* インタプリタor コンパイラ
* 動的型付けor 静的型付け
目的,スキル,
興味・関心,効率
趣味,開発効率,速度,
保守性,ユーザ数と種類,
情報の多さ
Groovy
- 9. Control - R でコンパイル& 実行
メニューFile - Compile & Run でも可.
ファイルに保存してない場合は,まず保存させられる.
* ImageJ/plugins/ の中に保存すること.
* ファイル名にアンダーバーを含むこと.
コンパイルエラーがあれば,以下のように示される.
- 11. なぜImageJ プラグインを書くのか
長所:
* 本質的部分のみに注力できる.入出力や表示など
「足回り」はImageJ そのものを使えばよい.
* 生物系の顧客への対応がしやすい.
* ImageJ API が利用可能.
短所:
* C ではないので有用なライブラリを使うのが手間.
その他:
* ImageJ 本体の約半分がプラグインである.
* 良くも悪くもJVM 上で動く.
* 誰のためのソフトウェアか?
- 12. なぜScala で書くのか
長所:
* コードがJava やC/C++ に比べ簡潔になる.
* Java と同じくらいの実行速度を得られる.
短所:
* 統合開発環境などで弱い.
* 発展中である. “今は時期が悪い”?
* 構文糖多め.
その他:
* JVM 言語である(かつて.NET 対応もあったが…).
* 誰のための言語か?
- 13. The RedMonk Programming Language Rankings: 2014年1月
http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/
GitHub でのスコア(Project 数から)
Stack Overflow でのスコア(タグ数から)
- 14. The RedMonk Programming Language Rankings: 2014年1月
http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/
GitHub でのスコア(Project 数から)
Stack Overflow でのスコア(タグ数から)