Caution
プログラムは厳密にいうとシアノバクテリアの個体数ではなく,クロロフィルにある色素の赤色蛍光を測ったものです.
- 手動で赤色蛍光の画像内にあるゾウリムシ1個体の細胞壁内側に内接する最も大きい四角形をとる(これによりゾウリムシ1個体の面積を近似したものとする.)
- その部分を切り取りpng画像で保存する(png画像で保存する際に切り取った周り部分が透過するようにする)
- この手動切り取り作業を全ての画像において行う(1枚の画像に複数個体いる場合はそれら全てにおいて切り取り作業を行う)
- ゾウリムシ1個体を近似している切り取った四角形のピクセルRGBチャンネルよりRの値をグレースケールで取得する(これにより赤色蛍光の強さを反映,OpenCVを利用)
- 画像全体で10x10 pxの四角形をランダムにとる(この時にpng画像で透過している部分はグレースケール値が0になるため,それを含む10x10 pxは解析対象に入れない.そうすることで切り取ったゾウリムシ1個体を反映する部分のみで赤色蛍光の解析が可能である.)
- 5を100回繰り返す
- 取得された100個の10x10 px中にあるピクセル1つずつのグレースケール値(1-255)をそのまま赤色蛍光の強弱として,平均値を算出する
- 4-7の作業を特定の株の特定のシアノバクテリア濃度において,全ての画像(つまり全てのゾウリムシ個体)で行う
- 8で得た全ての画像の平均値の平均値をさらに出す
- 7で求めた平均値を10x10 px(つまり10^2)で割る(これにより,その濃度においてゾウリムシ1個体内の平均赤色蛍光の密度を求める.)
- 一連の作業を全ての株,シアノバクテリア濃度において行う
- 取得したデータをcsvファイルとして出力する
- 各自のソフトウェアで必要なグラフ等を作成する(グラフの例とプロットに使用したRのコード)
追記: 4-8を行う実際のプログラムはこちら
参考: 1の切り取り作業の例(作業はFigmaを使用した)
- Pythonのインストールはご自分で, Macならデフォルトで入ってるはず, バージョンが古いかもだけど
- このレポジトリを clone
- Python仮想環境がある (PCのglobal環境に直接パッケージとかインストールしてもいいなら必要ない)
- 仮想環境の構築方法はこちらから
- 記事に載ってるrequirements.txtに関しては以下で説明
- rootディレクトリで
source bin/activate
して仮想環境を開始 (停止する時はrootディレクトリでdeactivate
) pip3 install -r requirements.txt
でパッケージたちをインストール
/codes
ディレクトリへ行くanalysis3.py
を実行する(他のコードやファイルは遺産)
追記:画像はすでに作者が切り取ったものが入っているため,任意の画像を利用する場合はディレクトリの指定を変更してください.
- 作成者: @yuyu_lab_tmu aka 木須 雄士郎
- このプロジェクトの関連・利用により発生するいかなる結果にも作成者は責任を負いません