prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  关于新增的RandomRotate
  好像pipeline的__init__.py里面忘记导入这个变换了，导致现在无法使用。
  
  </issue>
  <code>
  [start of mmseg/datasets/pipelines/__init__.py]
  1 from .compose import Compose
  2 from .formating import (Collect, ImageToTensor, ToDataContainer, ToTensor,
  3                         Transpose, to_tensor)
  4 from .loading import LoadAnnotations, LoadImageFromFile
  5 from .test_time_aug import MultiScaleFlipAug
  6 from .transforms import (Normalize, Pad, PhotoMetricDistortion, RandomCrop,
  7                          RandomFlip, Resize, SegRescale)
  8 
  9 __all__ = [
  10     'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',
  11     'Transpose', 'Collect', 'LoadAnnotations', 'LoadImageFromFile',
  12     'MultiScaleFlipAug', 'Resize', 'RandomFlip', 'Pad', 'RandomCrop',
  13     'Normalize', 'SegRescale', 'PhotoMetricDistortion'
  14 ]
  15
  [end of mmseg/datasets/pipelines/__init__.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/mmseg/datasets/pipelines/__init__.py b/mmseg/datasets/pipelines/__init__.py
  --- a/mmseg/datasets/pipelines/__init__.py
  +++ b/mmseg/datasets/pipelines/__init__.py
  @@ -4,11 +4,13 @@
   from .loading import LoadAnnotations, LoadImageFromFile
   from .test_time_aug import MultiScaleFlipAug
   from .transforms import (Normalize, Pad, PhotoMetricDistortion, RandomCrop,
  -                         RandomFlip, Resize, SegRescale)
  +                         RandomFlip, RandomRotate, Rerange, Resize, RGB2Gray,
  +                         SegRescale)
   
   __all__ = [
       'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',
       'Transpose', 'Collect', 'LoadAnnotations', 'LoadImageFromFile',
       'MultiScaleFlipAug', 'Resize', 'RandomFlip', 'Pad', 'RandomCrop',
  -    'Normalize', 'SegRescale', 'PhotoMetricDistortion'
  +    'Normalize', 'SegRescale', 'PhotoMetricDistortion', 'RandomRotate',
  +    'Rerange', 'RGB2Gray'
   ]
  
verification_info: {"golden_diff": "diff --git a/mmseg/datasets/pipelines/__init__.py b/mmseg/datasets/pipelines/__init__.py\n--- a/mmseg/datasets/pipelines/__init__.py\n+++ b/mmseg/datasets/pipelines/__init__.py\n@@ -4,11 +4,13 @@\n from .loading import LoadAnnotations, LoadImageFromFile\n from .test_time_aug import MultiScaleFlipAug\n from .transforms import (Normalize, Pad, PhotoMetricDistortion, RandomCrop,\n-                         RandomFlip, Resize, SegRescale)\n+                         RandomFlip, RandomRotate, Rerange, Resize, RGB2Gray,\n+                         SegRescale)\n \n __all__ = [\n     'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',\n     'Transpose', 'Collect', 'LoadAnnotations', 'LoadImageFromFile',\n     'MultiScaleFlipAug', 'Resize', 'RandomFlip', 'Pad', 'RandomCrop',\n-    'Normalize', 'SegRescale', 'PhotoMetricDistortion'\n+    'Normalize', 'SegRescale', 'PhotoMetricDistortion', 'RandomRotate',\n+    'Rerange', 'RGB2Gray'\n ]\n", "issue": "\u5173\u4e8e\u65b0\u589e\u7684RandomRotate\n\u597d\u50cfpipeline\u7684__init__.py\u91cc\u9762\u5fd8\u8bb0\u5bfc\u5165\u8fd9\u4e2a\u53d8\u6362\u4e86\uff0c\u5bfc\u81f4\u73b0\u5728\u65e0\u6cd5\u4f7f\u7528\u3002\n", "before_files": [{"content": "from .compose import Compose\nfrom .formating import (Collect, ImageToTensor, ToDataContainer, ToTensor,\n                        Transpose, to_tensor)\nfrom .loading import LoadAnnotations, LoadImageFromFile\nfrom .test_time_aug import MultiScaleFlipAug\nfrom .transforms import (Normalize, Pad, PhotoMetricDistortion, RandomCrop,\n                         RandomFlip, Resize, SegRescale)\n\n__all__ = [\n    'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',\n    'Transpose', 'Collect', 'LoadAnnotations', 'LoadImageFromFile',\n    'MultiScaleFlipAug', 'Resize', 'RandomFlip', 'Pad', 'RandomCrop',\n    'Normalize', 'SegRescale', 'PhotoMetricDistortion'\n]\n", "path": "mmseg/datasets/pipelines/__init__.py"}]}