Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem of new plot after reproduce (oist_0320_4-1/2) #429

Closed
2 tasks
itutu-tienday opened this issue Mar 23, 2023 · 2 comments
Closed
2 tasks

Problem of new plot after reproduce (oist_0320_4-1/2) #429

itutu-tienday opened this issue Mar 23, 2023 · 2 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@itutu-tienday
Copy link
Collaborator

@itutu-tienday itutu-tienday added the enhancement New feature or request label Mar 23, 2023
@itutu-tienday itutu-tienday changed the title Problem of new plot after reproduce Problem of new plot after reproduce (oist_0320_4-1) Mar 23, 2023
@itutu-tienday itutu-tienday added bug Something isn't working and removed enhancement New feature or request labels Mar 23, 2023
@itutu-tienday itutu-tienday changed the title Problem of new plot after reproduce (oist_0320_4-1) Problem of new plot after reproduce (oist_0320_4-1/2) Mar 23, 2023
@emuemuJP emuemuJP self-assigned this Apr 5, 2023
@emuemuJP emuemuJP added this to the ver0.3.0 milestone Apr 5, 2023
@emuemuJP emuemuJP assigned ReiHashimoto and unassigned emuemuJP Apr 10, 2023
@ReiHashimoto
Copy link
Collaborator

検証

以下のワークフローで、先頭のtiffファイルを入れ替えて検証を行った。
test_workflow

  1. mouse2p.tiffでRUN_ALL
  2. mous2p_2_donotouse.tiffでRUN_ALL
  3. 1をReproduce > RUN

それぞれのパターン実行後に、以下のデータを保持

  • ワークフロー実行終了直後のOPRINIST_DIRのコピー
  • VISUALIZEでtiff, tiff + cell_roi, tiff + non_cell_roi, mc_images, meanImgを並べたキャプチャ

検証結果

期待される挙動

VISUALIZEの内容が1 = 3

実際の挙動

VISUALIZEの内容が1と3で異なる
具体的には、cell_roi, non_cell_roi, mc_images, meanImgが2と同じになっている

1

2

3

調査

上記の結果を受け、実際にVISUALIZEの際に取得しているデータを確認した

例えばmc_imagesの場合以下のパス
/output/{unique_id}/caiman_mc_wxzzjcqrpz/mc_images.json

1の結果は1のunique_idのディレクトリにあり、1, 2, 3を通じて不変のはず

  • しかし、実際には1 = 2 ≠ 3の状態であった
  • 3は、2のunique_idのディレクトリの内容と一致する

つまり、RUN_ALLの際には他のunique_idのパスに対して変更が加わることはないが、RUNの際にはファイルの書き換えが発生している
この原因を調査する

@ReiHashimoto
Copy link
Collaborator

原因

ファイルの更新をかけていたのは/run/result/{uid}
WorkflowResult.get() => NodeResult.get() => success() => outputPaths()の順に呼ばれて、save_jsonなどの処理が走る

この時、例えばcell_roiであれば、output/tiff/cell_roi/cell_roi.tiffに保存されているデータを使用して、jsonを生成する。jsonの出力先はunique_idごと。

output/tiff/などのデータが更新されるのはRUN ALLの時のみ。
従って、最後のRUN ALLの結果でroiなどのjsonデータを生成しなおしている状態。

対応

output/tiff/などのunique_idに依存せず出力しているファイルをunique_id依存にする。
つまりoutput/{uid}/tiff/など。

ImageData, RoiDataなどのクラスでのself.pathなどをsetしているロジックを修正する。

追加調査

  • 本対応が必要なデータクラスの洗い出し
  • 対象のファイルパスを参照しているロジックの洗い出し

ReiHashimoto added a commit that referenced this issue Apr 17, 2023
emuemuJP added a commit that referenced this issue Apr 24, 2023
[#429] outputディレクトリのユニーク化
quanpython pushed a commit that referenced this issue Jun 28, 2023
[#429] outputディレクトリのユニーク化
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants