📝

Cell segmentationモデル訓練に有用なデータセット

2024/09/30に公開

明視野の病理画像、蛍光の病理画像、蛍光の培養細胞画像などを対象に深層学習モデルを訓練するときの正解ラベル付きの画像Datasetのメモ。
実際にダウンロードして確認していないものも多数あるので、本当に有用かは保障しない。画像として汚いものやパッチサイズが小さすぎるものなどもあるので要確認。


↓↓ 明視野の病理画像 ↓↓

【 TNBC_2018 】

  • Triple Negative Breast Cancer
  • HEやIHC画像
  • 11症例、50枚の画像
  • 512*512 pxのタイル
  • 細胞の中心座標から背景までのDistance mapを使った初期の論文で使われているdataset。https://ieeexplore.ieee.org/document/8438559
  • ダウンロード先
    Zenodoにdepositあり。明視野画像と細胞のバイナリマスク画像のセット。https://zenodo.org/records/1175282#.WyP61xy-l5E
    上記のDatasetにTCGAの脳のHE画像を追加し、さらに細胞種のラベル画像、細胞インスタンスラベル画像も追加されている。Zenodo 3552674: https://zenodo.org/records/3552674

【 PanNuke 】

【 MoNuSeg 】


原著 Fig.2

  • HoVer-Netの論文のKumar datasetはこれのことっぽい。
  • ダウンロード先:
  1. EmbedSegのGitHubからreleaseページのリンクを辿ると「monuseg-2018.zip」のリンクがある。
    中身を見ると、train 30枚、test 14枚のHE画像(tif)とそれに対応したインスタンスラベル画像(tif)が得られる。
  2. Grand Challengeというサイトからも取得可能。こちらはインスタンスラベルデータがxmlファイル。 https://monuseg.grand-challenge.org/Data/

【 MoNuSAC 】

  • MoNuSegのCell instance segmentaionに加えて、細胞分類まで行うチャレンジで用意されたdataset
  • TCGAのHE画像
  • ダウンロード先: https://monusac-2020.grand-challenge.org/Data/
    明視野画像(svsとtif)とインスタンスラベル情報(xml)がダウンロードできた。

【 CoNSeP 】

https://paperswithcode.com/dataset/consep

  • Colorectal adenocarcinomaのHE画像
  • 40倍対物レンズ
  • 1000*1000 pxのタイル画像

HoVer-NetのGitHubページのリンクからアクセスすると、Warwick大学のサインインページに飛んでダウンロードできない。

【 CPM15 / CPM17 】

【 Pan-Cancer-Nuclei-Seg 】

【 EmbedSeg datasets 】

EmbedSegというセグメンテーションモデルのGitHubに、使用したdatasetの配布ページがある。明視野画像/蛍光画像とそれに対応したインスタンスラベル画像が配布されている。

https://github.com/juglab/EmbedSeg/releases/tag/v0.1.0

2D明視野画像や2D蛍光画像のみならず、3D画像や線虫の画像なども含む。

【 NuCLS (Nucleus Classification, Localization and Segmentation) 】

  • ホームページ: https://sites.google.com/view/nucls/home?authuser=0
  • TCGAのHE画像
    小さい領域のパッチ画像。
  • DatasetのホームページのSingle-rater、Multi-raterからダウンロード可能。Singleは1名のアノテーター、Multiは32名のアノテーター。Multiはアノテーターごとのデータもあったりと冗長。
  • 細胞核のセグメンテーションマスクと細胞分類ラベル

    ホームページ Data Formatページ

細胞核のマスクはバウンディングボックスのものとセグメンテーションのものがある。

https://sites.google.com/view/nucls/multi-rater?authuser=0

schemaを見る感じでの想像だが、以下のことをやっていそう。

  1. 古典的な方法で核セグメンテーション
  2. 低解像度の広視野画像で腫瘍領域や間質領域などをアノテーション
  3. 細胞核が属する領域を細胞核のラベルとして採用 ➔ これがNoisy Bootstrap??
  4. 3.のデータを訓練データとしてMaskRCNNモデルを作る
  5. モデルの予測結果をアノテーターがチェック。間違っているとセグメンテーションではなく、バウンディングボックスで修正??

