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

support regions/annotations #80

Open
kswang1029 opened this issue Mar 7, 2023 · 6 comments · May be fixed by #136
Open

support regions/annotations #80

kswang1029 opened this issue Mar 7, 2023 · 6 comments · May be fixed by #136
Assignees
Labels
enhancement New feature or request

Comments

@kswang1029
Copy link
Contributor

For the publication purpose, we need to support region/annotation file loading so users can use it to decorate their images for presentation (such as an arrow plus a text to point to a target source or a set of point markers to mark target sources, etc)

once CARTAvis/carta-frontend#2019 and CARTAvis/carta-backend#1229 are merged annotation region will be supported.

@Jordatious
Copy link

Doing this for regions is essential. For annotations, this would be nice, but for a small number of sources, it's not difficult to overlay one's own annotations in any basic image software.

@kswang1029 kswang1029 changed the title support load region file with the Session class support regions/annotations Apr 11, 2023
@kswang1029
Copy link
Contributor Author

we would need the abilities to

  • load region files
  • create regions/annotations from scratch
  • modify existing regions/annotations (either loaded from a file or created manually)
  • set styling of regions/annotations
  • lock/hide/center regions
  • delete regions/annotations

@kswang1029 kswang1029 added this to the v4.0-stable milestone May 11, 2023
@I-Chenn
Copy link
Contributor

I-Chenn commented May 16, 2023

@kswang1029, @confluence :
I designed a few APIs (mostly for loading regions and adding regions) for this issue. I haven't completed it yet, but I am hoping to at least complete all the functions about adding regions. Please take a look:
https://hackmd.io/@UL9ceyk6SsmUkbgVUFXQPg/Bk3Kn8xB2
If there's items which are OK for you, perhaps I can add some issue to GitHub for those functions.

@kswang1029
Copy link
Contributor Author

kswang1029 commented May 16, 2023

@kswang1029, @confluence :
I designed a few APIs (mostly for loading regions and adding regions) for this issue. I haven't completed it yet, but I am hoping to at least complete all the functions about adding regions. Please take a look:
https://hackmd.io/@UL9ceyk6SsmUkbgVUFXQPg/Bk3Kn8xB2
If there's items which are OK for you, perhaps I can add some issue to GitHub for those functions.

The most critical part is missing: how region fits in the current architecture? Does it belong to session or image or else? If it belongs to session, how it interacts with image? If it belongs to image, how it interacts with session? How do we handle matched images? And how do we handle region analytics which requires a user-input image and a user-input region?

@confluence
Copy link
Collaborator

There should be a new Region class, so that we can have region objects as handles to regions in the same way that image objects are handles to images.

Functions for manipulating (or deleting) existing ("open") regions would be methods on this class. Whether the functions for creating / importing them should be on the session or the image class depends on the relationship between images and regions. Does each region "belong" to a specific image? If yes, then these methods should be on the image class (but call different class methods on the region class; similar to the relationship between session and image). But we might want helper methods on the session class for finding / interacting with all the regions in the session.

Most of the actual region logic should be inside the region class. The methods on the image and/or session should just connect this functionality to particular images or sessions.

I think that it would be helpful to start by sketching a diagram showing how images and regions are related to each other (images to regions, regions to regions, etc.).

@I-Chenn
Copy link
Contributor

I-Chenn commented May 16, 2023

The most critical part is missing: how region fits in the current architecture? Does it belong to session or image or else? If it belongs to session, how it interacts with image? If it belongs to image, how it interacts with session? How do we handle matched images? And how do we handle region analytics which requires a user-input image and a user-input region?

OK, I haven't thought that deeply but just want to add some basic functions first. I will think more about it and discuss with you few days later.

@confluence confluence linked a pull request Aug 16, 2023 that will close this issue
7 tasks
@Kechil Kechil added this to CARTA Sep 18, 2023
@Kechil Kechil moved this to In progress in CARTA Sep 18, 2023
@kswang1029 kswang1029 modified the milestones: v4.0-stable, v5.0-beta Oct 3, 2023
@kswang1029 kswang1029 removed this from CARTA Dec 6, 2023
@kswang1029 kswang1029 added this to CARTA Dec 6, 2023
@kswang1029 kswang1029 moved this to Icebox in CARTA Dec 6, 2023
@confluence confluence linked a pull request Mar 27, 2024 that will close this issue
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Status: Icebox
Development

Successfully merging a pull request may close this issue.

4 participants