DiffractionExperiment::GetImageTime() returns std::chrono::nanoseconds, but the chart stored its count() as microseconds, so the sampling frequency came out 1000x too small (a 6 ms image time gave a Nyquist of ~0.08 Hz instead of ~83 Hz). Keep the image time in seconds via duration<double>. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>