バイオ系だけどプログラミング始めました

ImageJ (Fiji)の使い方や Python でのプログラミングなどを、主にバイオ系の研究者・大学院生向けに書いていこうと思います。

ブログの目次

このブログについて

ImageJ
ImageJ の画像解析について解説
ImageJ + Python
Python

ImageJ Fiji のメニューについて

メニュー

ImageJ のメニューは画像解析の目的ごとにまとめられています。それぞれの細かい機能の説明は他に詳しいサイトがあるのでそちらを見てください。

seesaawiki.jp

ザックリとそれぞれのメニューに何がまとめられているのかを

書いていきます

File

ファイルを開いたり保存したりする。

Edit

画像にお絵かきしたり、コピー&ペーストしたり。

Image

 画像の色、閾値、縮尺の設定など。

Process

画像の加工。フィルターをかけたりバックグラウンドの減算をしたり。

Analyze

解析ツール。analyze particle とか measure とか plot とか。

Plugins

色んな追加機能。本当に色々いっぱいある。自作のプラグインもここに表示される。

Window

画像解析してるといっぱいwindowを開くことになるので、その管理など。

Help

アップデート関係、ImageJのバージョン確認、公式サイトへのリンクなど。

EMBL

便利なリンクやサンプル画像を開いたり。

 

タンパク質の進化と温度の話 [今年読んだ一番好きな論文2017]

今年読んだ一番好きな論文2017にエントリーしたので、論文紹介の記事をブログに書いてみようと思います。

adventar.org

このブログで論文紹介もしたいなあと思っていたんですけど、就活と研究で色々忙しくって書けてなかったのでこれを機にもうちょっと書きたいです。

ブログではImageJのこととかPythonのこととか書いていますが、僕の専門はタンパク質とかなので、紹介するのもタンパク質のお話になります。 さて、今回紹介したいのは、この論文です。

Evolutionary drivers of thermoadaptation in enzyme catalysis

Science 20 Jan 2017:
Vol. 355, Issue 6322, pp. 289-294
DOI: 10.1126/science.aah3717
science.sciencemag.org

進化の歴史で起きた、酵素の温度への適応進化を調べた論文です。

続きを読む

10分でできる ImageJ 自動化

目次

  • 目次
  • この記事について
  • マクロの記録と実行
  • フォルダの中の画像に対して同じ処理をする
  • 簡単に解説

この記事について

この記事では、細かい仕組みなどは脇に置いといて ImageJ での解析のついて記述します。主に ImageJ のマクロと PythonJython)で書いていきます。解析の自動化の便利さを知ってプログラミングに足を踏み入れるきっかけになれば幸いです。

解析の例として、いつもと同じで芸がないですが米粒のカウントを例にして説明します。

続きを読む

バイオ系だけどまずはプログラムを動かしてみよう

目次

この記事について

この記事では、Python のプログラムを書いて、動作させる所までを解説します。

Python の説明とインストールについてはこちらの記事を読んでください。

バイオ系だけど Python を始めよう - バイオ系だけどプログラミング始めました

本記事では、ImageJ + Jython の記事で書いたのとは少し異なる種類の Python を用います。ImageJ Fiji + Python で画像解析プログラムを書こう(前編) - バイオ系だけどプログラミング始めました 詳しくはここを参考にしてください。

本記事は、上記の二つのリンクの記事を読んで Python(Anaconda)をインストール済みで、ある程度 Python の使い方や性質を知っている前提で書いています。先にそちらを読まれることをお勧めします。

続きを読む

ImageJ Fiji + Python で画像解析プログラムを書こう(後編)

目次

  • 目次
  • 後編について
  • 8. モジュールのインポート
  • 9. 画像データを扱う imagePlus
    • 練習問題
  • 10. ImageJ の機能を活用する
  • 11. 例1. 砂嵐のような画像を作る
  • 12. 例2. 米粒のカウントを複数の 画像に対して自動で行う

後編について

さて、これまで前編と中編では Python の基本について書いてきましたが、いよいよ ImageJ の機能を使いこなして解析の自動化などに関係することを書いていこうと思います。前編と中編の記事はこちら。

satoshithermophilus.hatenablog.com

satoshithermophilus.hatenablog.com

