本家様 https://teamtomo.org/membrain-seg/
github https://github.com/teamtomo/membrain-seg
Membrain-Seg is a Python project developed by teamtomo for membrane segmentation in 3D for cryo-electron tomography (cryo-ET).
This tool aims to provide researchers with an efficient and reliable method for segmenting membranes in 3D microscopic images.
Membrain-Seg is currently under early development, so we may make breaking changes between releases.
Membrain-Segはteamtomoによって開発されたPythonプロジェクトで、低温電子トモグラフィー(cryo-ET)のための3Dでの膜セグメンテーションのためのものです。
このツールは、3D顕微鏡画像の膜をセグメンテーションするための効率的で信頼性の高い方法を研究者に提供することを目的としています。
Membrain-Segは現在開発初期段階にあり、リリースとリリースの間に変更を加える可能性があります。
構築はここでいつもやっている方法で. pyenv/anacondaを敷いてその上にconda仮想環境を作ってみる
構築環境はこんな感じ
[root@rockylinux8 ~]# cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
[root@rockylinux8 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 550.107.02 Wed Jul 24 23:53:00 UTC 2024
GCC version: gcc version 8.5.0 20210514 (Red Hat 8.5.0-22) (GCC)
[root@rockylinux8 ~]# nvidia-smi -L
GPU 0: NVIDIA GeForce GTX 1070 (UUID: GPU-a49de51b-de1e-52f3-1e3f-ce704e159713)
[root@rockylinux8 ~]#
っでpyenv/anacondaを敷く(既に敷いているなら不要)
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install anaconda3-2024.10-1
っで構築
[root@rockylinux8 ~]# source /apps/pyenv/versions/anaconda3-2024.10-1/etc/profile.d/conda.sh
[root@rockylinux8 ~]# conda create --name membrain-seg python=3.9 -y
[root@rockylinux8 ~]# conda activate membrain-seg
(membrain-seg) [root@rockylinux8 ~]#
(membrain-seg) [root@rockylinux8 ~]# pip install membrain-seg
何が入ったかは「conda list」で確認
(membrain-seg) [root@rockylinux8 ~]# conda list
:
membrain-seg 0.0.5 pypi_0 pypi
monai 1.4.0 pypi_0 pypi
:
mrcfile 1.5.3 pypi_0 pypi
:
numpy 1.26.4 pypi_0 pypi
nvidia-cublas-cu12 12.4.5.8 pypi_0 pypi
nvidia-cuda-cupti-cu12 12.4.127 pypi_0 pypi
nvidia-cuda-nvrtc-cu12 12.4.127 pypi_0 pypi
nvidia-cuda-runtime-cu12 12.4.127 pypi_0 pypi
nvidia-cudnn-cu12 9.1.0.70 pypi_0 pypi
nvidia-cufft-cu12 11.2.1.3 pypi_0 pypi
nvidia-curand-cu12 10.3.5.147 pypi_0 pypi
nvidia-cusolver-cu12 11.6.1.9 pypi_0 pypi
nvidia-cusparse-cu12 12.3.1.170 pypi_0 pypi
nvidia-nccl-cu12 2.21.5 pypi_0 pypi
nvidia-nvjitlink-cu12 12.4.127 pypi_0 pypi
nvidia-nvtx-cu12 12.4.127 pypi_0 pypi
:
python 3.9.20 he870216_1
:
torch 2.5.1 pypi_0 pypi
:
(membrain-seg) [root@rockylinux8 ~]#
torchが入っているのでGPUが正しく認識しているかテスト
(membrain-seg) [root@rockylinux8 ~]# which python
/apps/pyenv/versions/anaconda3-2024.10-1/envs/membrain-seg/bin/python
(membrain-seg) [root@rockylinux8 ~]# python
Python 3.9.20 (main, Oct 3 2024, 07:27:41)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
True
>>> print(torch.cuda.get_device_name())
NVIDIA GeForce GTX 1070
>>> quit();
(membrain-seg) [root@rockylinux8 ~]#
大丈夫っぽい
本家様からは「membrain」コマンドを叩いて確認してとあるので
(membrain-seg) [root@rockylinux8 ~]# which membrain
/apps/pyenv/versions/anaconda3-2024.10-1/envs/membrain-seg/bin/membrain
(membrain-seg) [root@rockylinux8 ~]# membrain
Usage: membrain [OPTIONS] COMMAND [ARGS]...
MemBrain-seg's training / prediction module.
You can choose between the different options listed below.
To see the help for a specific command, run:
membrain <command> --help
-------
Example:
-------
membrain segment --tomogram-path <path-to-your-tomo>
--ckpt-path <path-to-your-model>
-------
lq Options qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x --help Show this message and exit. x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lq Commands qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x segment Segment tomograms using a trained model. x
x components Compute connected components of your segmented tomogram. x
x thresholds Process the provided scoremap using given thresholds. x
x skeletonize Perform skeletonization on labeled tomograms using nonmax-suppression technique. x
x train Initiates the MemBrain training routine. x
x train_advanced Initiates the MemBrain training routine with more advanced options. x
x data_structure_help Display information about the training data directory structure. x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
(membrain-seg) [root@rockylinux8 ~]#
とこちらも大丈夫みたい
っでEnvironmentModules
「/apps/modulefiles/membrain-seg」を下記のようにします
#%Module1.0
set root /apps/pyenv/versions/anaconda3-2024.10-1/envs/membrain-seg
prepend-path PATH $root/bin
ドキュメントの「Step 4: Download pre-trained segmentation model (optional)」です。
こちらはgoogleドライブで提供しているようで、ブラウザ越しで取得してください
取得されるファイルは「MemBrain_seg_v10_alpha.ckpt」(695MB)でした
現行は v10 ですが、以前のv9 も落とせるみたい.