code: def make_shape(self):
          
          # In DS9, ellipse can also represents an elliptical annulus
          # For elliptical annulus angle is optional.
          if self.region_type == 'ellipse':
              self.coord[2:] = [x * 2 for x in self.coord[2:]]
              if len(self.coord) % 2 == 1:  # This checks if angle is present
                  self.coord[-1] /= 2
  
          if 'point' in self.meta:
              point = self.meta['point'].split(" ")
              if len(point) > 1:
                  self.meta['symsize'] = point[1]
              self.meta['point'] = valid_symbols_ds9[point[0]]
  
          if 'font' in self.meta:
              fonts = self.meta['font'].split(" ")
              keys = ['font', 'fontsize', 'fontstyle', 'fontweight']
              for i, val in enumerate(fonts):
                  self.meta[keys[i]] = val
  
          self.meta.pop('coord', None)
  
          self.shape = Shape(coordsys=self.coordsys,
                             region_type=reg_mapping['DS9'][self.region_type],
                             coord=self.coord,
                             meta=self.meta,
                             composite=self.composite,
                             include=self.include,
                            )
docs: Make shape object