tedana.combine.make_optcom

make_optcom(data, tes, mask, t2s=None, combmode='t2s', verbose=True)[source]

Optimally combine BOLD data across TEs.

Parameters:
  • data ((S x E x T) numpy.ndarray) – Concatenated BOLD data.
  • tes ((E,) numpy.ndarray) – Array of TEs, in seconds.
  • mask ((S,) numpy.ndarray) – Brain mask in 3D array.
  • t2s ((S [x T]) numpy.ndarray or None, optional) – Estimated T2* values. Only required if combmode = ‘t2s’. Default is None.
  • combmode ({'t2s', 'paid'}, optional) – How to combine data. Either ‘paid’ or ‘t2s’. If ‘paid’, argument ‘t2s’ is not required. Default is ‘t2s’.
  • verbose (bool, optional) – Whether to print status updates. Default is True.
Returns:

combined – Optimally combined data.

Return type:

(S x T) numpy.ndarray

Notes

  1. Estimate voxel- and TE-specific weights based on estimated T_2^*:

    w(T_2^*)_n = \frac{TE_n * exp(\frac{-TE}                {T_{2(est)}^*})}{\sum TE_n * exp(\frac{-TE}{T_{2(est)}^*})}

  2. Perform weighted average per voxel and TR across TEs based on weights estimated in the previous step.