code: def map2seed(self, map_):
          
          seed = self.get_seed()['places'] # Template
          
          o = 0
          for i, place in enumerate(seed):
              # Set of points [_, -1, 0, _]
              if place['set_of_points'].shape[0] != 0: # Maybe no set_of_points
                  polygon = place['set_of_points']
                  seed[i]['set_of_points'] = map_[o: o + polygon.shape[0], :]
                  o += polygon.shape[0]
              #Holes [_, 0, -N, _]
              for ii, hole in enumerate(place['surface']['holes']):
                  seed[i]['surface']['holes'][ii] = map_[o: o + hole.shape[0], :]
                  o += hole.shape[0]
              #Surface [_, 0, N, _]
              for ii, polygon in enumerate(place['surface']['polygons']):
                  seed[i]['surface']['polygons'][ii] = map_[o: o + 
                                                            polygon.shape[0], :]
                  o += polygon.shape[0]
              #Polyhedras [_, N, _, _]
              if len(place['polyhedra']) != 0: # Maybe no polyhedra
                  for ii, polygon_list in enumerate(place['polyhedra']):
                      for iii, polygon in enumerate(polygon_list):
                          seed[i]['polyhedra'][ii][iii] = map_[o: o +
                                                          polygon.shape[0], :]
                          o += polygon.shape[0]
          return {'places': seed}
docs: Returns a seed from an altered map. The map needs to have the 
          structure of this ``pyny.Space``, that is, the same as
          ``self.get_map()``.
          
          :param map_: the points, and the same order, that appear at 
              ``pyny.Space.get_map()``.
          :type map_: ndarray (shape=(N, 3))
          :returns: ``pyny.Space`` seed.
          :rtype: dict
          
          .. seealso:: 
              
              * :func:`get_seed` 
              * :func:`get_map` 
              * :func:`map2pyny`
              * :func:`explode_map`