We present a new form of Kalman filter that allows the size of the state vector estimated by the filter to vary in an arbitrary way. The state vector is structured as a single global state vector and any number of local state vectors. The local state vectors are allowed to be coupled by the system plant equations to the global state vector, but not to each other. This means that the inverse covariance matrix contains mostly zeroes, and this allows the Kalman filter to be formulated such that the time complexity is a linear function of the number of local states, rather than cubic as would be the case with the normal Kalman filter. Local states may be added to or removed from the state vector at any time. The filter does not strictly allow state dynamics, but approximate methods are available under certain assumptions. We have implemented an active camera calibration algorithm for a high performance head/eye platform, Yorick, using the filter. This uses the trajectories of an arbitrary and changing number of tracked image features to update the calibration parameters over time. The algorithm is fully integrated into a parallel real-time vision system for gaze control.