# -*- coding: utf-8 -*-
#
#
# TheVirtualBrain-Framework Package. This package holds all Data Management, and
# Web-UI helpful to run brain-simulations. To use it, you also need to download
# TheVirtualBrain-Scientific Package (for simulators). See content of the
# documentation-folder for more details. See also http://www.thevirtualbrain.org
#
# (c) 2012-2023, Baycrest Centre for Geriatric Care ("Baycrest") and others
#
# This program is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with this
# program. If not, see <http://www.gnu.org/licenses/>.
#
#
# CITATION:
# When using The Virtual Brain for scientific publications, please cite it as explained here:
# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications
#
#
from tvb.datatypes.equations import *
from tvb.core.neotraits.forms import Form, FloatField, LabelField
from tvb.basic.neotraits.api import Float
[docs]class SpatialEquationsEnum(EquationsEnum):
GAUSSIAN = (Gaussian, "Gaussian")
MEXICAN_HAT = (DoubleGaussian, "Mexican-hat")
SIGMOID = (Sigmoid, "Sigmoid")
DISCRETE = (DiscreteEquation, "Discrete Equation")
[docs]class TemporalEquationsEnum(EquationsEnum):
LINEAR = (Linear, "Linear")
GAUSSIAN = (Gaussian, "Gaussian")
MEXICAN_HAT = (DoubleGaussian, "Mexican-hat")
SIGMOID = (Sigmoid, "Sigmoid")
GENERALIZEDSIGMOID = (GeneralizedSigmoid, "GeneralizedSigmoid")
SINUSOID = (Sinusoid, "Sinusoid")
COSINE = (Cosine, "Cosine")
ALPHA = (Alpha, "Alpha")
PULSETRAIN = (PulseTrain, "PulseTrain")
[docs]class SurfaceModelEquationsEnum(TupleEnum):
GAUSSIAN = (Gaussian, "Gaussian")
SIGMOID = (Sigmoid, "Sigmoid")
[docs]class BoldMonitorEquationsEnum(EquationsEnum):
Gamma_KERNEL = (Gamma, "Hrf Kernel: Gamma Kernel")
DOUBLE_EXPONENTIAL_KERNEL = (DoubleExponential, "Hrf Kernel: Difference of Exponential")
VOLTERRA_KERNEL = (FirstOrderVolterra, "Hrf Kernel: Volterra Kernel")
MOG_KERNEL = (MixtureOfGammas, "Hrf Kernel: Mixture Of Gammas")
[docs]class TransferVectorEquationsEnum(EquationsEnum):
IDENTITY = (Identity, "Identity")
LINEAR = (Linear, "Linear")
LINEAR_INTERVAL = (RescaleInterval, "Rescale to Interval")
ABSOLUTE = (Absolute, "Absolute")
LOGARITHM = (Logarithm, "Logarithm")
[docs]def get_ui_name_to_monitor_equation_dict():
eq_name_to_class = {
'HRF kernel: Gamma kernel': Gamma,
'HRF kernel: Difference of Exponential': DoubleExponential,
'HRF kernel: Volterra Kernel': FirstOrderVolterra,
'HRF kernel: Mixture of Gammas': MixtureOfGammas
}
return eq_name_to_class