# Function Overview

## **Tracing Sutures (Interactive Path Tracing in 2D Images)**
_This project seeks to develop a GUI enabling users to interactively create and extract paths in 2D images._

---

## **Functions List**

- `set_img_path`
    - Takes the path to the image as input.
    - Sets self.path.
    - Is triggered on button click.

- `load_img`
    - Takes self.path as input.
    - Displays the input image on the GUI.
    - Is triggered on button click.

- `start_edit`
    - Takes no input.
    - Sets self.editEnabled to true.
    - Is triggered on button click.

- `calc_gradients`
    - Takes self.path as input.
    - Calculates gradients in input image and saves as self.gradient
    - Is triggered by `load_img`.

- `set_point`
    - Takes no input.
    - Creates a point of the spline on the image when the users clicks left clicks.
    - Adds the point to self.points.

- `remove_point`
    - Takes no input.
    - Removes the point the user is hovering over when the user right clicks.
    - Removes the point from self.points.

- `update_alpha`
    - Updates self.alpha.
    - Is triggered by slider.

- `update_beta`
    - Updates self.beta.
    - Is triggered by slider.

- `active_contour`
    - Takes self.points, self.gradient, self.alpha and self.beta as inputs.
    - Performs active contour for finding the curve.
    - Displays the found _snake_.

- `set_export_path`
    - Sets self.exportPath to the path chosen (by GUI-popup?) by the user.

- `export_line`
    - Takes self.exportPath as input.
    - Creats a new np-array file on the chosen path containing the found snake.


## **Notes**
_This is only a rough first draft/overview of the functions needed for the project._

---

**Author:** Christian Bjerregaard
**Date:** 07-01-2025