Small, cleaned-up project structure for the LMU AI lab notebook on model selection and spectral reconstruction.
specrecon/
|-- docs/
| |-- figures/
| | |-- model-selection/
| | `-- spectral-reconstruction/
| `-- reference/
| `-- Spec_Recon_AI_lab.pdf
|-- notebooks/
| `-- Vyron_AI_lab_SpecRecon.ipynb
|-- src/
| `-- specrecon/
| |-- __init__.py
| |-- plotting.py
| |-- polynomial.py
| |-- sampling.py
| |-- spectral.py
| `-- toy_data.py
|-- .gitignore
`-- pyproject.toml
specrecon.toy_data
- Generates the toy regression dataset used in the model-selection section.
specrecon.polynomial
- Polynomial fitting utilities.
- Vandermonde design-matrix construction.
- Gaussian log-likelihood.
- Bayesian posterior coefficients and polynomial-model evidence.
specrecon.plotting
- Plot helpers extracted from the notebook.
- Keeps visualization code separate from the numerical routines.
specrecon.spectral
- Frequency-grid construction.
- RBF prior kernel helpers.
- Response-matrix construction.
- Spectral marginal likelihood and posterior helper utilities.
specrecon.sampling
- Sequential posterior updates.
- Adaptive sampling loop.
- Random sampling loop.
- The notebook is still kept in
notebooks/as the main exploratory document. - Reusable Python code has been pulled into
src/specrecon/so the project is no longer notebook-only. - The package uses clearer ASCII function names internally, while keeping a few notebook-style aliases for compatibility.
pyproject.tomldefines a minimal installable package plus optional extras for plotting and notebook work.- The figure outputs and the PDF reference were moved out of the repository root to keep the top-level layout focused.
- The notebook expects additional experiment data such as
interferogram_spectrum.npz, but that file is not present in this repository.
pip install -e .Install notebook-related dependencies if you want to rerun the notebook:
pip install -e .[notebook]