def __init__(self, reference_frame, origin, visualization_frames, name=None, width=800, height=600, camera=None)

In this way, we can directly assign it to a list, and can use append, remove methods for list.
It would also appear distinct to other arguments, easily readable ..

s = Scene(I, O, [vframe1,vframe2,..], name='sdf', ...)

rather than ..
s = Scene(I, O, vframe1, vframe2, name='sas', ...)