Ironically, general practitioners and radiologists thought the issue was pretty obvious, and the ones who missed it were specialists. But yeah, AI would probably be quite a bit better at this stuff, after being trained.
About software PWM, it is possible… but it usually doesn’t look very good. I used it for the 4th channel on my saber, since the MCU only had the ability to PWM 3 pins at once… and it’s pretty difficult to do software PWM without producing a noisy, glitchy signal. It needs to be precise down to a single clock cycle, and that’s nearly impossible on a device with interrupts. I got it pretty close, but sometimes it still has “blips” where an interrupt happened at the wrong time.
So it’s very, very strongly preferred to do hardware PWM instead.
If I ever get sufficient motivation, I’ve been meaning to do a hybrid of the two methods, using something like delta-sigma modulation in software, on top of hardware PWM. This would greatly increase the resolution, and it’s not as interrupt-sensitive as pure software PWM, but it’s still a bit tricky.