【 Pan-Cancer-Nuclei-Seg 】

【 LyNSec 】

  • びまん性大細胞型リンパ腫のHE、IHC画像
    本文より「LyNSeC (lymphoma nuclear segmentation and classification) containing 73,931 annotated cell nuclei from H&E and 87,316 from IHC slides」
  • 細胞のインスタンスラベルと、細胞種のラベルがある。
  • 40x 対物レンズ
  • 512*512 pxのタイル
  • HoLy-Netというモデルの原著内で使われているDatasets。モデルはHoVerNetがベースでdropoutを追加したぐらい??
    原著 (Computers in Biology and Medicine, 2024): https://www.sciencedirect.com/science/article/pii/S0010482524000623
  • ダウンロード先
    Zenodo: https://zenodo.org/records/8065174

【 CryoNuSeg 】

【 NuInsSeg 】

【 CoNIC 】

【 HAPPY dataset 】

原著(Nature Communications, 2024): https://www.nature.com/articles/s41467-024-46986-2
GitHub: https://github.com/Nellaker-group/happy

  • 核検出、細胞分類、組織分類の一連のモデル・ワークフローを提供

  • 核検出:
    RetinaNetモデルを使用。

  • 細胞分類:
    検出された1つの細胞核を含む200*200 pxの画像をResNet-50で分類

  • 使用したdatasetの提供有り。GitHub内のリンクからGoogleドライブへ飛べる。
    https://drive.google.com/drive/folders/1RvSQOxsWyUHf_SGV1Jzqa_Gc5QI4wQoy
    この内の「datasets」フォルダに核検出用に使用した画像(1600*1200 px)と細胞分類に用いた画像(200*200 px)がある。
    核検出の正解は「annotations/nuclei」フォルダのcsvファイルが各インスタンスのbounding box座標っぽい。

【 IHC_TMA_dataset 】


↓↓ 蛍光の病理画像 ↓↓

【 TissueNet 】

  • 蛍光染色の病理画像

  • Cell segmentation modelのMesmerの訓練使用されている。
    原著(Nature Biotechnology, 2022): https://www.nature.com/articles/s41587-021-01094-0

  • ダウンロード先
    本文中のData availabilityのリンクに飛ぶとDeepCellのページへ繋がる。https://datasets.deepcell.org/
    アカウントを作ってログインするとダウンロード可能。

    ログイン後の画面

  • Datasetの中身:
    train/test/valの3つのnpzファイルがダウンロードされる。512*512 pxサイズの2 ch画像。ラベルはインスタンスラベル画像(細胞核のラベル画像と細胞のラベル画像で2 chある)。

読み込み例
import numpy as np
data = np.load("tissuenet_v1.1_train.npz", allow_pickle=True)

X = data["X"] # 顕微鏡画像
y = data["y"] # インスタンスラベル画像
meta = data["meta"] # ファイル名などの情報

【 CRC_FFPE-CODEX_CellNeighs 】

ダウンロード Step by step

IBM Aspera Connectのインストール

  1. The Cancer Imaging Archiveの上記リンクページ内の「Download」を押す。


  1. Aspera Connectが未インストールであれば案内ページが出る。「Enable high speed transfer」をクリック。


  1. ブラウザの拡張機能をダウンロード。「Install extension」を押すと、ブラウザに合わせたアドオンのインストールページが立ち上がる。そこでインストールを進める。


FireFoxの例


  1. Aspera Connectのインストール
    「Install Connect」からインストーラーをダウンロード。インストーラーを立ち上げてインストールを進める。※ 「Register Aspera Drive Shell Extension」がデフォルトで選択されているが、Windowsエクスプローラーが干渉を受けて正常に動かなくなったので、このチェックは外している。


データのダウンロード

