knowledgevis / miqa-annotate

A Medical Imaging Annotation Tool
https://annotate.knowledgevis.com
Apache License 2.0
2 stars 0 forks source link

Bring new "compare view" capability into KnowledgeVis repository #13

Open davidshq opened 1 year ago

davidshq commented 1 year ago

Bring the improvements to add a comparison view to this repository via PR.

These changes consist of two main components:

  1. Updating the Vue code throughout to support loading multiple scans simultaneously.
    • Currently MIQA can display multiple views of the same image but not multiple views of different views.
  2. The CompareScans view which provides the interface the end user interacts with.
    • Once the undergirding changes are made the CompareScans view is relatively straightforward.

This code already exists in https://github.com/davidshq/miqa. It just needs to be pulled into this repo. Ideally this would occur after we have completed merging of the dynamic settings code, see https://github.com/knowledgevis/miqa-annotate/issues/4

davidshq commented 1 year ago

The branch for CompareScans is https://github.com/davidshq/miqa/tree/compare-view

The older branch from which this is pulled is https://github.com/davidshq/miqa/tree/ts-migrate-off-edit

The Vuex changes have been made as well as most other changes throughout. There is still a need for further refinement of CompareScans.

The branch on which CompareScans started had updated to the latest Vuetify components at the time. Unfortunately, some of the components that replaced deprecated components don't display quite the same and this causes significant layout shift. It is quite difficult to merge the overall code base with the Vuetify changes without significant risk.

At this point it's my recommendation that we stick with the Vuetify as it is in the other branches and then do a separate round of edits (with more Playwright testing to catch layout shifts) to update Vuetify.

The end result of all this is that the CompareScans as found in the compare-view branch uses the updated styling while the rest uses the older styling and this causes CompareScans to behave unexpectedly (e.g. right now once one selects a single scan the viewer fills the entire viewport).

Note: Vuetify has since released a major version upgrade (that requires Vue 3). The version the older branch updated was still on the previous release of Vuetify. It may be worthwhile looking at upgrading the entire project to Vue 3 and the latest Vuetify (or shifting to another framework if desired).