続きを読む

ランダムな砂嵐画像を作る ImageJ + Python のプログラム

目次

  • 目次
  • ランダムな砂嵐画像を作るプログラムのコード
  • コードの解説
    • random ライブラリ
    • ByteProcessor
    • IntByteConverter
    • コードの流れ
  • 実行例
  • 追記 6/27
  • 動画ver
    • 実行例
    • 動画ver 解説

ランダムな砂嵐画像を作るプログラムのコード

ImageJ + Python のプログラミングの例として書いてみました。 解説はまた今度書きます。しかし、そこまで長くないので、分からないモジュールや機能を調べてみてどのように動いているのか理解してみたり、いろんな数字を変化させて遊んでみるといいと思います。

6/27にコードの解説を追記しました。 知識的には、ImageJ Fiji + Python で画像解析プログラムを書こう(後編) - バイオ系だけどプログラミング始めましたまでを読んでいる前提で書いています。

続きを読む

ImageJ + Python の活用例:自動米粒解析プログラム

目次

  • 目次
  • 米粒自動解析プログラムの概要
  • コード
  • 練習問題

米粒自動解析プログラムの概要

satoshithermophilus.hatenablog.com

上の記事で解説した米粒の解析を自動化した Jython script です。

  1. フォルダを選ぶダイアログを開き、

  2. フォルダ内の tif 画像をすべて読み込み上記の記事で解説したのと同様の解析をし、

  3. 米粒の数を表示して、二値化画像と米の Roi と解析結果を保存する。

というプログラムになります。

続きを読む

ImageJ Fiji + Python で画像解析プログラムを書こう(中編)

目次

  • 目次
  • 前回の記事
  • ImageJ で Python を動かそう の続き
    • 3. 文字列
      • 練習問題 1
    • 4. リスト
    • 5. 繰り返し(for)
    • 6. 条件分岐(if)
      • 練習問題2
    • 7. 関数の定義
    • まとめ
      • まとめの練習問題
    • 次の記事

前回の記事

satoshithermophilus.hatenablog.com

ImageJ で Python を動かそう の続き

前回の記事もそうですが、書いてあるプログラムを自身で打ち込んで(書き写して)実行してみることをお勧めします。結構、打ち間違ってエラーが出たりしますが、どこが間違っているかはエラーメッセージを読めばわかるようになっています。プログラムを書くというのは、機械が理解できる言語を決まった文法にしたがって記述するということになります。言ってみれば外国語を勉強してしゃべるのと同じようなもんです。そんなに気負わずに楽しくやってみてください。もしも、プログラムが動かなかったり、エラーが出たりしたらコメントなどで気軽に相談してください。

3. 文字列

Python では文字列の操作が結構簡単にできます。文字列の扱いができると色々と便利です。例えば、ある名前のファイルだけ解析するとか、実行結果を文字で出力したりとか、解析結果を保存するファイル名を工夫したりとか・・・。普通に文字列を解析することもあるかもしれません。では文字列の操作を説明します。

Python ではダブルクオーテーション""もしくはクオーテーション''で囲むことで文字を表します。Hello World! を print() で表示したときに""で囲っていたことを思い出してください。文字列は「+」で結合することができます。

text1 = "Hello"
text2 = "World!"
text3 = text1 + text2
print(text3)

f:id:shatoshi:20170614153811j:plain

続きを読む

画像データの基本

目次

  • 目次
  • そもそも画像データってなんなのさ?
  • カラー画像
  • 画像データの種類

 

そもそも画像データってなんなのさ?

 とりあえず下の絵を見てください。

f:id:shatoshi:20170609122144j:plain

左のウィンドウがお米の写真(EMBL の Sample 画像、EMBL > Samples > rice.tiff で開ける)で、右のウィンドウがお米の写真の青い枠で囲ったところを拡大したものになります。この右の拡大した図をみればわかるように、画像データは小さな四角ピクセル・pixel と言います)から成ります。

ImgeJ のメインウィンドウの下を見ると、x = 2, y = 3, Value = 118と表示されています。これは、一番左上のピクセル(0,0)から数えて右に2番目、下に3つ目のピクセル(カーソルの示す場所)の値が118であることを表しています。

続きを読む