- Generate base images once upfront, then apply all blur levels to the
SAME images (was generating different random images per blur level)
- Add separable convolution for kernel_size > 15 (O(2k) vs O(k²))
- Add kernel caching to avoid recomputation
- Add per-blur-level progress logging
This matches SubspaceLab's methodology and ensures PCA receives
properly paired stimuli (same image × multiple blur levels).