最終更新: a few seconds ago Remove Netlify-related code from main (grafted, HEAD)
CIRCUS 議事録/作業ログ(memo)
2018-08-20 三木先生/加納
先日の上田質問に対する回答
- circus-rs で dicom-file-repository のインターフェイスは使用しない
- 型はいちいち書かない。javascript なので、慣れてください。
- 使用時にはいちいち書く必要がない。
- 宣言においては完全に書く
2018-08-18 加納/上田
- 手詰まり(質疑)
-
DicomFileRepository は なぜ抽象クラスから Interface になったのか。
- クラスではなくてクロージャで `DicomFileRepository` を実装しても構わないよ、ということにするために敢えてInterfaceに変更。
- circus-api/src/storage の下に今回のと似たようなストレージ抽象化があり、そちら側はクラスを一切使わずクロージャだけで同じようなことを実装しているので要確認のこと。https://github.com/utrad-ical/circus-api/tree/master/src/storage
-
Interface SeriesAccessor の export について
- Interface は typescript 固有の機能なので export は適切ではない?
- 型推測や、チェック?のようなものは d.ts で定義されるのか?
- d.ts を置いてほしい????
- 結論からいうと、上田の勘違いであり対応不要。`SeriesAccessor` が `DicomFileRepository` の一部としてすでに間接的にパッケージ外に公開されている状態に気づいていなかった。なお、間接的にでもパッケージ外に公開されている状態であれば、VSCode上でそれを選択し右クリックから定義を表示させることも可能。
- d.ts を置いてほしい????
-
- @deprecated ほしい
- 1ファイル 1定義について
- というか、定義とファイル分割の方針
- React について 読むとか。調べるとか。
- 参考 cirucs-web-ui
2018-08-08 加納/上田
上田開発環境上で、circus rs の default demo が動作するところまで確認。
以下、作業依頼に関するメモ
- circus-rs の package.json で、 circus-dicom-repository に依存させる。
- dependency みたいなの
- それ ...repository を使った形に変更する
- branch 切って開発 feature/.....
- master には merge しないで、github に push ののち、 pull request を出す。
- src/server を中心に確認。
明日以降、コードの精査を開始する(上田)。
RSについて、以下の説明はしていない。 RS browser 開発当初のメモがあると分かりやすい・・・?
- 根本的な設計思想
- Composition
- ImageSource
- Viewer
- Tool
2018-08-07 三木先生/加納
- Three.js 依存しない形で計算系ユーティリティを使用できるようにする。
- 計算系のfunction export は、export 用に wrapper 的なものを作成し、それを export するようにする。
2018-08-06
- リポジトリ名変更
- circus-db-web-ui > circus-web-ui
- circus-web-ui
- 動かない
- 分担について
- Kano: RS (client side) の塗り絵機能を復活させる
- 行列計算を glmatrix ベースから threejs ベースに変更する際に、エンバグの可能性。
- Ueda: RS (server side) の画像関連個所について、circus-dicom-repository に依存させるように調整。
- とりあえず rs を動かしてみてもらう。
- Kano: RS (client side) の塗り絵機能を復活させる
- design-note の修正をほぼ完了
全体構成に関するメモ
- 概念上の構成は、次の2つのアプリケーション。
伴に、クラサバ構成。- circus-db: DICOM画像を表示し、腫瘍の塗り絵など。
DICOM画像に対するアノテーション追記などのフィードバック登録と表示。 - circus-cs: CAD(プラグインとして実装)のキュー管理と実行。
実存するcircus-csリポジトリは、すごく古いものなので、参照する価値がない。
- circus-db: DICOM画像を表示し、腫瘍の塗り絵など。
- この2つのアプリケーションは、昔、PHP 5.3 / mysql / jQueryベースの構成で始まった。
- circus-db については、nodejsなどの新しい構成への書き換えが進んでいる。
- circus-cs については、古いまま。
- 実装上の構成は、共有部品が非常に多いため概念上の構成と異なる。
- circus-web-ui: circus-db client side + circus-cs client side
- circus-api: circus-db server side + circus-db server side
- 実装上の構成の中で、一部の部品に対してリポジトリを分離している。
- circus-rs: ボリューム画像とアノテーションのビューア(実装ポリシーとしてはボリューム画像に限定しない汎用的なものとする)
- circus-cs-core: circus-cs server side, plugin manager の分離 (実装上は circus-api がこれに依存)
- circus-dicom-repository: DICOM画像のファイルの置き場をクラウド化する前提とした、(仮想)ファイルシステムに対する wrapper。
(実装上は circus-api, circus-cs-core がこれに依存)
2018-08-02 + 2018-08-06
-
加納/上田 (8.2)
-
三木先生/加納 (8.6)
-
本ドキュメント
開発者が作業に取り掛かるための敷居が高い。
- プロジェクト同士の因果関係や変遷を掌握しづらい。
- 実際に動作させるための手順が複雑?
- 各プロジェクトの関連性を再整理
- CIRCUS DB
- CIRCUS RS
- 最も低いレベル
- ビューアー / エディター
- 画像表示のためのコンポーネント
- テキストにおけるメモ帳
- イメージタグ(HTMLでいう)
- CIRCUS RS (VR機能)
- CSのフィードバック表示として使用する予定
- CIRCUS CS
- アプリケーション
- クラサバアプリケーション
- 部品
- core
- CAD=(プラグイン、現時点では)を実行するためのもの
- キューの管理(プラグイン)
- GUI一切ない
- 監視
- 監視
- 表示
- Feedback
- データベース
- core
- circus-api
- 権限モデルやログインは統一化
- cs系コマンド
- db (server side) + cs (server side)
- circus-cs-core に依存
- circus-cs-core は circus-dicom-repository に依存
- circus-web-ui
- circus-db-web-ui
- cs系 今はない
- とても古いCS (php, jquery, mysql)にはあった。
- 部品
- circus rs
- browser 側
- circus web ui に組み込む
- server 側
- circus api に組み込む
- DICOMのsid -> 画像を読みだして meta, volume
- 匿名化にも結果なっている
- あくまで、ビューア機能のみ
- browser 側
- circus rs
- circus-dicom-repository の分離
- いろんな所から使用するため
- バックエンド系
circus-dicom-repository
- CS/DBをこれに依存する形にする
- 書いてはある。
circus-rs
- 昔のglmatrixをthreeに変える作業中
- 塗り絵が壊れている?
- 加納の分担
- 塗り絵が壊れている?
- リポジトリの組み込み
- 分担する ( circus-dicom-repository に依存させる形に書き換え ) > Ueda
circus api
- ドキュメント
- 現時点ではcircus db ものしかない
2018-07-23
-
協力者候補 - uedamari0922@gmail.com
-
開発対象リポジトリ
- cs-core
- cs-api - rs - rs-document - db-ui
-
テストについて
- Wercker や Travis CI を使う
-
vscode
- editor config 0.12 ...
- prettier
- (live sha)
- (node language pack)
- debugger for chrome
- azure cosmos db
- mongo db viewer
- dicom tag dump
-
プラグインの異常終了の検知
- 終了コードを確認する
-
開発・試験用のデータについて
- DICOM 画像、プラグインは DropBox で共有
2018-07-19
ジェニュインコーポレーション
19:15 - 20:00
現在の状況について
- 性急なリリースが求められている
- 今後のことも踏まえ、人手を増やすことも重要な課題である
直近のリリースに向けて
概して、磨く段階にある。
- オープンソースでパブリックに公開
- 実用に耐えるソースコード, ドキュメント, 安定性 - テストを付属させる
- 主な作業 - バグ修正 - 機能の追加 - リファクタリング - テストの追加 - ドキュメントの整備
- 指揮系統 - 三木先生から都度指示を受け、作業を行う。 - この体制での開発を実現するために、時間の共有を増やす。
将来の開発体制に向けて
- github を中心とした開発
- 人手の確保(協力者を増やす) - 加納の身内(姉)が候補 - 現時点では、最大で週に 30H 程度の作業が可能とのこと。 - まずはソースコードの共有を行う。 - 状況の共有 - 関連知識の収集
開発環境の構築について
- 共用機材(サーバー)を用意して使用する - OS, ミドルウェア等 - Ubuntu - node (nvm) - docker - (mongo ?) - ssh server - git - samba - Network - local ip を割り当て (192.168.2.0/255.255.255.0) とか? - global ip を割り当てる
- 共用のネットワーク内で作業を行う
- 三木先生は、専用に PC を準備。
スケジュールについて
| 事前説明 | 2018 年 7 月 23 日(月) | 午後~夜 |
| 事前説明 予備日 | 2018 年 7 月 26 日(木) | |
| 2018 年 8 月 6 日(月) 以降 | 三木先生 | |
| 月曜日 | 10:00 - 20:00 | |
| 火曜日 | 10:00 - 16:00 | |
| 木曜日 | 10:00 - 16:00 |