前提 (どれか欠けていたら MICR-001 (フル版) を参照):

1プロジェクトに移動

cd "C:\Users\lunel\Projects\Programming\Python\MICrONS data"

2メッシュダウンローダーを起動

uv run python microns_DL.py

これだけ。文字化けするなら最初に $env:PYTHONIOENCODING = "utf-8" を 1 行入れる。

3対話プロンプトに答える (5 回)

聞かれること典型的な答え方
ID 入力方法1 = 手入力 / 2 = デフォルト 84 個
ID (手入力時)カンマ区切りで 864691135572530981,864691135977309763 など
LODEnter (デフォルト 3)。重いなら 45
NormalizeEnter (n = 無変換)。複数ニューロンの相対位置を保ったまま原点付近にまとめたいなら g絶対 i は選ばない (複数だと重なる)
Scale x20000?Enter (y)。Blender で扱いやすいサイズになる
Scale bars?Enter (n)。必要なら y

4出力を確認

mesh_out_precomputed2\merged_keep_layout.obj
mesh_out_precomputed2\merged_keep_layout.mtl

Blender で File → Import → Wavefront (.obj) から読み込む。

結合した錐体細胞を入力 / 出力で色分けして 3D 化

ある起点ニューロンにシナプス結合している錐体細胞だけを、入力 (青) / 起点 (黄) / 出力 (赤) に色分けして 1 つの OBJ に書き出す。3.2 億行のシナプステーブルを丸ごと取る必要はない (起点で server-side フィルタされる)。

入力 起点 出力
入力 (前シナプス) → 起点 → 出力 (後シナプス)。両方向結合は both (紫)。
uv run python microns_connect.py

または Python から起点 ID を指定して呼ぶ:

from microns_connect import get_connected_pyramidal_meshes
get_connected_pyramidal_meshes(
    864691135572530981,
    direction="both",   # "input" / "output" / "both"
    max_partners=20,
)

Blender で役割ごとにグループ分け

  1. 上で書き出した OBJ を File → Import → Wavefront (.obj) で読み込む (色は付いた状態)
  2. Scripting タブ → Openblender_organize.py を開く → Run Script
  3. Outliner に input / target / output / both コレクションができ、表示 / 非表示を個別に切り替えられる

詳細・引数・錐体細胞の判定基準は MICR-001 の 10〜11 節

おまけ: シナプス情報を取りたい

uv run python microns_DB.py

対象 ID を変えたい場合は microns_DB.py 末尾の SAMPLE_TARGET_ID を書き換える。

おまけ: テストを走らせたい

uv run python -m unittest verify_refactor -v

6 件全部 ok なら OK。

困ったら