Create a mask image with colored regions.

        Parameters
        ----------
        dims : tuple, optional, default = None
            Dimensions of embedding image,
            will be ignored if background image is provided.

        base : array-like, optional, default = None
            Array to use as base image, can be 2d (BW) or 3d (RGB).

        fill : str or array-like, optional, default = 'pink'
            String color specifier, or RGB values,
            or a list of either.

        stroke : str or array-like, optional, default = None
            String color specifier, or RGB values,
            or a list of either.

        background : str or array-like, optional, default = None
            String color specifier, or RGB values.

        cmap : str or colormap, optional, deafult = None
            String specifier for colormap, or colormap. Will control
            both fill and stroke. Use cmap_stroke to
            set stroke independently.

        cmap_stroke : str or colormap, optional, deafult = None
            String specifier for colormap, or colormap, for stroke only.

        value : array-like, optional, default = None
            Value per region for use with colormap.
            If None and cmap is specified, will use the range
            from 0 to the number of regions.

def mask(self, dims=None, base=None, fill='deeppink', stroke='black', background=None, 
             cmap=None, cmap_stroke=None, value=None):
        """
        Create a mask image with colored regions.

        Parameters
        ----------
        dims : tuple, optional, default = None
            Dimensions of embedding image,
            will be ignored if background image is provided.

        base : array-like, optional, default = None
            Array to use as base image, can be 2d (BW) or 3d (RGB).

        fill : str or array-like, optional, default = 'pink'
            String color specifier, or RGB values,
            or a list of either.

        stroke : str or array-like, optional, default = None
            String color specifier, or RGB values,
            or a list of either.

        background : str or array-like, optional, default = None
            String color specifier, or RGB values.

        cmap : str or colormap, optional, deafult = None
            String specifier for colormap, or colormap. Will control
            both fill and stroke. Use cmap_stroke to
            set stroke independently.

        cmap_stroke : str or colormap, optional, deafult = None
            String specifier for colormap, or colormap, for stroke only.

        value : array-like, optional, default = None
            Value per region for use with colormap.
            If None and cmap is specified, will use the range
            from 0 to the number of regions.
        """
        if (cmap is not None or cmap_stroke is not None) and value is None:
            value = arange(self.count)
        background = getcolor(background)
        stroke = getcolors(stroke, self.count, cmap_stroke, value)
        fill = getcolors(fill, self.count, cmap, value)

        minbound = asarray([b[0:2] for b in self.bbox]).min(axis=0)
        maxbound = asarray([b[2:] for b in self.bbox]).max(axis=0)
        extent = maxbound - minbound + 1

        if dims is None and base is None:
            regions = [one(r.coordinates - minbound) for r in self.regions]
        else:
            regions = self.regions

        base = getbase(base=base, dims=dims, extent=extent, background=background)

        for i, r in enumerate(regions):
            f = fill[i] if fill is not None else None
            s = stroke[i] if stroke is not None else None
            base = r.mask(base=base, fill=f, stroke=s)

        return base