/**
@mainpage Quadrix - Dendritic Structure Analysis

@section intro_sec Introduction

Quadrix is a hybrid Rust/Python library for analyzing neuronal dendritic structures using quadric-based geometric methods. This documentation covers the core library, command-line tools, GUI applications, and web API.

@section features_sec Key Features

- **Tree Data Structures**: Hierarchical vertex and edge representations for dendritic trees
- **Quadric Matrices**: Computation of quadric error metrics for edges and vertices
- **Python Bindings**: Fast Rust implementations exposed to Python via PyO3
- **Visualization**: Hexagonal plot generation using NormPolar transformations
- **Interactive Tools**: Web-based GUI and desktop application
- **Database Support**: SQLite persistence for neuron data

@section modules_sec Core Modules

@subsection core_modules Core Library
- @ref vertex.rs "Vertex" - 3D point with parent/children relationships
- @ref edges.rs "Edge" - Pair of vertices with quadric matrix computation
- @ref dendrite.rs "Dendrite" - Collection of vertices and edges with aggregated quadrix
- @ref neuron.rs "Neuron" - Container with compartment types (soma, axon, dendrites)
- @ref eigenvalues.rs "Eigenvalues" - Analytical 3x3 eigenvalue solver using Cardano's formula

@subsection analysis_modules Analysis Tools
- @ref swc.rs "SWC Parser" - SWC file format parsing and loading
- @ref swc_batch.rs "Batch Processing" - Process multiple SWC files
- @ref hexplot.rs "Hexplot" - Hexagonal plotting with Fisher metric
- @ref simplification.rs "Simplification" - Edge contraction tree simplification

@subsection app_modules Applications
- @ref quadrix-desktop.rs "Desktop App" - Tauri-based native desktop application
- @ref web_gui.rs "Web GUI" - Axum-based web interface
- @ref hexplot.rs "Hexplot CLI" - Command-line hexplot generation

@section math_sec Mathematical Background

@subsection quadric_math Quadric Matrices

A quadric matrix represents the squared distance from a geometric primitive. For an edge in 3D space:

\f[
Q = v_1 \cdot v_1^T + v_2 \cdot v_2^T
\f]

where \f$v_1\f$ and \f$v_2\f$ are orthonormal vectors perpendicular to the edge direction.

Properties:
- Symmetric (3x3)
- Positive semi-definite
- Trace = 2 (sum of eigenvalues)
- Determinant = 0 (one zero eigenvalue along edge direction)

@subsection normpolar_math NormPolar Transformations

The hexagonal plots use NormPolar transformations to map 3D eigenvalue data onto 2D hexagonal coordinates:

**L1 Metric (NormPolar1):**
\f[
NP1_1(x,y,z) = \frac{x}{x+y+z} - \frac{yz}{yz+xz+xy}
\f]

**L2 Metric (NormPolar2):**
\f[
NP2_1(x,y,z) = \frac{x^2}{x^2+y^2+z^2} - \frac{y^2 z^2}{y^2 z^2+x^2 z^2+x^2 y^2}
\f]

@subsection fisher_math Hexagonal Fisher Metric

The hexagonal Fisher metric measures distances between ellipsoid types:

\f[
d_{hex}(x, y) = d_{geo}(\Lambda(E), \Lambda(E')) + d_{geo}(\Lambda(E^*), \Lambda(E'^*))
\f]

Where:
- \f$\Lambda\f$ maps eigenvalues to the unit sphere via L2 normalization
- \f$E^*\f$ is the dual ellipsoid characterized by \f$(l_2 l_3, l_1 l_3, l_1 l_2)\f$
- \f$d_{geo}\f$ is the geodesic distance on \f$S^2\f$: \f$d_{geo}(p, q) = \arccos(p \cdot q)\f$

@section install_sec Installation

See @ref INSTALL.md "Installation Guide" for detailed setup instructions.

@section quickstart_sec Quick Start

See @ref QUICKSTART.md "Quick Start Guide" for getting started quickly.

@section license_sec License

Private - All rights reserved

@author Yossi Bokor Bleile
@version 0.2.0
@date 2025
*/

/**
@defgroup core Core Library
@brief Core data structures and algorithms for dendritic analysis

This module contains the fundamental building blocks:
- Vertex representation
- Edge structures with quadric computation
- Dendrite aggregation
- Eigenvalue analysis
*/

/**
@defgroup io Input/Output
@brief File parsing and data persistence

Modules for reading and writing data:
- SWC file format support
- CSV data handling
- SQLite database persistence
*/

/**
@defgroup visualization Visualization
@brief Plotting and visual analysis tools

Tools for visualizing dendritic structures:
- Hexagonal eigenvalue plots
- 3D structure rendering
- Interactive plotting
*/

/**
@defgroup applications Applications
@brief End-user applications

Complete applications built on the library:
- Desktop GUI (Tauri)
- Web interface (Axum)
- Command-line tools
*/