Aspera Connectの用意が終わると自動でダウンロードページが開く。「Download all」で全て一括でダウンロードするか、各フォルダのダウンロードアイコンをクリックする。(初回はセキュリティ警告が出る。)


ダウンロード設定

ページ右上のTransfer monitorをクリック。

「Change download location」をクリック。



IBM Aspera Connectのウィンドウが立ち上げる。転送タブでダウンロード先を変更可能。

  • 正解ラベル:
    正解ラベル画像が別途用意されているわけでは無いが、ImageJで画像を開くとCell segmentationラベルがあることがわかる。画像のmetadataとして登録されているみたい。

    "Tonsil_hyperstacks\bestFocus\reg001_X01_Y01_Z04.tif"をImageJで開いた画面

【 Cross-platform dataset of multiplex fluorescent cellular object image annotations 】

Synapseからのデータ取得

Synapseからのデータ取得
  1. Synapseにログイン


  1. Access Tokenの発行
    Dashboardページの左下にアカウント設定のアイコンがある。アイコンをクリック ➔ 「Account Settings」ページを下にスクロールしていって、Personal Access Tokensの項目を探す。

    「Manage Personal Access Tokens」をクリック

    「Create New Token」をクリック
    任意のToken名、Token Permissionを設定。(Token Permissionはよくわからないがとりあえず全部チェックを入れている。)➔ 「Create Token」

    次のページでTokenが発行される。以下では一部しか表示されていないが700文字以上あった。コピーして控えておく。


  1. SynapseのAPIを取得
    Python版、R版がある。ここではPyPiで配布されているものをインストール。
pip install synapseclient openpyxl

Installing Synapse API Clients: https://help.synapse.org/docs/Installing-Synapse-API-Clients.1985249668.html


  1. アカウントの接続確認
    ここではコマンドラインから実行している。(コマンドプロンプトやAnaconda promptなどでsynapseコマンドが呼び出せるものを使用すればよい。)

synapse loginと打つと、usernamemとtokenを打ち込むように指示される。

長いtokenをコピペしてEnter。Welcomと出れば接続成功。



どうやら環境変数にSYNAPSE_AUTH_TOKENという名前でtokenを登録しておけば楽にログインできるみたい。

set SYNAPSE_AUTH_TOKEN=<tokenをここにコピペ>



5. データのダウンロード
synapse get -r データIDでインストールできる。-rオプションはダウンロード対象がフォルダの場合に必要となる。カレントディレクトリにダウンロードされる。データIDはSynapseの各Projectページで確認できる。ファイル単位にもフォルダ単位にもIDが付与されている。

https://www.synapse.org/Synapse:syn27624812/files/


Project内全て
synapse get -r syn27624812


開始画面

終了画面

Projectの各フォルダを個別に
# Vectra
synapse get -r syn50863072
# CODEX
synapse get -r syn50864867
# Zeiss
synapse get -r syn51032932

【 HESK1K 】

GitHub: https://github.com/mahmoodlab/hest
arXiv (2024): https://arxiv.org/abs/2406.16192

  • 空間トランスクリプトームデータと画像データのデータセット。
    高解像度画像、高解像度画像をパッチ化した画像、CellViTでsegmentationしたROIなどの情報(geojson)もある。
  • 1TB以上あり


GitHubより

ダウンロード手順

HEST/tutorials/1-Downloading-HEST-1k.ipynbに従ってHuggingFaceにサインインして、HEST-1kのページへ。

「Agree and access repogitory」をクリック。審査もなくアクセス可能に。


ダウンロードにはToken発行して、Pythonスクリプトでダウンロードする。右上のアカウントメニューから「Access tokens」

次のページで「Create new token」

token名を「hest」、Writeタブを選択、「Create token」をクリック。

Token発行ページ

Tokenが表示されるのでこれを控えておく。



以下Pythonで処理。

datasets、huggingface_hubをインストール。

pip install datasets
pip install huggingface_hub

HuggingFaceにログイン。

