ギガピクセル画像とスライド全体画像のアノテーションツールの比較
スライド全体の病理スキャンと、大きな航空画像や IIIF 画像のための 8 つのツールを、スライド形式、ライセンス、一枚のスライドに対する複数アノテーターのサポートで比較します。
QuPath と ASAP は、スライド全体の病理スキャンを一人で輪郭描画し解析するための無料のデスクトッププログラムです。Cytomine と Digital Slide Archive は、研究室のスライドを一つのサーバーで管理する無料のウェブプラットフォームで、V7 は見積り価格のホスト型プラットフォームです。Potato は、複数のアノテーターが同じスライドや大きなモザイクの輪郭を描く調査のための、無料のセルフホスト型の代替手段です。Potato はブラウザー上でスライドをタイルごとに開き、QuPath GeoJSON と ASAP XML をインポートおよびエクスポートし、ボックスとポリゴンについて偶然補正済みのアノテーター間一致度を報告します。
ギガピクセル画像は約 10 億ピクセルあり、ブラウザーはそのサイズの画像を一枚の画像として開けません。そのためビューアーは、代わりに画像ピラミッドを使います。画像ピラミッドは、解像度を半分ずつにした画像のコピーを保存し、各コピーを小さなタイルに切り分けます。ビューアーは、現在の倍率で画面に表示されているタイルだけを取得します。スライド全体画像は、スキャンされた顕微鏡スライドをそのようなピラミッドとして保存したもので、Aperio の .svs、Hamamatsu の .ndpi、3DHISTECH の .mrxs といったベンダー形式があります(デジタル病理学を参照)。International Image Interoperability Framework(IIIF)は、図書館やアーカイブがそのような画像を提供し、画像の並びを記述するためのウェブ API を定義しています。
以下の比較は、病理スライドから航空モザイク、IIIF コレクションまで、一つのファイルとしては開けないほど大きな画像をアノテーションするためのツールを扱います。Deep Zoom によるギガピクセル画像のアノテーションは、Potato のビューアーとすべてのオプションを説明します。医用画像と臨床テキストのアノテーションツールの比較は CT と MR のボリュームと臨床ノートを扱い、画像アノテーションツールの比較は通常の写真と点群を扱います。
比較する価値のあるギガピクセルアノテーションツール
ライセンス、価格、大きな画像への対応は、2026-11-02 時点の各プロジェクト自身のページによるものです。
| ツール | 動作形態 | ライセンス | 価格 | 大きな画像 | 適した用途 |
|---|---|---|---|---|---|
| QuPath | Windows、macOS、Linux 用のデスクトップアプリ | GPL-3.0 | 無料 | OpenSlide と Bio-Formats によるスライド全体画像 | 一人の病理医や研究者がスライドにアノテーションを付ける場合。細胞と組織の検出機能を内蔵 |
| ASAP | 64 ビット Windows と Linux 用のデスクトップアプリ | GPL-2.0 | 無料 | OpenSlide による、多くのベンダーの多重解像度スライド | スライドの閲覧と、点、長方形、ポリゴン、スプラインの描画。XML として保存 |
| Cytomine | 自分のサーバー上のウェブプラットフォーム。Docker Compose でインストール | Apache-2.0 | 無料 | 大きな生物医学画像 | チームでスライドとアノテーションを共有し、解析アプリを実行する場合 |
| Digital Slide Archive | 自分のサーバー上のウェブプラットフォーム。Docker Compose でインストール | Apache-2.0 | 無料 | TIFF、SVS、JP2 を含むタイル形式 | ロールベースのアクセス制御、HistomicsUI でのアノテーションとレビュー、HistomicsTK による解析を備えたスライドアーカイブ |
| napari | Python のデスクトップビューアー | BSD-3-Clause | 無料 | マルチスケール配列。2D での解像度はビューポートから選択 | NumPy や Zarr の配列に対する、Python 解析の内側でのアノテーション |
| V7 | ホスト型のウェブプラットフォーム | プロプライエタリ | 見積り | 一辺が 10,000 ピクセルを超えるファイルのためのピラミッド型タイル。一辺は最大 65,535 ピクセル、面積は 268,435,456 ピクセルまで。.svs と .ndpi が記載されている | ベンダーのサポート付きのマネージドなラベル付け |
| Recogito Studio | ウェブプラットフォーム。Docker でセルフホストするか、プロジェクトによるホスト型 | AGPL-3.0 | セルフホストは無料。ホスト型プランは見積り | IIIF 画像 | 複数の人が IIIF 画像、TEI テキスト、PDF を W3C Web Annotations として一緒にアノテーションする場合 |
| Potato | 自分のサーバー上の Python ウェブサーバー | GPL-3.0-or-later | 無料 | DZI と IIIF Image API 3.0 として提供されるタイルピラミッドと、openslide が読み込める形式のスライド | スライドやモザイクごとに複数のアノテーターがいて、アノテーター間の一致度を見る場合 |
QuPath のサイトは、QuPath が臨床、診断、治療の目的を意図していないと述べています。Potato は研究用ソフトウェアであり、臨床上または規制上の承認はありません。
タスクごとのツールの選び方
この表は、大きな画像のプロジェクトの種類ごとに、その種類のために作られたツールを対応づけています。
| タスク | 適したツール |
|---|---|
| 一人の病理医がスライドにアノテーションを付け、細胞を検出または分類する | QuPath |
| スライドを開き、人間が読める XML として保存される領域を描く | ASAP |
| スライドを保存し、スライドの領域に対する解析を実行する研究室のサーバー | Cytomine と Digital Slide Archive |
| Python スクリプトからマルチスケール配列にアノテーションを付ける | napari |
| ベンダーのサポート付きのマネージドなスライドのラベル付け | V7 |
| 人文学プロジェクトで同僚と IIIF 画像にアノテーションを付ける | Recogito Studio |
| 複数のアノテーターが同じスライドの輪郭を描き、一致度を報告する | Potato |
| 複数のアノテーターで QuPath や ASAP の領域を修正する | 最初のパスは QuPath または ASAP、その後 Potato |
スライド形式とタイルピラミッド
QuPath は、OpenSlide と Bio-Formats のライブラリを通じてスライド全体画像を読み込みます。QuPath の形式のページは、NDPI を十分にサポートされていると評価し、MRXS には限定的なサポートを与えています。Digital Slide Archive は Python インターフェースを通じて新しい形式を受け入れ、V7 ではアノテーターがタイル形式のファイルを一つの画像として扱えます。
Potato の image_annotation スキームは viewer: deepzoom を取ります。Deep Zoom ビューアーは OpenSeadragon を通じて画像を描画し、その上にアノテーションのキャンバスを重ねます。Potato は、.svs、.ndpi、.mrxs、.scn、.vms、.vmu、.bif、.svslide 形式のスライド全体ファイルを、openslide を通じて、スライド自身のピラミッドから一度に一枚のタイルずつ読み込みます。スライドのサポートには wsi エクストラが必要です。このエクストラは openslide-python、openslide-bin、tifffile をインストールします。
pip install "potato-annotation[wsi]"大きな航空 TIFF のような平坦な画像には、それ自身のピラミッドがありません。Potato は、平坦な画像の各レベルを、そのレベルのタイルが最初に要求されたときに構築します。各レベルごとに、Potato はソースを一度デコードします。tiles.max_pixels を引き上げない限り、Potato は 640 メガピクセルを超えるレベルの構築を拒否します。複数のレベルを持つタイル形式の TIFF には、そのようなデコードは不要です。wsi エクストラがインストールされていれば、openslide は、タイル形式の TIFF を TIFF 自身のレベルから読み込みます。Potato はすべてのピラミッドを、DZI としても、/media/iiif/<path>/info.json の IIIF Image API 3.0 としても提供します。Mirador などの IIIF クライアントは、そのルートから同じ画像を開けます。
同じスライドに複数のアノテーター
腫瘍の面積を報告する調査では、病理医が同じ腫瘍の境界を異なる形で描くため、各スライドを複数のアノテーターに回します。QuPath と ASAP は一人のコンピューター上で動作し、どちらのプログラムのページにも、スライドを複数のアノテーターに割り当てる方法は見つかりませんでした。Cytomine はプロジェクトの作業をチームメイトの間で共有し、Digital Slide Archive はユーザーまたはロールによってアクセスを制御し、アノテーションのレビューを含みます。
Potato は、num_annotators_per_item が設定する人数のアノテーターに各スライドを割り当て、すべてのアノテーターの領域を、そのアノテーターの名前の下に保持します。Potato は、Deep Zoom ビューアーの有無にかかわらず、すべての image_annotation スキームについて、ジオメトリに対する一致度を報告します。レポートは、検出、分類、位置特定を別々に示します。位置特定については、Potato は同じスライド上のアノテーターを、異なるスライドのアノテーションのペアから取った偶然のベースラインと比較します。空間ラベルに対する偶然補正済みの一致度を報告している他のアノテーションプラットフォームは見つかっていません。バウンディングボックスに対するアノテーター間一致度の測り方は、その方法を説明しています。
Potato での二人の病理医によるスライド調査
以下の設定は、すべてのスライドを二人のアノテーターに送ります。各アノテーターは、ポリゴンで腫瘍領域の輪郭を描き、核分裂像のクラスタをボックスで囲みます。一致度レポートは両方の形状をカバーし、完全な設定は Potato のバリデーターに合格します。
annotation_task_name: Tumor regions on whole-slide images
task_dir: .
output_annotation_dir: annotation_output/
media_directory: media
data_files:
- data/slides.json
item_properties:
id_key: id
text_key: note
user_config:
allow_all_users: true
users: []
# Two pathologists outline every slide, and each pathologist's regions are kept apart
num_annotators_per_item: 2
agreement_metrics:
enabled: true
annotation_schemes:
- annotation_type: image_annotation
name: regions
description: "Outline each tumor region and box each cluster of mitoses."
source_field: image
viewer: deepzoom
tools: [polygon, bbox, landmark]
labels:
- {name: tumor, color: "#c0397b"}
- {name: mitosis cluster, color: "#5b2c86"}
- {name: artifact, color: "#7f8c8d"}data/slides.json の各アイテムは、{"id": "slide_01", "image": "case_01.svs", "note": "Case 01"} のように、media/ の下のスライドを指定します。一致度レポートは、二人のアノテーターが同じスライドを終えると、/admin/iaa に表示されます。Potato は座標を、フル解像度のスライドに対する割合として保存します。/media/tiles/<slide>.dzi?format=json のタイル記述子は、領域をミクロンに変換するための、そのスライドのピクセルあたりのミクロン数を返します。
Potato での QuPath GeoJSON と ASAP XML
Potato 2.13 から、potato import は QuPath GeoJSON と ASAP XML を読み込み、各領域ファイルを同じ名前のスライドと対応づけます。以下の最初のコマンドは、領域が事前アノテーションとして表示され、すべてのアノテーターが修正できるプロジェクトを構築し、二つ目のコマンドは、各アノテーターの領域をレベル 0 のスライドピクセルで QuPath GeoJSON に書き戻します。
potato import -i case_01.geojson --image-dir /data/slides -o case-project
python -m potato.export -c case-project/config.yaml -f qupath_geojson -o out/qupathこのエクスポートは、アノテーターとスライドごとに一つのファイルを書き出し、-f asap_xml は代わりに ASAP XML を書き出します。ラベルは QuPath の分類と ASAP のグループになります。インポートが読み込むのは、スライドあたり最大 50,000 の領域です。QuPath からはアノテーションのみをエクスポートし、細胞検出はファイルに含めないでください。オプションについては、顕微鏡のページで扱っています。
航空モザイクと IIIF コレクション
大きな航空モザイクやドローンのモザイクは、スライドと同じ Deep Zoom ビューアーで開きます。640 メガピクセルを超えるモザイクは、タイル形式のピラミッド型 TIFF として保存するか、tiles.max_pixels を、サーバーのメモリが許す値まで引き上げてください。Deep Zoom ビューアーは、領域を地図座標ではなく画像に対する割合として保存します。アノテーションを GIS に置く必要がある場合、アノテーターは、自分でホストする GeoTIFF または XYZ タイルの上の OpenLayers の地図でgeo_annotation スキームを使って描画し、Potato は各回答を EPSG:4326 の GeoJSON として保存します。
IIIF コレクションでは、potato import -f iiif が IIIF Presentation のマニフェストを読み込み、キャンバスごとに一つのアイテムを作ります。インポーターは各キャンバスを、画像自身の URL から、またはデフォルトで 2,000 ピクセル四方に収まるサイズでキャンバスの Image サービスに要求して、一枚の画像として読み込みます。インポートされたマニフェストのアノテーターには、タイルではなく一枚の画像が表示されます。iiif_annotations エクスポートは、マニフェストのコピーの隣に、領域を W3C アノテーションページとして書き出し、Mirador と Universal Viewer は、そのコピーを領域付きで開きます。Annotorious は、OpenSeadragon と IIIF ビューアーにアノテーションを追加する、BSD ライセンスの JavaScript ライブラリです。Annotorious は、自分のビューアーを作るチームに向いています。デジタル人文学では、Potato の IIIF 機能をまとめています。
ギガピクセル画像で Potato が行わないこと
- 事前学習済みの細胞・組織の検出器なし。 Potato は、スライド用の検出モデルもセグメンテーションモデルも同梱しません。バージョン2.14からは、Potato は、調査のアノテーターが描いた領域で検出器またはセグメンテーションモデルを学習します。Potato は学習と予測のために各スライドをタイルに切り分け、予測された領域は、アノテーターが修正する事前ラベルとして、スライド全体に戻ります。QuPath は細胞と組織を検出し、ピクセル分類器を学習します。HistomicsTK は細胞核のセグメンテーションと色の逆畳み込みを扱います。
- QuPath や ASAP のエクスポートにマスクなし。 Deep Zoom 画像上のブラシのマスクは、マスクバッファが GPU テクスチャではなく画像ピクセルを索引するため、テクスチャサイズの上限なしに、ソースのフル解像度で保存されます。QuPath と ASAP のエクスポートは、形状のみを書き出します。領域を QuPath や ASAP に戻す場合は、スライドの領域をポリゴンで描いてください。
- Deep Zoom に領域を考慮した塗りつぶしなし。 Deep Zoom のページには、色を読み取る単一のソース画像がありません。塗りつぶしツールは、空のマスク領域を塗りつぶす動作にフォールバックします。
- 保存にミクロン座標なし。 領域はスライドに対する割合として保存され、エクスポートはレベル 0 のピクセルを書き出します。
- マネージドな労働力なし。 自分のアノテーターを連れてくるか、Prolific でアノテーターを募集してください。
2026-11-02 に、各プロジェクト自身のドキュメントと価格のページで、すべてのセルを確認しました。誤りのあるセルがあれば、お知らせください。
よくある質問
病理スライドには、どのギガピクセル画像アノテーターを使うべきですか?
一人の病理医がデスクトップコンピューターでスライドにアノテーションを付けて解析する場合は QuPath を、スライドを共有サーバーに保存する研究室には Cytomine または Digital Slide Archive を使ってください。複数のアノテーターが同じスライドの輪郭を描き、調査がアノテーター間の一致度を報告する場合は、Potato を使ってください。Potato は SVS、NDPI、MRXS、およびその他の openslide が読み込める形式を読み込み、領域を QuPath や ASAP とやり取りします。
航空モザイクや衛星モザイクには、どのギガピクセルアノテーションツールが使えますか?
Potato の Deep Zoom ビューアーは、航空モザイクや衛星モザイクをタイルピラミッドとして開きます。Potato は、タイル形式のピラミッド型 TIFF として保存されたモザイクを、画像全体をデコードせずに読み込みます。V7 は、一辺が 10,000 ピクセルを超えるあらゆるファイルを、記載された一辺 65,535 ピクセルの上限の範囲内でタイル化します。アノテーションに地図座標が必要な場合、アノテーターは GeoTIFF またはホストされた XYZ タイルの上で Potato の geo_annotation スキームを使って描画し、Potato は EPSG:4326 の GeoJSON を保存します。
スライド全体画像向けの AI ギガピクセルアノテーターはありますか?
QuPath には、細胞と組織の検出機能と、ピクセルおよびオブジェクトの分類のための対話型機械学習が内蔵されており、Cytomine は、細胞のカウントや腫瘍の輪郭抽出のような解析アプリを実行します。Potato は、スライド用の検出モデルを同梱しません。Potato は、QuPath GeoJSON または ASAP XML のファイルから領域を事前アノテーションとしてインポートし、すべてのアノテーターがそれを修正します。バージョン2.14からは、Potato は、アノテーター自身の領域で検出器またはセグメンテーションモデルも学習し、モデルの領域を事前ラベルとして書き戻します。
関連資料
- Deep Zoom によるギガピクセル画像のアノテーション。すべてのビューアーオプションについて
- 顕微鏡。蛍光画像と、スライドのインポートおよびエクスポートのコマンドについて
- 顕微鏡と病理。Potato の顕微鏡機能を一か所にまとめて
- ヘルスケアと臨床アノテーション
- 医用画像と臨床テキストのアノテーションツールの比較
- 画像アノテーションツールの比較
- ジオメトリに対する一致度
- アノテーションツールの比較。すべてのデータ型を一ページで