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`

def map2seed(self, map_):
        """
        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`
            
        """
        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}