🎨
EigenDenoise
macOS 14+
Metal GPU
Native macOS image denoiser using random matrix theory — the macOS counterpart to Generalized Covariance Matrix. Pure Swift, Metal-accelerated, App Store sandbox-ready.
🔬 Marchenko–Pastur
📈 Generalized-Cov Oracle
⚡ Metal Acceleration
🎲 5 Noise Models
📊 Spectral Visualizations
🛡️ App Sandbox
Key Capabilities
- ✅ Side-by-side RMT denoisers — MP thresholding + generalized-covariance oracle (β·δ_a + (1−β)·δ_1)
- ✅ Differential evolution to find best (a, β) against a clean reference
- ✅ Three interactive spectral tabs — Eigenvalue density, Im(s) vs z, Roots vs β
- ✅ Curated dataset gallery: ORL Faces (400 PGMs), CBSD68 (68 colour), Brain MRI (3,264 T1 slices)
- ✅ Custom URL lists with per-image checkboxes & destination preview
💻 System Requirements
- macOS 14 (Sonoma) or later
- Apple Silicon (arm64) — Rosetta supported
- Metal GPU acceleration (LAPACK fallback)
- App Sandbox enabled
⚙️ Tech Stack
- Pure Swift 5.9+ / SwiftUI / Charts
MPSMatrixMultiplication for Gram step
- LAPACK
dsyevd for eigen-decomposition
- Zero external Swift package deps
Mathematics
For X ∈ ℝ^(p×n) with i.i.d. N(0,1) entries, S_n = (1/n)XXᵀ and T_n = diag(t₁,…,t_p), the generalized sample covariance B_n = S_n T_n. Its Stieltjes transform satisfies a cubic:
a·z·s³ + (a(z − y + 1) + z)·s² + (a + z − y + 1 − y·β·(a − 1))·s + 1 = 0
Limiting density f_{y,H}(z) follows from Cardano's depressed-cubic root; support recovered via bulk-edge function and quartic discriminant for one-interval (Cases 1, 3) vs two-interval (Case 2) topology.
Technical Specifications
Created by: Yao-Hsing Yu
License: MIT
Platform: macOS 14+ (Apple Silicon)
Type: Native macOS App (App Store ready)
Status: Active Development