# yaman-ajaj/curvature_estimation_bacterianearsurface architecture

> Architecture diagram of the GitHub repository yaman-ajaj/curvature_estimation_bacterianearsurface, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yaman-ajaj/curvature_estimation_bacterianearsurface
- Repository: https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface

## Overview

This MATLAB toolkit appears to estimate curvature from trajectories, compare estimation methods, and inspect results; it also includes synthetic-trajectory generation and parameter-sweep scripts. The filenames identify these capabilities, but no README or source excerpts were provided, so invocation order and data transfers cannot be verified. The graph therefore maps the main product areas without asserting unsupported connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Trajectory data"]
  node_synthetic["Synthetic trajectories"]
  node_clean_data[("Clean trajectories")]
  node_noisy_data[("Noisy trajectories")]
  node_truth_data[("Ground truth<br/>[groundTruth.mat]")]
end

subgraph group_methods["Curvature methods"]
  node_central["Central difference"]
  node_circle["Osculating circle"]
  node_least_squares["Least-squares circle"]
  node_local_poly["Local polynomial"]
  node_local_wrapped["Wrapped local polynomial"]
  node_spline_deriv["Spline derivative"]
  node_spline_smooth["Smoothed spline"]
  node_spline_central["Spline central difference"]
  node_spline_circle["Spline circle fit"]
  node_spline_derivative["Spline smoothed derivative"]
  node_spline_least_squares["Spline least-squares circle"]
end

subgraph group_experiments["Analysis and sweeps"]
  node_track_analysis["Analyze tracks<br/>[analyzeAllTracks.m]"]
  node_truth_comparison["Ground-truth comparison"]
  node_variation_comparison["Variation comparison"]
  node_sweep_local["Local polynomial sweep<br/>[sweep_localPoly.m]"]
  node_sweep_circle["Spline circle sweep"]
  node_sweep_spline["Spline parameter sweep<br/>[sweep_splineP.m]"]
  node_sweep_tolerance["Tolerance sweep<br/>[sweep_tolMult.m]"]
  node_sweep_runner["Sweep runner<br/>[run_sweep_tests.m]"]
end

subgraph group_visualization["Plots and comparisons"]
  node_track_plot["Plot trajectories"]
  node_inset_plot["Inset plot<br/>[PlotWithInset.m]"]
  node_track_compare["Comparative track plot"]
  node_curvature_plot["Curvature comparison plot"]
end

click node_synthetic "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/create_synthetic_trajectories.m"
click node_clean_data "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Fake_synthetic_trajectories_Clean.mat"
click node_noisy_data "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Fake_synthetic_trajectories_Noise.mat"
click node_truth_data "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/groundTruth.mat"
click node_central "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_centralDiff.m"
click node_circle "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_OsculatingCircle.m"
click node_least_squares "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_leastSquaresCircle.m"
click node_local_poly "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_localPoly.m"
click node_local_wrapped "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_localPoly_wrapped.m"
click node_spline_deriv "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineDerivative.m"
click node_spline_smooth "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed.m"
click node_spline_central "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_centralDiff.m"
click node_spline_circle "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_circlefit.m"
click node_spline_derivative "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_derivative.m"
click node_spline_least_squares "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_leastSquaresCircle.m"
click node_track_analysis "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/analyzeAllTracks.m"
click node_truth_comparison "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/groundTruthComparison.m"
click node_variation_comparison "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/compareCurvatureVariationAcrossResultFiles.m"
click node_sweep_local "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_localPoly.m"
click node_sweep_circle "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_splineCirclefit_2D.m"
click node_sweep_spline "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_splineP.m"
click node_sweep_tolerance "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_tolMult.m"
click node_sweep_runner "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/run_sweep_tests.m"
click node_track_plot "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Plot_Trajectories.m"
click node_inset_plot "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/PlotWithInset.m"
click node_track_compare "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/plotTrackByIndexComparative.m"
click node_curvature_plot "https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/CurvatureFromMultiplePoints_260924.m"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_synthetic,node_clean_data,node_noisy_data,node_truth_data toneBlue
class node_central,node_circle,node_least_squares,node_local_poly,node_local_wrapped,node_spline_deriv,node_spline_smooth,node_spline_central,node_spline_circle,node_spline_derivative,node_spline_least_squares toneAmber
class node_track_analysis,node_truth_comparison,node_variation_comparison,node_sweep_local,node_sweep_circle,node_sweep_spline,node_sweep_tolerance,node_sweep_runner toneMint
class node_track_plot,node_inset_plot,node_track_compare,node_curvature_plot toneRose
```

## Components

### Trajectory data

- [Synthetic trajectories](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/create_synthetic_trajectories.m): `create_synthetic_trajectories.m`
- [Clean trajectories](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Fake_synthetic_trajectories_Clean.mat): `Fake_synthetic_trajectories_Clean.mat`
- [Noisy trajectories](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Fake_synthetic_trajectories_Noise.mat): `Fake_synthetic_trajectories_Noise.mat`
- [Ground truth](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/groundTruth.mat): `groundTruth.mat`

### Curvature methods

- [Central difference](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_centralDiff.m): `curvature_estimation_centralDiff.m`
- [Osculating circle](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_OsculatingCircle.m): `curvature_estimation_OsculatingCircle.m`
- [Least-squares circle](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_leastSquaresCircle.m): `curvature_estimation_leastSquaresCircle.m`
- [Local polynomial](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_localPoly.m): `curvature_estimation_localPoly.m`
- [Wrapped local polynomial](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_localPoly_wrapped.m): `curvature_estimation_localPoly_wrapped.m`
- [Spline derivative](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineDerivative.m): `curvature_estimation_splineDerivative.m`
- [Smoothed spline](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed.m): `curvature_estimation_splineSmoothed.m`
- [Spline central difference](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_centralDiff.m): `curvature_estimation_splineSmoothed_centralDiff.m`
- [Spline circle fit](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_circlefit.m): `curvature_estimation_splineSmoothed_circlefit.m`
- [Spline smoothed derivative](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_derivative.m): `curvature_estimation_splineSmoothed_derivative.m`
- [Spline least-squares circle](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/curvature_estimation_splineSmoothed_leastSquaresCircle.m): `curvature_estimation_splineSmoothed_leastSquaresCircle.m`

### Analysis and sweeps

- [Analyze tracks](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/analyzeAllTracks.m): `analyzeAllTracks.m`
- [Ground-truth comparison](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/groundTruthComparison.m): `groundTruthComparison.m`
- [Variation comparison](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/compareCurvatureVariationAcrossResultFiles.m): `compareCurvatureVariationAcrossResultFiles.m`
- [Local polynomial sweep](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_localPoly.m): `sweep_localPoly.m`
- [Spline circle sweep](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_splineCirclefit_2D.m): `sweep_splineCirclefit_2D.m`
- [Spline parameter sweep](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_splineP.m): `sweep_splineP.m`
- [Tolerance sweep](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/sweep_tolMult.m): `sweep_tolMult.m`
- [Sweep runner](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/run_sweep_tests.m): `run_sweep_tests.m`

### Plots and comparisons

- [Plot trajectories](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/Plot_Trajectories.m): `Plot_Trajectories.m`
- [Inset plot](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/PlotWithInset.m): `PlotWithInset.m`
- [Comparative track plot](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/plotTrackByIndexComparative.m): `plotTrackByIndexComparative.m`
- [Curvature comparison plot](https://github.com/yaman-ajaj/curvature_estimation_bacterianearsurface/blob/main/CurvatureFromMultiplePoints_260924.m): `CurvatureFromMultiplePoints_260924.m`
