In this paper, we present a novel single image deblurring method to handle camera shake motion that leads to spatially nonuniform blur kernels. Existing spatially-invariant deconvolution methods are used in a local and robust way to initialize priors for portions of the latent image. The camera motion is represented as a Motion Density Function (MDF) which records the fraction of time spent in each discretized portion of the space of all possible camera poses. Spatially varying blur kernels can then be derived directly from the MDF. We specify sparsity and compactness priors over the MDF and formulate an optimization problem to iteratively solve for both the MDF and the deblurred image. We show that general 6D camera motion is well approximated by 3 degrees of motion (in-plane translation and rotation) and analyze the scope of this approximation. We present results on both synthetic and captured data. Our system out-performs the current state of the art approaches which makes the assumption of spatial invariance of the blur kernels.