nirs4all.data.synthetic.reconstruction.validation module
Validation and diagnostics for reconstruction quality.
Provides tools to evaluate: 1. Reconstruction quality (residual analysis) 2. Synthetic vs real data comparison (PCA, statistics) 3. Parameter plausibility checks
- class nirs4all.data.synthetic.reconstruction.validation.ReconstructionValidator(r2_threshold: float = 0.9, residual_autocorr_threshold: float = 0.3, pca_distance_threshold: float = 3.0, concentration_max: float = 10.0, path_length_bounds: Tuple[float, float] = (0.3, 3.0))[source]
Bases:
objectValidate reconstruction quality and synthetic realism.
Checks: 1. Residuals should be structureless (no systematic patterns) 2. Synthetic should match real in PCA space 3. Per-wavelength statistics should be similar 4. Parameters should be physically plausible
- validate(inversion_results: List['InversionResult'], X_real: np.ndarray, X_synth: np.ndarray) ValidationResult[source]
Run full validation.
- Parameters:
inversion_results – Inversion results.
X_real – Real data.
X_synth – Synthetic data.
- Returns:
ValidationResult.
- validate_parameters(inversion_results: List['InversionResult']) Dict[str, Any][source]
Validate parameter plausibility.
- Parameters:
inversion_results – List of inversion results.
- Returns:
Dict of parameter metrics.
- class nirs4all.data.synthetic.reconstruction.validation.ValidationResult(reconstruction_metrics: Dict[str, ~typing.Any]=<factory>, synthetic_metrics: Dict[str, ~typing.Any]=<factory>, parameter_metrics: Dict[str, ~typing.Any]=<factory>, overall_score: float = 0.0, passed: bool = False, warnings: List[str] = <factory>)[source]
Bases:
objectResult of reconstruction validation.
- nirs4all.data.synthetic.reconstruction.validation.compute_diagnostic_data(X_real: np.ndarray, X_synth: np.ndarray, inversion_results: List['InversionResult'] | None = None, wavelengths: np.ndarray | None = None) Dict[str, Any][source]
Compute data for diagnostic plots.
- Parameters:
X_real – Real data.
X_synth – Synthetic data.
inversion_results – Optional inversion results for residuals.
wavelengths – Wavelength grid.
- Returns:
Dict of diagnostic data arrays.