import datasets
from huggingface_hub import login

login("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")

--> ログインは何のメッセージも無し。

ダウンロード。

local_dir='./HEST1K' # hest will be dowloaded to this folder

# Note that the full dataset is around 1TB of data
dataset = datasets.load_dataset(
    'MahmoodLab/hest',
    cache_dir=local_dir,
    patterns='*'
)

こんな感じでダウンロードが進んでいった。

途中で止まってたけど、もう一度実行すると途中から再開してくれた。何度も止まりながら数日かかりでダウンロード。


↓↓ 培養細胞の蛍光顕微鏡画像 ↓↓

【 DynamicNuclearNet 】

  • 培養細胞の蛍光顕微鏡画像

  • このDatasetを使った原著: https://www.biorxiv.org/content/10.1101/803205v4.full
    Cell segmentationとlive cell imagingの論文

  • ダウンロード先
    DeepCellで提供されている。https://datasets.deepcell.org/data

  • Datasetの中身:
    train/test/valの3つのnpzファイルがダウンロードされる。512*512 pxサイズの16bitグレースケール画像。ラベルはインスタンスラベル画像。
    trainデータは4950枚あった。

import numpy as np
data = np.load("train.npz", allow_pickle=True)

X = data["X"] # 顕微鏡画像
y = data["y"] # インスタンスラベル画像
meta = data["meta"] # ファイル名などの情報

【 CellPose 】

  • CellPoseモデルの訓練に使用されたdataset。
  • ダウンロード先: https://www.cellpose.org/dataset
    利用規約に同意するとダウンロードできる。
  • 培養細胞の蛍光顕微鏡画像が主だが、電顕画像など多様な画像がある。それに対応するインスタンスラベル画像もある。
  • 画像サイズはバラバラだが大体512 px辺程度。

【 Cell Image Library 】

【 HPA Cell Image Segmentation Dataset 】

【 BioImage Archive S-BSST265 】

【 A431 】


↓↓ その他 ↓↓

【 2018 Data Science Bowl 】

- 培養細胞の蛍光顕微鏡画像や明視野の病理画像から細胞核をセグメンテーションするKaggleコンペ
- Kaggleコンペの結果をまとめた論文?
Nature Methods, 2019: https://www.nature.com/articles/s41592-019-0612-7


ダウンロード先リンクより

  • 「stage1_train.zip」に画像と細胞核マスク画像がある。細胞核マスク画像はインスタンスごとに別の画像ファイルになっている。

以下は正解ラベルとしてはCell segmentationのラベルデータは無いが、訓練/検証に使用できるかもというdataset。

【 Kather100K dataset 】

  • human colorectal cancer and healthy tissue
  • 10万枚のHE画像
  • 正解ラベル:
    Adipose (ADI), background (BACK), debris (DEB), lymphocytes (LYM), mucus (MUC), smooth muscle (MUS), normal colon mucosa (NORM), cancer-associated stroma (STR), colorectal adenocarcinoma epithelium (TUM)
  • ダウンロード先: https://zenodo.org/records/1214456

【 PatchCamelyon (PCam) 】

【 Breast Cancer Semantic Segmentation (BCSS) 】

【 BCCD 】

  • 血液塗抹標本
  • 白血球、赤血球、血小板の正解ラベル付きのバウンディングボックス

【 Kaggle Datasets 】

Blood Cells Image Dataset

https://www.kaggle.com/datasets/unclesamulus/blood-cells-image-dataset

血液塗抹標本の細胞分類に使えそう。

Blood Cells Cancer (ALL) dataset

https://www.kaggle.com/datasets/mohammadamireshraghi/blood-cell-cancer-all-4class

血液塗抹標本から悪性リンパ腫細胞を見つける。

Blood Cell Segmentation Dataset

  • Segmentation maskあり。
  • 個々の細胞のマスクが分離しているのでインスタンスラベルへ簡単に変換可能

https://www.kaggle.com/datasets/jeetblahiri/bccd-dataset-with-mask

Discussion