最終更新: a few seconds ago Remove Netlify-related code from main (grafted, HEAD)
シリーズのインポート
概要
DICOM シリーズを CIRCUS システムにインポートする方法として、以下の数通りを準備する。
multipart/form-dataを用いるアップロード(複数ファイル対応。主にブラウザ経由)application/octet-stremを用いる単一ファイルのアップロード(S3互換を目指す。主にAPI経由)
前提知識
- "スタディ" とは1つ以上の "シリーズ" の集合、シリーズとは1つ以上の "イメージ" の集合である。具体的にはスタディとは「○年○月○日の○○さんの上腹部MRI検査」といったもの。シリーズとは、「そのスタディ中の1回の息止めで撮影した50枚の一連の画像(イメージ)」といったもの。
- 大抵の場合、1枚のイメージが1個の DICOM ファイル に対応する。ただし動画 (MP4) 系の DICOM シリーズではこの前提が崩れるのだが、CIRCUS では扱わない。
- すべてのDICOMシリーズには「Series Instance UID」というグローバルに(全世界で)一意の識別子がついている。本ドキュメントでは "シリーズUID", "Series UID" などと略記する。
- すべてのDICOM画像には「SOP Instance UID」というグローバルに一意の識別子がついているが、すべての画像に対してこれを全部保存していると冗長なので、これは使用しない。代わりに、「Instance Number」と呼ばれるシリーズ内でイメージを区別する番号を使用する。h本ドキュメントでは Instance Number を "イメージ番号" とも呼ぶ。イメージ番号は殆どの場合は 1 から始まる連番であるが、そうでないこともある。何にせよ当面の間、CIRCUS ではイメージ番号が1からの連番となっている画像以外は扱わない。
マルチパートによるアップロード
Curlを使ってマルチパートで送信する場合
まず認証のためのトークンの取得:
% node circus add-permanent-token <ユーザ名>
このトークンは再表示できないので注意。
次に Curl でファイルを送信:
% curl \
-H "Authorization: Bearer <トークン>" \
-X POST http://localhost/api/series/domain/<ドメイン> \
-F files=@<DICOMファイルパス1> \
-F files=@<DICOMファイルパス2>
ファイルとして単体の *.dcm ファイルのほか、*.zip を指定可能。
Octet-stream によるアップロード
AWS S3と似たAPIで送信できることが目標。未実装。