def load_surface(self, surf_fi_name):
     '''
     Load a new FreeSurfer ASC surface and make it active.
     Args:
     surf_fi_name: The path to the surface file
     '''
     try:
         res = FsF.read_surface(surf_fi_name)
         self.x_range = res["x_range"]
         self.y_range = res["y_range"]
         self.z_range = res["z_range"]
         self.nodes = res["nodes"]
         self.triangles = res["triangles"]
         #self.normals = res['normals']
         self.no_surface = False
         
     except IOError as e:
         #TODO: Rethink error handling
         print "Could not open surface file: %s"%str(e)
         tkMessageBox.showerror("Could not open surface file", 
                                "%s Try reloading the dataset."%(str(e)))
         self.no_surface = True
         raise
         
     except (ValueError, struct_error) as e:
         if e.message != "COVI only supports FreeSurfer ASCII surfaces at this time.":
             print "Error reading surface file: %s"%str(e)
             tkMessageBox.showerror("Error reading surface file", 
                                "%s"%(str(e)))
         raise