Smooth Matching Pursuit#

class invert.solvers.smooth_matching_pursuit.SolverISubSMP(name='Iterative Subspace Smooth Matching Pursuit', **kwargs)#
Class for the Subspace Smooth Matching Pursuit (SubSMP) inverse solution. Developed

by Lukas Hecker as a smooth extension of the orthogonal matching pursuit algorithm [1], 19.10.2022.

forward#

The mne-python Forward model instance.

Type

mne.Forward

References

[1] Duarte, M. F., & Eldar, Y. C. (2011). Structured compressed sensing: From theory to applications. IEEE Transactions on signal processing, 59(9), 4053-4085.

apply_inverse_operator(mne_obj, include_singletons=True) mne.source_estimate.SourceEstimate#

Apply the inverse operator. :param mne_obj: The MNE data object. :type mne_obj: [mne.Evoked, mne.Epochs, mne.io.Raw]

Returns

stc – The mne Source Estimate object

Return type

mne.SourceEstimate

calc_isubsmp_solution(y, include_singletons=True, var_thresh=1)#

Calculates the Orthogonal Matching Pursuit (OMP) inverse solution.

Parameters
  • y (numpy.ndarray) – The data matrix (channels, n_time).

  • include_singletons (bool) – If True -> Include not only smooth patches but also single dipoles.

Returns

x_hat – The inverse solution (dipoles,)

Return type

numpy.ndarray

calc_subsmp_solution(y, include_singletons=True, var_thresh=0.1)#

Calculate the Subspace Smooth Matching Pursuit (SubSMP) solution.

make_inverse_operator(forward, *args, alpha='auto', verbose=0, **kwargs)#

Calculate inverse operator.

Parameters
  • forward (mne.Forward) – The mne-python Forward model instance.

  • alpha (float) – The regularization parameter.

Returns

self

Return type

object returns itself for convenience

class invert.solvers.smooth_matching_pursuit.SolverSMP(name='Smooth Matching Pursuit', **kwargs)#
Class for the Smooth Matching Pursuit (SMP) inverse solution. Developed

by Lukas Hecker as a smooth extension of the orthogonal matching pursuit algorithm [1,2], 19.10.2022.

forward#

The mne-python Forward model instance.

Type

mne.Forward

References

[1] Tropp, J. A., & Gilbert, A. C. (2007). Signal recovery from random measurements via orthogonal matching pursuit. IEEE Transactions on information theory, 53(12), 4655-4666. [2] Duarte, M. F., & Eldar, Y. C. (2011). Structured compressed sensing: From theory to applications. IEEE Transactions on signal processing, 59(9), 4053-4085.

apply_inverse_operator(mne_obj, K=1, include_singletons=True) mne.source_estimate.SourceEstimate#

Apply the inverse operator. :param mne_obj: The MNE data object. :type mne_obj: [mne.Evoked, mne.Epochs, mne.io.Raw]

Returns

stc – The mne Source Estimate object

Return type

mne.SourceEstimate

calc_smp_solution(y, include_singletons=True)#

Calculates the Orthogonal Matching Pursuit (OMP) inverse solution.

Parameters
  • y (numpy.ndarray) – The data matrix (channels,).

  • include_singletons (bool) – If True -> Include not only smooth patches but also single dipoles.

Returns

x_hat – The inverse solution (dipoles,)

Return type

numpy.ndarray

make_inverse_operator(forward, *args, alpha='auto', **kwargs)#

Calculate inverse operator.

Parameters
  • forward (mne.Forward) – The mne-python Forward model instance.

  • alpha (float) – The regularization parameter.

Returns

self

Return type

object returns itself for convenience

class invert.solvers.smooth_matching_pursuit.SolverSSMP(name='Smooth Simultaneous Matching Pursuit', **kwargs)#
Class for the Smooth Simultaneous Matching Pursuit (SSMP) inverse

solution. Developed by Lukas Hecker as a smooth extension of the orthogonal matching pursuit algorithm [1,2], 19.10.2022.

forward#

The mne-python Forward model instance.

Type

mne.Forward

References

[1] Duarte, M. F., & Eldar, Y. C. (2011). Structured compressed sensing: From theory to applications. IEEE Transactions on signal processing, 59(9), 4053-4085.

[2] Donoho, D. L. (2006). Compressed sensing. IEEE Transactions on information theory, 52(4), 1289-1306.

apply_inverse_operator(mne_obj, include_singletons=True) mne.source_estimate.SourceEstimate#

Apply the inverse operator. :param mne_obj: The MNE data object. :type mne_obj: [mne.Evoked, mne.Epochs, mne.io.Raw] :param include_singletons: If True -> Include not only smooth patches but also single dipoles. :type include_singletons: bool

Returns

stc – The mne Source Estimate object

Return type

mne.SourceEstimate

calc_ssmp_solution(y, include_singletons=True)#

Calculates the Smooth Simultaneous Orthogonal Matching Pursuit (SSMP) inverse solution.

Parameters
  • y (numpy.ndarray) – The data matrix (channels,).

  • include_singletons (bool) – If True -> Include not only smooth patches but also single dipoles.

Returns

x_hat – The inverse solution (dipoles,)

Return type

numpy.ndarray

make_inverse_operator(forward, *args, alpha='auto', **kwargs)#

Calculate inverse operator.

Parameters
  • forward (mne.Forward) – The mne-python Forward model instance.

  • alpha (float) – The regularization parameter.

Returns

self

Return type

object returns itself for convenience

class invert.solvers.smooth_matching_pursuit.SolverSubSMP(name='Subspace Smooth Matching Pursuit', **kwargs)#
Class for the Subspace Smooth Matching Pursuit (SubSMP) inverse solution. Developed

by Lukas Hecker as a smooth extension of the orthogonal matching pursuit algorithm [1], 19.10.2022.

forward#

The mne-python Forward model instance.

Type

mne.Forward

References

[1] Duarte, M. F., & Eldar, Y. C. (2011). Structured compressed sensing: From theory to applications. IEEE Transactions on signal processing, 59(9), 4053-4085.

apply_inverse_operator(mne_obj, include_singletons=True) mne.source_estimate.SourceEstimate#

Apply the inverse operator. :param mne_obj: The MNE data object. :type mne_obj: [mne.Evoked, mne.Epochs, mne.io.Raw]

Returns

stc – The mne Source Estimate object

Return type

mne.SourceEstimate

calc_smp_solution(y, include_singletons=True, var_thresh=1)#

Calculates the Orthogonal Matching Pursuit (OMP) inverse solution.

Parameters
  • y (numpy.ndarray) – The data matrix (channels,).

  • include_singletons (bool) – If True -> Include not only smooth patches but also single dipoles.

  • var_thresh (float) – Threshold how much variance will be explained in the data

Returns

x_hat – The inverse solution (dipoles,)

Return type

numpy.ndarray

calc_subsmp_solution(y, include_singletons=True, var_thresh=1)#

Calculate the Subspace Smooth Matching Pursuit (SubSMP) solution.

Parameters
  • y (numpy.ndarray) – The M/EEG data Matrix

  • include_singletons (bool) – If True -> include single dipoles as candidates, else include only smooth patches

  • var_thresh (float) – Threshold how much variance will be explained in the data

make_inverse_operator(forward, *args, alpha='auto', **kwargs)#

Calculate inverse operator.

Parameters
  • forward (mne.Forward) – The mne-python Forward model instance.

  • alpha (float) – The regularization parameter.

Returns

self

Return type

object returns itself for convenience