docstr: Compose this transform onto another
  
  Parameters
  ----------
  other : Transform
      transform that we compose onto
  
  Returns
  -------
  composed_transform : Transform
      a transform implementing the composition of self on `other`
docstr_tok: ["Compose","this","transform","onto","another","Parameters","--","--","--","--","--","other",":","Transform","transform","that","we","compose","onto","Returns","--","--","--","-","composed_transform",":","Transform","a","transform","implementing","the","composition","of","self","on","`","other","`"]
code: def compose(self, other):
      """
      Compose this transform onto another
  
      Parameters
      ----------
      other : Transform
          transform that we compose onto
  
      Returns
      -------
      composed_transform : Transform
          a transform implementing the composition of self on `other`
      """
      # If other is not an Affine, use the generic compose method
      if not hasattr(other, "as_affine"):
          return Transform(self.apply).compose(other)
  
      # Affine case: the result is a polyaffine transform with same
      # local affines
      if self.glob_affine is None:
          glob_affine = other.as_affine()
      else:
          glob_affine = np.dot(self.glob_affine, other.as_affine())
  
      return self.__class__(
          self.centers,
          self.affines(),
          self.sigma,
          glob_affine=glob_affine,
      )
  
file_path: nipy/nipy/algorithms/registration/polyaffine.py
imports: import numpy
  from ._registration import _apply_polyaffine
  from .affine import apply_affine
  from .transform import Transform
label_desc: Use image node_id 5 for calling the PolyAffine obj's underlying member method code with example usage: obj.compose(other) and returns: self, Transform