class_docstr: STARE dataset is processed from the STARE(STructured Analysis of the Retina) project.
  (https://cecas.clemson.edu/~ahoover/stare/)
  
  Args:
      transforms (list): Transforms for image.
      dataset_root (str): The dataset directory. Default: None
      edge (bool): whether extract edge infor in the output
      mode (str, optional): Which part of dataset to use. it is one of ('train', 'val', 'test'). Default: 'train'.
code: def __init__(
      self, dataset_root=None, transforms=None, edge=False, mode="train"
  ):
      self.dataset_root = dataset_root
      self.transforms = Compose(transforms)
      mode = mode.lower()
      self.mode = mode
      self.edge = edge
      self.file_list = list()
      self.num_classes = self.NUM_CLASSES
      self.ignore_index = self.IGNORE_INDEX
  
      if mode not in ["train", "val", "test"]:
          raise ValueError(
              "`mode` should be 'train', 'val' or 'test', but got {}.".format(
                  mode
              )
          )
  
      if self.transforms is None:
          raise ValueError("`transforms` is necessary, but it is None.")
  
      if self.dataset_root is None:
          self.dataset_root = download_file_and_uncompress(
              url=URL,
              savepath=seg_env.DATA_HOME,
              extrapath=seg_env.DATA_HOME,
          )
      elif not os.path.exists(self.dataset_root):
          self.dataset_root = os.path.normpath(self.dataset_root)
          savepath, extraname = self.dataset_root.rsplit(
              sep=os.path.sep, maxsplit=1
          )  # data  STARE
          self.dataset_root = download_file_and_uncompress(
              url=URL,
              savepath=savepath,
              extrapath=savepath,
              extraname=extraname,
          )
  
      if mode == "train":
          file_path = os.path.join(self.dataset_root, "train_list.txt")
      elif mode == "val":
          file_path = os.path.join(self.dataset_root, "val_list.txt")
  
      with open(file_path, "r") as f:
          for line in f:
              items = line.strip().split()
              if len(items) != 2:
                  if mode == "train" or mode == "val":
                      raise Exception(
                          "File list format incorrect! It should be"
                          " image_name label_name\\n"
                      )
                  image_path = os.path.join(self.dataset_root, items[0])
                  grt_path = None
              else:
                  image_path = os.path.join(self.dataset_root, items[0])
                  grt_path = os.path.join(self.dataset_root, items[1])
              self.file_list.append([image_path, grt_path])
  
file_path: PaddleSeg/paddleseg/datasets/stare.py
imports: import os
  from paddleseg.utils.download import download_file_and_uncompress
  from paddleseg.utils import seg_env
  from paddleseg.cvlibs import manager
  from paddleseg.transforms import Compose
  from paddleseg.datasets import Dataset
label_desc: Use image node_id 1 to create a new STARE object from inherited base classes: Dataset with example: obj = STARE(dataset_root, transforms, edge, mode)