def sliced_image(image,trials=5):
  new_image = SlicedImage(image=image)
  candidate_slice_widths = n_best_slice_widths(image,trials)
  for width in candidate_slice_widths:
    try:
      new_image.slice_image(slice_width = width)
      return new_image
    except Exception as e:
      print e
      print 'broke on width', width
  raise Exception('no width found!')
def main(n_slices):
  """ test out the class
  """
  image = SlicedImage(fn='images/orig.png')
  image.slice_image(n_slices)
  image.shuffle_slices()
  new_image = image.sliced_image()
  fn = open('sliced_image.png','w')
  new_image.image.save(fn)
  fn.close()
  new_image.slice_image(n_slices)
  reorder_slices(new_image)
  reordered_image = new_image.sliced_image()
  fn2 = open('recompiled_image.png','w')
  reordered_image.image.save(fn2)
  fn2.close()