old_contents: """
  =========================
  Measure region properties
  =========================
  
  This example shows how to measure properties of labelled image regions.
  """
  
  import math
  import matplotlib.pyplot as plt
  import numpy as np
  
  from skimage.draw import ellipse
  from skimage.morphology import label
  from skimage.measure import regionprops
  from scipy.ndimage import geometric_transform
  
  
  ANGLE = 0.2
  
  def rotate(xy):
      x, y = xy
      out_x = math.cos(ANGLE) * x - math.sin(ANGLE) * y
      out_y = math.sin(ANGLE) * x + math.cos(ANGLE) * y
      return (out_x, out_y)
  
  image = np.zeros((600, 600), 'int')
  
  rr, cc = ellipse(300, 350, 100, 220)
  image[rr,cc] = 1
  
  image = geometric_transform(image, rotate)
  
  label_img = label(image)
  props = regionprops(label_img, [
      'BoundingBox',
      'Centroid',
      'Orientation',
      'MajorAxisLength',
      'MinorAxisLength'
  ])
  
  plt.imshow(image)
  
  for prop in props:
      x0 = prop['Centroid'][1]
      y0 = prop['Centroid'][0]
      x1 = x0 + math.cos(prop['Orientation']) * 0.5 * prop['MajorAxisLength']
      y1 = y0 - math.sin(prop['Orientation']) * 0.5 * prop['MajorAxisLength']
      x2 = x0 - math.sin(prop['Orientation']) * 0.5 * prop['MinorAxisLength']
      y2 = y0 - math.cos(prop['Orientation']) * 0.5 * prop['MinorAxisLength']
  
      plt.plot((x0, x1), (y0, y1), '-r', linewidth=2.5)
      plt.plot((x0, x2), (y0, y2), '-r', linewidth=2.5)
      plt.plot(x0, y0, '.g', markersize=15)
  
      minr, minc, maxr, maxc = prop['BoundingBox']
      bx = (minc, maxc, maxc, minc, minc)
      by = (minr, minr, maxr, maxr, minr)
      plt.plot(bx, by, '-b', linewidth=2.5)
  
  plt.gray()
  plt.axis((0, 600, 600, 0))
  plt.show()
  
new_contents: """
  =========================
  Measure region properties
  =========================
  
  This example shows how to measure properties of labelled image regions.
  """
  
  import math
  import matplotlib.pyplot as plt
  import numpy as np
  
  from skimage.util import img_as_ubyte
  from skimage.draw import ellipse
  from skimage.morphology import label
  from skimage.measure import regionprops
  from skimage.transform import rotate
  
  
  image = np.zeros((600, 600))
  
  rr, cc = ellipse(300, 350, 100, 220)
  image[rr,cc] = 1
  
  image = rotate(image, angle=15) > 0
  
  label_img = label(image)
  props = regionprops(label_img, [
      'BoundingBox',
      'Centroid',
      'Orientation',
      'MajorAxisLength',
      'MinorAxisLength'
  ])
  
  plt.imshow(image)
  
  for prop in props:
      x0 = prop['Centroid'][1]
      y0 = prop['Centroid'][0]
      x1 = x0 + math.cos(prop['Orientation']) * 0.5 * prop['MajorAxisLength']
      y1 = y0 - math.sin(prop['Orientation']) * 0.5 * prop['MajorAxisLength']
      x2 = x0 - math.sin(prop['Orientation']) * 0.5 * prop['MinorAxisLength']
      y2 = y0 - math.cos(prop['Orientation']) * 0.5 * prop['MinorAxisLength']
  
      plt.plot((x0, x1), (y0, y1), '-r', linewidth=2.5)
      plt.plot((x0, x2), (y0, y2), '-r', linewidth=2.5)
      plt.plot(x0, y0, '.g', markersize=15)
  
      minr, minc, maxr, maxc = prop['BoundingBox']
      bx = (minc, maxc, maxc, minc, minc)
      by = (minr, minr, maxr, maxr, minr)
      plt.plot(bx, by, '-b', linewidth=2.5)
  
  plt.gray()
  plt.axis((0, 600, 600, 0))
  plt.show()
  
subject: Replace scipy.ndimage routine with skimage.ndimage.rotate