code: def zjitter(jitter=0.0, radius=5):
      
      psfsize = np.array([2.0, 1.0, 3.0])
  
      # create a base image of one particle
      s0 = init.create_single_particle_state(imsize=4*radius, 
              radius=radius, psfargs={'params': psfsize, 'error': 1e-6})
      sl = np.s_[s0.pad:-s0.pad,s0.pad:-s0.pad,s0.pad:-s0.pad]
  
      # add up a bunch of trajectories
      finalimage = 0*s0.get_model_image()[sl]
      position = 0*s0.obj.pos[0]
  
      for i in xrange(finalimage.shape[0]):
          offset = jitter*np.random.randn(3)*np.array([1,0,0])
          s0.obj.pos[0] = np.array(s0.image.shape)/2 + offset
          s0.reset()
  
          finalimage[i] = s0.get_model_image()[sl][i]
          position += s0.obj.pos[0]
  
      position /= float(finalimage.shape[0])
  
      # place that into a new image at the expected parameters
      s = init.create_single_particle_state(imsize=4*radius, sigma=0.05,
              radius=radius, psfargs={'params': psfsize, 'error': 1e-6})
      s.reset()
  
      # measure the true inferred parameters
      return s, finalimage, position
docs: scan jitter is in terms of the fractional pixel difference when
      moving the laser in the z-direction