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

Annotation Permissions #41

Open
PaulHax opened this issue May 15, 2024 · 1 comment
Open

Annotation Permissions #41

PaulHax opened this issue May 15, 2024 · 1 comment

Comments

@PaulHax
Copy link
Collaborator

PaulHax commented May 15, 2024

Why

  • Hide annotations from different annotators to avoid bias.
  • Hide programmatically generated annotations from confusing/biasing annotators.
  • Read-only region of interest box that annotators use to guide their work.

VolView Item is the new session.volview.zip

  • Clicking Open Folder/Checked creates a VolView Dataset Item
  • Clicking Open in VolView within item converts item to VolView Item

VolView Item has:

Dev plan

List segment groups and vector tools in VolView Item

  • Read volview.zips on save.
  • Save segment group images as files in Item with appropriate permissions.

Add Annotations section to Item view (like Large Image)

  • List all segment groups and vector tools.
  • GUI to edit permissions per segment group/vector tool. Show button to pop modal to edit permission.
    Screenshot from 2024-05-15 09-52-53

makeVolViewItem endpoint

  • Args: Base folder or item ID, Resources: { folder IDs, item IDs }
  • Makes VolView Item. Creates if folder is base. Converts existing item if item is base.

downloadVolViewItem endpoint.

  • Args: item ID
  • Collects files and Annotations associated with resources
  • Crafts manifest.json to be inserted into downloaded zip.
  • Disable auto converting SEG dicoms in VolView client to avoid client from reconverting SEGs to segment groups every load? Hard to associate segment groups in volview.session.zip with source SEG dicoms. Girder plugin will have to build segment group images at import/convert time, or on first load. Or associate source files with segment groups in session.volview.zip manifest.json.
  • Filters out permission less annotations, adds readonly tag for view permission.
  • Zips up seg group image files.

Update VolView client to respect “read only” on vector tools and segment groups.

Test Cases

Load both segment groups for Admin. Tests finding new segment group file.

  • Admin opens a folder, saves a segment group, sets Admin only permissions on the segment group.
  • Annotator opens Folder, does not see admin segment group. Annotator adds a seg group
  • Admin loads folder and sees 2 segment groups.

2 annotators don't see each others annotations

  • Annotator Jane adds a new annotation to item.
  • Annotator Jack adds a new annotation to time.
  • Verify Annotator Jane cannot see Jacks annotation.
  • ??? How does Admin setup VolView Item to hide new annotations? For Histomics, how do they do it? Make an Annotation group per annotator before annotation task?

Folder with CT and SEG folders. Tests auto conversion of SEG to segment groups.

  • Admin hides access to SEG folder
  • Annotator opens folder, only sees CT
  • Admin unhides SEG folder
  • Annotator opens folder, sees SEG as segment group, makes edits, saves.
  • Annotator opens folder, just sees edited segment group.
@PaulHax
Copy link
Collaborator Author

PaulHax commented May 15, 2024

Alternative: Consider a “source control” style approach.

  • Right now every save is its own independent session.volvew.zip with permissions.
  • Surface annotation permission controls, user, date, annotation list in file view.
  • Then allow selection of specific session.volview.zip in item view.
  • Can tag specific .zips as the default to load (for annotators starting point.)

More limited by sticking with atomic session.volview.zip, but kind of supports the 2 “Just hide annotations to avoid bias” use cases and is it really that bad if annotatior acidentatly edits an initial bounding box?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant