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

Introduces PTP tab and Job #2

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open

Introduces PTP tab and Job #2

wants to merge 35 commits into from

Conversation

dbrembilla
Copy link

This MR introduces the first point to polygon functionalities, in particular:

  • Introduces a Tab in the volume view for the conversion
    image

  • Creates a tab that can be used to create a PTP Job.
    image

Once you have a Volume with point annotations, you can run a Point to Polygon job on a label with at least a point annotation. This will in turn run:

  • A Job computing the Expected areas for the label
  • A job uploading these expected areas
  • A job running the conversion, using the median of these expected areas as the expected area for the job
  • A job that uploads the new converted annotations

To test this MR:

  • Use the dev-modules-point-to-polygon branch for the biigle root
  • Add PTP to the composer, for now using the VCS (If you think I should add it to Packagist let me know)
  • Try to run the Point to Polygon conversion.

This commit introduces some of the basic logic in the PTP job, adding minimal functionality. Does not work still, but now it receives the image and annotations it needs to process and catches the path where the Image is.
Initialises PTP script, while still not working, this will be the starting point of the Python script that translates the points to polygons.
Initialises the new PTP controller that will launch the jobs and associates it to the API via a mock route (/test-ptp) to test the new features of PTP.
The PTP script now works and is able to run annotation conversions from point to polygons using SAM.
Introduces also docstrings and type hints for the Python script
The Python Job can now be run via API using the controller, now loading the image path correctly.
Initialise the PTP sidebar. Before it used to simply replicate the MAIA tab. For now, it uses a placeholder index for executing, as the page will need to be developed similarly to the maia one.
This commit introduces the Point to Polygon View, along with its entry in the routes.php file.
This commit initialises the PTP tab that now correctly loads the point annotations, for now showing just the info about the annotation. The blade template correctly loads the vue templates/.
This commit introduces changes to the various templates. Now the template is able to show images, without the annotations, which will be introduced in a future commit, along with the fact that  it will show one image per time and
This commit introduces now a system that loads images as well as their outlines on the label. Mockups of the buttons that will generate the PTP jobs are inserted. This commit also introduces the styling for the PTP module.
This commit makes it possible to spawn a PtpJob from the frontend via the `send-ptp-job` route, launching the Python scripts per label. The `ptp.py` is modified accordingly.
Styling is also changed, to reflect this grouping and to allow the container to show the annotations well. A temporary directory system is introduced in the config.
This commit introduces the new job with the role of uploading the result of computing the expected area of the Point to Polygon conversion. This is done through a simple prediction on the image and taking the raw result/
This commit introduces several fixes and changes regarding the Point to Polygon pipeline. Essentially, there is now just one pipeline, triggered by the selected button, that first computes the expected area, then uploads it on the DB. The expected area is then use to apply the Point to Polygon conversion. In the next commits a Job that uploads the new annotations will be created, as well as a better system for the exchange of information between jobs.
This commit introduces the Job that uploads the new annotations found with the Python script to the DB, as well as fixing related scripts in order for it to work correctly.
This commit fixes some bugs that did not allow some of the strategies of the PTP conversion to work.
This commit introduces a fix on the Ptp process that updates the ImageAnnotationLabels table in order to have annotation information associated to them.
Removes useless components and API
@dbrembilla dbrembilla requested a review from mzur December 4, 2024 09:18
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

Successfully merging this pull request may close these issues.

1 participant