docstr: Shear kurtosis.
  
  Returns
  -------
  k_shear : numpy.ndarray
  
  Notes
  -----
  Shear kurtosis is calculated as
  
      .. math::
  
          K_      ext{shear} = rac{6}{5} rac{\mathbb{C} :
          \mathbb{E}_     ext{shear}}{\langle \mathbf{D} 
  angle \otimes
          \langle \mathbf{D} 
  angle : \mathbb{E}_     ext{bulk}}
docstr_tok: ["Shear","kurtosis",".","Returns","--","--","--","-","k_shear",":","numpy.ndarray","Notes","--","--","-","Shear","kurtosis","is","calculated","as","..","math",":",":","K_","ext","{","shear","}","=","rac","{","6","}","{","5","}","rac","{","\\mathbb","{","C","}",":","\\mathbb","{","E","}","_","ext","{","shear","}","}","{","\\langle","\\mathbf","{","D","}","angle","\\otimes","\\langle","\\mathbf","{","D","}","angle",":","\\mathbb","{","E","}","_","ext","{","bulk","}","}"]
code: def k_shear(self):
      """Shear kurtosis.
  
      Returns
      -------
      k_shear : numpy.ndarray
  
      Notes
      -----
      Shear kurtosis is calculated as
  
          .. math::
  
              K_\text{shear} = \frac{6}{5} \frac{\mathbb{C} :
              \mathbb{E}_\text{shear}}{\langle \mathbf{D} \rangle \otimes
              \langle \mathbf{D} \rangle : \mathbb{E}_\text{bulk}}
      """
      k_shear = (
          6
          / 5
          * np.matmul(
              self.params[..., np.newaxis, 7::],
              from_6x6_to_21x1(E_shear),
          )
          / np.matmul(
              np.swapaxes(from_6x6_to_21x1(self.d_sq), -1, -2),
              from_6x6_to_21x1(E_bulk),
          )
      )[..., 0, 0]
      return k_shear
  
imports: from warnings import warn
  import numpy
  from dipy.reconst.base import ReconstModel
  from dipy.reconst.dti import auto_attr
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 18 for calling the QtiFit obj's underlying member method code with example usage: obj.k_shear() and returns: k_shear