class_docstr: docstring for  MorphabelModel
  model: nver: number of vertices. ntri: number of triangles. *: must have. ~: can generate ones array for place holder.
          'shapeMU': [3*nver, 1]. *
          'shapePC': [3*nver, n_shape_para]. *
          'shapeEV': [n_shape_para, 1]. ~
          'expMU': [3*nver, 1]. ~ 
          'expPC': [3*nver, n_exp_para]. ~
          'expEV': [n_exp_para, 1]. ~
          'texMU': [3*nver, 1]. ~
          'texPC': [3*nver, n_tex_para]. ~
          'texEV': [n_tex_para, 1]. ~
          'tri': [ntri, 3] (start from 1, should sub 1 in python and c++). *
          'tri_mouth': [114, 3] (start from 1, as a supplement to mouth triangles). ~
          'kpt_ind': [68,] (start from 1). ~
class_docstr_tok: ["docstring","for","MorphabelModel","model",":","nver",":","number","of","vertices",".","ntri",":","number","of","triangles",".","*",":","must","have",".","~",":","can","generate","ones","array","for","place","holder",".","'shapeMU","'",":","[","3","*","nver",",","1","]",".","*","'shapePC","'",":","[","3","*","nver",",","n_shape_para","]",".","*","'shapeEV","'",":","[","n_shape_para",",","1","]",".","~","'expMU","'",":","[","3","*","nver",",","1","]",".","~","'expPC","'",":","[","3","*","nver",",","n_exp_para","]",".","~","'expEV","'",":","[","n_exp_para",",","1","]",".","~","'texMU","'",":","[","3","*","nver",",","1","]",".","~","'texPC","'",":","[","3","*","nver",",","n_tex_para","]",".","~","'texEV","'",":","[","n_tex_para",",","1","]",".","~","'tri","'",":","[","ntri",",","3","]","(","start","from","1",",","should","sub","1","in","python","and","c++",")",".","*","'tri_mouth","'",":","[","114",",","3","]","(","start","from","1",",","as","a","supplement","to","mouth","triangles",")",".","~","'kpt_ind","'",":","[","68",",","]","(","start","from","1",")",".","~"]
docstr: Args:
      tex_para: (n_tex_para, 1)
  Returns:
      colors: (nver, 3)
docstr_tok: ["Args",":","tex_para",":","(","n_tex_para",",","1",")","Returns",":","colors",":","(","nver",",","3",")"]
code: def generate_colors(self, tex_para):
      """
      Args:
          tex_para: (n_tex_para, 1)
      Returns:
          colors: (nver, 3)
      """
      colors = self.model["texMU"] + self.model["texPC"].dot(
          tex_para * self.model["texEV"]
      )
      colors = (
          np.reshape(colors, [int(3), int(len(colors) / 3)], "F").T
          / 255.0
      )
  
      return colors
  
file_path: insightface/python-package/insightface/thirdparty/face3d/morphable_model/morphabel_model.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import scipy.io
  from ..None import mesh
  from .None import fit
  from .None import load
label_desc: Use image node_id 6 for calling the MorphabelModel obj's underlying member method code with example usage: obj.generate_colors(tex_para) and returns: colors