# 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