code: def ttest_ind(a, b, axis=0, equal_var=True):
      v1 = da.var(a, axis, ddof=1)  # XXX: np -> da
      v2 = da.var(b, axis, ddof=1)  # XXX: np -> da
      n1 = a.shape[axis]
      n2 = b.shape[axis]
  
      if equal_var:
          df, denom = _equal_var_ttest_denom(v1, n1, v2, n2)
      else:
          df, denom = _unequal_var_ttest_denom(v1, n1, v2, n2)
  
      res = _ttest_ind_from_stats(
          da.mean(a, axis), da.mean(b, axis), denom, df
      )
  
      return delayed(Ttest_indResult, nout=2)(*res)
  
imports: from __future__ import annotations
  import math
  from collections import namedtuple
  import numpy
  import dask.array
  from dask import delayed
  from dask.array.ufunc import wrap_elemwise
  from dask.utils import derived_from
  from scipy import special
  from scipy.stats import distributions
label_desc: Use image node_id 1 for calling a global function with example usage: ttest_ind(a, b, axis, equal_var) and returns: delayed