How yaman-ajaj/curvature_estimation_bacterianearsurface_complete works
This MATLAB toolkit analyzes 2D trajectories to estimate curvature on near-surface track segments, then validates and tunes estimators with synthetic ground truth. The main workflow runs from trajectory input through analyzeAllTracks.m to saved per-track results; separate branches generate synthetic data, sweep parameters, compare errors, and visualize outcomes. The README documents these relationships and capabilities; source excerpts were unavailable, so uncertain implementation-level calls are omitted.
Main entry points: groundTruthComparison.m Ground-truth comparison · run_sweep_tests.m Parameter sweeps · analyzeAllTracks.m Track analyzer · create_synthetic_trajectories.m Synthetic generator
Components 24
Trajectory data
- Trajectory MAT input
- Synthetic generator
create_synthetic_trajectories.m - Synthetic tracks
- Real tracks
- Curvature results
- Known curvature
getTrueCurvature.m
Curvature analysis
- Track analyzer
analyzeAllTracks.m - Curvature estimators
- Circle fitting
curvature_estimation_leastSquaresCircle.m - Tangent angle
curvatureEstimationTangentAngle.m - Finite differences
curvature_estimation_centralDiff.m - Local polynomial
curvature_estimation_localPoly.m - Spline methods
curvature_estimation_splineDerivative.m - Spline smoothing
smoothTrajectorySpline.m - Curvature smoothing
smoothCurvature.m
Validation and tuning
- Ground-truth comparison
groundTruthComparison.m - Edge trimming
edgeTrimPercent.m - Parameter sweeps
run_sweep_tests.m - Sweep helpers
sweep_localPoly.m - Result-file comparison
compareCurvatureVariationAcrossResultFiles.m
Visualization
- Trajectory plots
Plot_Trajectories.m - Comparative plots
plotTrackByIndexComparative.m - Track inset plot
PlotWithInset.m
Other components
- Researcher
Connections 28
- Researcher → Synthetic generator: runs
- Synthetic generator → Synthetic tracks: writes clean and noisy
- Researcher → Track analyzer: selects method
- Trajectory MAT input → Track analyzer: loads tracks
- Track analyzer → Curvature estimators: dispatches
- Curvature estimators → Circle fitting: selects
- Curvature estimators → Tangent angle: selects
- Curvature estimators → Finite differences: selects
- Curvature estimators → Local polynomial: selects
- Curvature estimators → Spline methods: selects
- Spline methods → Spline smoothing: smooths path
- Track analyzer → Curvature results: saves
- Researcher → Parameter sweeps: runs tuning
- Parameter sweeps → Sweep helpers: runs grids
- Parameter sweeps → Synthetic tracks: uses noisy tracks
- Parameter sweeps → Known curvature: evaluates against
- Researcher → Ground-truth comparison: runs evaluation
- Ground-truth comparison → Curvature results: loads
- Ground-truth comparison → Known curvature: compares with
- Ground-truth comparison → Edge trimming: trims edges
- Researcher → Result-file comparison: runs comparison
- Result-file comparison → Curvature results: loads files
- Researcher → Trajectory plots: views tracks
- Trajectory plots → Trajectory MAT input: reads
- Researcher → Comparative plots: views results
- Comparative plots → Curvature results: reads
- Researcher → Track inset plot: views inset
- Track inset plot → Curvature results: reads