Low-level fixes to camera objects / simplify camera to separate out analysis functions