SlideShare a Scribd company logo
1 of 19
ImageJ プラグインの作成: 序論 
2014-07-23 
朽名夏麿 
(東京大学院新領域先端生命, エルピクセル株式会社)
生物画像解析の特性 
多次元(時間,立体,波長…) 
データサイズ・枚数(n) 
濃度・電位運動 
t, z, l 
位置・局在 
100 ms/枚数・形・長さ 
1024*1024 pixel/枚 
12 bits/pixel 
→ 4 GiBytes / 5 分 
自動化・計算機支援に向く 
多様性(生物種,部位,観察法,縮尺…) 
多目的性(何に着目するか) 
研究者(人間)の柔軟性が不可欠 
AI?? パターン認識?? 機械学習?? データマイニング?? 
・多様な画像と目的をカバーできる適応性・汎用性 
・数値化による客観性,自動化による高速性
画像処理・画像解析のソフトウェアツールと要件 
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 
:
ImageJ 
Java .オープンソース.生物学分野で多用される. 
拡張性: 
* 独自仕様のマクロ 
* JVM用言語によるプラグイン 
* JavaプラットフォームでのAPI 
可搬性・速度・スケール性: 
* Java に準ずる. 
画像のモデルがバイオ向き 
* 画素についてu8, u16, float ... 
* Z軸,時間軸でのスタック化 
(3次元以上の高次元画像) 
上記画像はhttp://ome.grc.nia.nih.gov/iicbu2008/ (IICBUデータベース) より取得.
生物画像解析 
ImageJ 
MATLAB 
プラットフォーム,ユーザ数と種類, 
使い勝手,拡張性… 
pluginやmacroを書く 
Scala 
OpenCV 
… 
GIMP Photoshop 
何も書かない 
誰かに書かせる 
Jython Clojure 
Java 
(Python) 
(Lisp) 
JavaScript 
Jruby 
(Ruby) 
R 
… 
… 
macro 
数あるJVM 言語から選択可能 
* インタプリタor コンパイラ 
* 動的型付けor 静的型付け 
目的,スキル, 
興味・関心,効率 
趣味,開発効率,速度, 
保守性,ユーザ数と種類, 
情報の多さ 
Groovy
メニューPlugins - New Plugin
テキストウインドウが開く 
…メモ帳ぽい
Fiji だと行番号や色が付く 
講義等に向くかも
Control - R でコンパイル& 実行 
メニューFile - Compile & Run でも可. 
ファイルに保存してない場合は,まず保存させられる. 
* ImageJ/plugins/ の中に保存すること. 
* ファイル名にアンダーバーを含むこと. 
コンパイルエラーがあれば,以下のように示される.
hello world
なぜImageJ プラグインを書くのか 
長所: 
* 本質的部分のみに注力できる.入出力や表示など 
「足回り」はImageJ そのものを使えばよい. 
* 生物系の顧客への対応がしやすい. 
* ImageJ API が利用可能. 
短所: 
* C ではないので有用なライブラリを使うのが手間. 
その他: 
* ImageJ 本体の約半分がプラグインである. 
* 良くも悪くもJVM 上で動く. 
* 誰のためのソフトウェアか?
なぜScala で書くのか 
長所: 
* コードがJava やC/C++ に比べ簡潔になる. 
* Java と同じくらいの実行速度を得られる. 
短所: 
* 統合開発環境などで弱い. 
* 発展中である. “今は時期が悪い”? 
* 構文糖多め. 
その他: 
* JVM 言語である(かつて.NET 対応もあったが…). 
* 誰のための言語か?
The RedMonk Programming Language Rankings: 2014年1月 
http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/ 
GitHub でのスコア(Project 数から) 
Stack Overflow でのスコア(タグ数から)
The RedMonk Programming Language Rankings: 2014年1月 
http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/ 
GitHub でのスコア(Project 数から) 
Stack Overflow でのスコア(タグ数から)
ImageProcessor 
ByteProcessor 
BinaryProcessor 
ShortProcessor 
FloatProcessor 
ColorProcessor 
http://imagingbook.files.wordpress.com/2013/06/burgerburgeen20071104_ijreference_letter.pdf
「細胞工学」誌連載: ImageJ定量階梯 
(2013年12月号から全15回. 
by EMBL 三浦耕太先生,名大塚田祐基先生) 
第9回公開プラグインを用いた画像解析by 朽名 
第10回プラグイン作成について阪大の新井由之先生が執筆予定. 
JNI によるC 拡張の話とかあるかも.
エルピクセル株式会社 
生命科学研究の現場における 
画像の取得から統計解析までを支援すべく, 
東大院新領域馳澤研の出身メンバー3 名で 
2014年3月設立.
職歴が欲しい方募集! 
初心者大歓迎! 
アットホームな職場です!
LP-exam 
2014年4月16日に画像不正を検出するソフトウェアLP-exam を公開. 
7月10日にLP-exam Pro リリース. 
多くのメディアでも話題に

