def get_surfinfo(self, subject, type="curvature", recache=False, **kwargs):
        """Return auxillary surface information from the filestore. Surface info is defined as 
        anatomical information specific to a subject in surface space. A Vertex class will be returned
        as necessary. Info not found in the filestore will be automatically generated.

        See documentation in cortex.surfinfo for auto-generation code

        Parameters
        ----------
        subject: str
            Subject name for which to return info
        type: str
            Type of surface info returned, IE. curvature, distortion, sulcaldepth, etc.
        recache: bool
            Regenerate the information

        Returns
        -------
        verts : Vertex class
            If the surface information has "left" and "right" entries, a Vertex class is returned

        - OR -
        
        npz : npzfile
            Otherwise, an npz object is returned. Remember to close it!
        """
        opts = ""
        if len(kwargs) > 0:
            opts = "[%s]"%','.join(["%s=%s"%i for i in kwargs.items()])
        try:
            self.auxfile.get_surf(subject, "fiducial")
            surfifile = os.path.join(self.get_cache(subject),"%s%s.npz"%(type, opts)) 
        except (AttributeError, __HOLE__):
            surfiform = self.get_paths(subject)['surfinfo']
            surfifile = surfiform.format(type=type, opts=opts)

            if not os.path.exists(os.path.join(self.filestore, subject, "surface-info")):
                os.makedirs(os.path.join(self.filestore, subject, "surface-info"))

        if not os.path.exists(surfifile) or recache:
            print ("Generating %s surface info..."%type)
            from . import surfinfo
            getattr(surfinfo, type)(surfifile, subject, **kwargs)

        npz = np.load(surfifile)
        if "left" in npz and "right" in npz:
            from .dataset import Vertex
            verts = np.hstack([npz['left'], npz['right']])
            npz.close()
            return Vertex(verts, subject)
        return npz
dataset/ETHPy150Open gallantlab/pycortex/cortex/database.py/Database.get_surfinfo