最終更新: a few seconds ago Remove Netlify-related code from main (grafted, HEAD)
議事録
2020-02-06
1 月以降の CIRCUS の改変
-
コードベースを全体的に TypeScript 化 (RS は元から TypeScript で記述している)
-
CI (Continuous Integration) を GitHub Actions ベースに(RS は未対応)
- サーバ側で自動テストを走らせる
-
設定ファイルの形式の統一(RS は未対応)
-
Cosmiconfig を使った*.js ファイルベースの設定ファイル
-
これまでは circus-cs-core が cosmiconfig、circus-rs が js を使った独自設定ファイル、circus-api が環境変数(.env)ベースになっており、複数個所に複数の形式で似たような設定をする必要があった
-
-
テストフレームワークを Mocha → Jest に(RS は未対応)
-
DICOM 画像(タグ情報)読み込みを JavaScript ベースに
-
理由:画像 1 枚ごとに Docker コンテナを起動するのは遅い
-
TimeZoneOffset が指定されていない場合にデフォルト(例:+9 時間)を指定可能に
-
エンコーディング周りの検証が不足している
-
-
ZIP ファイルからのインポートにちゃんと対応
- Docker を外したことで一時ファイルを作成せずに Zip からファイルを 1 つずつ取り出してインポート可能になった
-
自作の DI (Dependency Injection) コンテナを使ってコードを簡素化(RS は未対応)
-
circus-api の MongoDB の Aggregation Framework に対応(の途中)
-
patientInfoCache と latestRevision が不要になる(予定)
-
基本動作については大丈夫そうだが速度周り、インデックスを貼った場合のふるまいについて要検証(データが 10 万件を超えたあたりである日突然急激に遅くならないか)
-
-
UI 側でも job 検索について Aggregation Framework 対応完了
-
scripts (migrate, import-series, etc.) にも自動化テストを適用
新 CIRCUS システムの現状確認
-
検索画面
- Series 検索
- Case 検索 (DB)
- Plug-in job search
- 上記 3 つの検索は可能
- Plug-in job queue 画面が表示できない
- 仕様検討段階 (セキュリティの観点から)
-
RS 関連 (以下をジェニュインに依頼する)
- ボリュームデータの表示に時間を要する
- 塗ったラベルが正しく表示されない (上/下端スライス)
- CS 結果画面 (脳動脈瘤検出) での VR 表示の正式対応 => 3 月末までに完成
-
ジョブ実行・プラグイン関係
- 重複処理防止機能
- api は済 web-ui は未
- Series ruleset 機能の実装
- invalidate 機能の実装
- 要;結果画面の管理者モード
- partialVolumeDescriptor 周り
- dicom_voxel_dumper が DICOM tag の slice location (or image position) を 調べて 頭 => 足 に自動並べ替えを行っていることとの不整合
- ジョブ実行時に circus-api 側で 2 枚の DICOM ファイルの tag を確認して partialVolumeDescriptor に記載する (dicom_voxel_dumper から自動並べ替え機能を外す)
- dicom_voxel_dumper が DICOM tag の slice location (or image position) を 調べて 頭 => 足 に自動並べ替えを行っていることとの不整合
- 重複処理防止機能
-
dicom_utility の interactive モード実装
- dump までは行えるようになったが、従来の関数の一部変更などが必要なため来週までかかる見込み
-
(近い将来) 行うべきこと
- JavaScript 版 dicom_voxel_dumper の実装
- Docker コンテナ (C++ アプリ) が 1 個不要になる
- JavaScript 版 dicom_voxel_dumper の実装
スケジュール管理について
-
Monorepo 化を行う (複数のパッケージを 1 つの git リポジトリにまとめて管理する)
-
CIRCUS ミーティングの議事録を Design Note に記入する