More Related Content

What's hot

ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
Norishige Fukushima
 

What's hot (20)

Sismulmed 04 b. image processing intro
Sismulmed 04 b. image processing introSismulmed 04 b. image processing intro
Sismulmed 04 b. image processing intro
 
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィ
 
画像解析の基礎知識
画像解析の基礎知識画像解析の基礎知識
画像解析の基礎知識
 
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transfo...
 
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
 
#詐欺グラフ
#詐欺グラフ#詐欺グラフ
#詐欺グラフ
 
ImageJを使った画像解析実習〜2値化・領域抽出〜
ImageJを使った画像解析実習〜2値化・領域抽出〜ImageJを使った画像解析実習〜2値化・領域抽出〜
ImageJを使った画像解析実習〜2値化・領域抽出〜
 
Deep Learningによる超解像の進歩
Deep Learningによる超解像の進歩Deep Learningによる超解像の進歩
Deep Learningによる超解像の進歩
 
帰納バイアスが成立する条件
帰納バイアスが成立する条件帰納バイアスが成立する条件
帰納バイアスが成立する条件
 
Semantic segmentation
Semantic segmentationSemantic segmentation
Semantic segmentation
 
CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介
 
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using UnityDeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
Extraction of region of interest in an image
Extraction of region of interest in an imageExtraction of region of interest in an image
Extraction of region of interest in an image
 
Stand alone self attention in vision models
Stand alone self attention in vision modelsStand alone self attention in vision models
Stand alone self attention in vision models
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 

Similar to ImageJプラグインの作成:序論

災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
OSgeo Japan
 

Similar to ImageJプラグインの作成:序論 (20)

(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
 
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
 
ディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみたディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみた
 
JIT Code Profiling with VTune
JIT Code Profiling with VTuneJIT Code Profiling with VTune
JIT Code Profiling with VTune
 
TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門
 
NeurIPS2018読み会@PFN a unified feature disentangler for multi domain image tran...
NeurIPS2018読み会@PFN a unified feature disentangler for multi domain image tran...NeurIPS2018読み会@PFN a unified feature disentangler for multi domain image tran...
NeurIPS2018読み会@PFN a unified feature disentangler for multi domain image tran...
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
ディープラーニングによるラーメン二郎全店舗識別と生成
ディープラーニングによるラーメン二郎全店舗識別と生成ディープラーニングによるラーメン二郎全店舗識別と生成
ディープラーニングによるラーメン二郎全店舗識別と生成
 
新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る
 
20180305_ppl2018_演繹から帰納へ~新しいシステム開発パラダイム~
20180305_ppl2018_演繹から帰納へ~新しいシステム開発パラダイム~20180305_ppl2018_演繹から帰納へ~新しいシステム開発パラダイム~
20180305_ppl2018_演繹から帰納へ~新しいシステム開発パラダイム~
 
(Ja) A unified feature disentangler for multi domain image translation and ma...
(Ja) A unified feature disentangler for multi domain image translation and ma...(Ja) A unified feature disentangler for multi domain image translation and ma...
(Ja) A unified feature disentangler for multi domain image translation and ma...
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
 
Visual slam
Visual slamVisual slam
Visual slam
 
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
 
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
 
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
 
Realsense を活用した猪鹿蝶アタック
Realsense を活用した猪鹿蝶アタックRealsense を活用した猪鹿蝶アタック
Realsense を活用した猪鹿蝶アタック
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
 

Recently uploaded

Recently uploaded (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

ImageJプラグインの作成:序論