Esempio n. 1
0
 def __init__(self, default_simulation_name="simulation_1"):
     super(SimulatorFinalFragment, self).__init__()
     self.simulation_length = FloatField(
         SimulatorAdapterModel.simulation_length)
     self.simulation_name = StrField(Attr(
         str,
         doc='Name for the current simulation configuration',
         default=default_simulation_name,
         label='Simulation name'),
                                     name='input_simulation_name_id')
Esempio n. 2
0
 def __init__(self):
     super(EquationForm, self).__init__()
     self.equation = StrField(self.get_traited_equation().equation,
                              disabled=True)
     for param_key, param in self.get_traited_equation().parameters.default(
     ).items():
         setattr(
             self, param_key,
             FloatField(Float(label=param_key, default=param),
                        name=param_key))
Esempio n. 3
0
class EquationPlotForm(Form):
    def __init__(self):
        super(EquationPlotForm, self).__init__()
        self.min_x = FloatField(Float(
            label='Min distance(mm)',
            default=0,
            doc="The minimum value of the x-axis for spatial equation plot."),
                                name='min_x')
        self.max_x = FloatField(Float(
            label='Max distance(mm)',
            default=100,
            doc="The maximum value of the x-axis for spatial equation plot."),
                                name='max_x')

    def fill_from_post(self, form_data):
        if self.min_x.name in form_data:
            self.min_x.fill_from_post(form_data)
        if self.max_x.name in form_data:
            self.max_x.fill_from_post(form_data)
Esempio n. 4
0
 def __init__(self):
     super(FFTAdapterForm, self).__init__()
     self.time_series = TraitDataTypeSelectField(
         FFTAdapterModel.time_series,
         name='time_series',
         conditions=self.get_filters(),
         has_all_option=True)
     self.segment_length = FloatField(FFTAdapterModel.segment_length)
     self.window_function = SelectField(FFTAdapterModel.window_function)
     self.detrend = BoolField(FFTAdapterModel.detrend)
    def __init__(self):
        super(LocalConnectivityCreatorForm, self).__init__()
        self.surface = TraitDataTypeSelectField(LocalConnectivityCreatorModel.surface, name=self.get_input_name(),
                                                conditions=self.get_filters())
        self.spatial = SelectField(EnumAttr(field_type=SpatialEquationsEnum,
                                            default=SpatialEquationsEnum.GAUSSIAN.instance, required=True),
                                   name='spatial', display_none_choice=False, subform=GaussianEquationForm)
        self.cutoff = FloatField(LocalConnectivityCreatorModel.cutoff)
        self.display_name = StrField(LocalConnectivityCreatorModel.display_name, name='display_name')

        del self.spatial.choices[-1]
Esempio n. 6
0
    def __init__(self, session_stored_simulator=None):
        super(BoldMonitorForm, self).__init__(session_stored_simulator)
        self.hrf_kernel_choices = get_ui_name_to_monitor_equation_dict()
        default_hrf_kernel = list(self.hrf_kernel_choices.values())[0]

        self.period = FloatField(Bold.period)
        self.hrf_kernel = SelectField(Attr(HRFKernelEquation,
                                           label='Equation',
                                           default=default_hrf_kernel),
                                      name='hrf_kernel',
                                      choices=self.hrf_kernel_choices)
Esempio n. 7
0
 def __init__(self, prefix=''):
     super(RangeForm, self).__init__(prefix)
     self.lo = FloatField(Float(
         label='Lo',
         default=ContinuousWaveletTransform.frequencies.default.lo,
         doc='start of range'),
                          self,
                          name='Lo')
     self.hi = FloatField(Float(
         label='Hi',
         default=ContinuousWaveletTransform.frequencies.default.hi,
         doc='end of range'),
                          self,
                          name='Hi')
     self.step = FloatField(Float(
         label='Step',
         default=ContinuousWaveletTransform.frequencies.default.step,
         doc='step of range'),
                            self,
                            name='Step')
Esempio n. 8
0
 def _add_fields_for_float(self, param, param_key):
     # type: (RangeParameter, str) -> None
     pse_param_lo = FloatField(Float(label='LO for {}'.format(param.name),
                                     default=param.range_definition.lo,
                                     required=True),
                               self.project_id,
                               name=self.LO_FIELD.format(param_key))
     self.__setattr__(self.LO_FIELD.format(param_key), pse_param_lo)
     pse_param_hi = FloatField(Float(label='HI for {}'.format(param.name),
                                     default=param.range_definition.hi,
                                     required=True),
                               self.project_id,
                               name=self.HI_FIELD.format(param_key))
     self.__setattr__(self.HI_FIELD.format(param_key), pse_param_hi)
     pse_param_step = FloatField(Float(label='STEP for {}'.format(
         param.name),
                                       default=param.range_definition.step,
                                       required=True),
                                 self.project_id,
                                 name=self.STEP_FIELD.format(param_key))
     self.__setattr__(self.STEP_FIELD.format(param_key), pse_param_step)
Esempio n. 9
0
    def __init__(self, session_stored_simulator=None):
        super(MonitorForm, self).__init__()
        self.session_stored_simulator = session_stored_simulator
        self.period = FloatField(Monitor.period)
        self.variables_of_interest_indexes = {}

        if session_stored_simulator is not None:
            self.variables_of_interest_indexes = session_stored_simulator.determine_indexes_for_chosen_vars_of_interest()

        self.variables_of_interest = MultiSelectField(List(of=str, label='Model Variables to watch',
                                                           choices=tuple(self.variables_of_interest_indexes.keys())),
                                                      name='variables_of_interest')
Esempio n. 10
0
    def __init__(self, prefix='', project_id=None):
        super(SimulatorAdapterForm, self).__init__(prefix, project_id)
        self.coupling_choices = get_ui_name_to_coupling_dict()
        default_coupling = list(self.coupling_choices.values())[0]

        self.connectivity = TraitDataTypeSelectField(SimulatorAdapterModel.connectivity, self,
                                                     name=self.get_input_name(), conditions=self.get_filters())
        self.coupling = SelectField(
            Attr(Coupling, default=default_coupling, label="Coupling", doc=Simulator.coupling.doc), self,
            name='coupling', choices=self.coupling_choices)
        self.conduction_speed = FloatField(Simulator.conduction_speed, self)
        self.ordered_fields = (self.connectivity, self.conduction_speed, self.coupling)
        self.range_params = [Simulator.connectivity, Simulator.conduction_speed]
Esempio n. 11
0
 def __init__(self, project_id=None):
     super(ContinuousWaveletTransformAdapterForm, self).__init__(project_id)
     self.time_series = TraitDataTypeSelectField(
         WaveletAdapterModel.time_series,
         self.project_id,
         name=self.get_input_name(),
         conditions=self.get_filters(),
         has_all_option=True)
     self.mother = StrField(ContinuousWaveletTransform.mother,
                            self.project_id)
     self.sample_period = FloatField(
         ContinuousWaveletTransform.sample_period, self.project_id)
     self.normalisation = StrField(ContinuousWaveletTransform.normalisation,
                                   self.project_id)
     self.q_ratio = FloatField(ContinuousWaveletTransform.q_ratio,
                               self.project_id)
     self.frequencies = FormField(
         RangeForm,
         self.project_id,
         name='frequencies',
         label=ContinuousWaveletTransform.frequencies.label,
         doc=ContinuousWaveletTransform.frequencies.doc)
Esempio n. 12
0
    def __init__(self, session_stored_simulator=None):
        super(iEEGMonitorForm, self).__init__(session_stored_simulator)

        sensor_filter = FilterChain(fields=[FilterChain.datatype + '.sensors_type'], operations=["=="],
                                    values=[SensorTypes.TYPE_INTERNAL.value])

        projection_filter = FilterChain(fields=[FilterChain.datatype + '.projection_type'], operations=["=="],
                                        values=[ProjectionsType.SEEG.value])

        self.projection = TraitDataTypeSelectField(iEEGViewModel.projection, name='projection',
                                                   conditions=projection_filter)
        self.sigma = FloatField(iEEG.sigma)
        self.sensors = TraitDataTypeSelectField(iEEGViewModel.sensors, name='sensors', conditions=sensor_filter)
Esempio n. 13
0
 def __init__(self, prefix='', project_id=None):
     super(SimulatorAdapterForm, self).__init__(prefix, project_id)
     self.connectivity = DataTypeSelectField(self.get_required_datatype(), self, name=self.get_input_name(),
                                             required=True, label="Connectivity",
                                             doc=Simulator.connectivity.doc,
                                             conditions=self.get_filters())
     self.coupling_choices = get_ui_name_to_coupling_dict()
     self.coupling = SimpleSelectField(choices=self.coupling_choices, form=self, name='coupling', required=True,
                                       label="Coupling", doc=Simulator.coupling.doc)
     self.coupling.template = 'form_fields/select_field.html'
     self.conduction_speed = FloatField(Simulator.conduction_speed, self)
     self.ordered_fields = (self.connectivity, self.conduction_speed, self.coupling)
     self.range_params = [Simulator.connectivity, Simulator.conduction_speed]
Esempio n. 14
0
 def __init__(self):
     super(LocalConnectivityCreatorForm, self).__init__()
     self.surface = TraitDataTypeSelectField(
         LocalConnectivityCreatorModel.surface,
         name=self.get_input_name(),
         conditions=self.get_filters())
     self.spatial = SelectField(LocalConnectivityCreatorModel.equation,
                                name='spatial',
                                choices=self.possible_equations,
                                display_none_choice=False,
                                subform=GaussianEquationForm)
     self.cutoff = FloatField(LocalConnectivityCreatorModel.cutoff)
     self.display_name = StrField(
         LocalConnectivityCreatorModel.display_name, name='display_name')
class EquationSpatialPlotForm(Form):
    def __init__(self):
        super(EquationSpatialPlotForm, self).__init__()
        self.min_space_x = FloatField(Float(
            label='Spatial Start Distance(mm)',
            default=0,
            doc="The minimum value of"
            " the x-axis for spatial equation plot."),
                                      self.project_id,
                                      name='min_space_x')
        self.max_space_x = FloatField(Float(
            label='Spatial End Distance(mm)',
            default=100,
            doc="The maximum value of "
            "the x-axis for spatial equation plot."),
                                      self.project_id,
                                      name='max_space_x')

    def fill_from_post(self, form_data):
        if self.min_space_x.name in form_data:
            self.min_space_x.fill_from_post(form_data)
        if self.max_space_x.name in form_data:
            self.max_space_x.fill_from_post(form_data)
 def __init__(self, project_id=None):
     super(TimeseriesMetricsAdapterForm, self).__init__(project_id)
     self.time_series = TraitDataTypeSelectField(
         TimeseriesMetricsAdapterModel.time_series,
         self.project_id,
         name="time_series")
     self.start_point = FloatField(
         TimeseriesMetricsAdapterModel.start_point, self.project_id)
     self.segment = IntField(TimeseriesMetricsAdapterModel.segment,
                             self.project_id)
     self.algorithms = MultiSelectField(
         TimeseriesMetricsAdapterModel.algorithms,
         self.project_id,
         name="algorithms")
Esempio n. 17
0
class EquationTemporalPlotForm(Form):
    def __init__(self):
        super(EquationTemporalPlotForm, self).__init__()
        self.min_tmp_x = FloatField(Float(
            label='Temporal Start Time(ms)',
            default=0,
            doc="The minimum value of the "
            "x-axis for temporal equation plot. Not persisted, used only for "
            "visualization."),
                                    name='min_tmp_x')
        self.max_tmp_x = FloatField(Float(
            label='Temporal End Time(ms)',
            default=100,
            doc="The maximum value of the"
            " x-axis for temporal equation plot. Not persisted, used only for"
            " visualization."),
                                    name='max_tmp_x')

    def fill_from_post(self, form_data):
        if self.min_tmp_x.name in form_data:
            self.min_tmp_x.fill_from_post(form_data)
        if self.max_tmp_x.name in form_data:
            self.max_tmp_x.fill_from_post(form_data)
Esempio n. 18
0
    def __init__(self, session_stored_simulator=None, project_id=None):
        super(EEGMonitorForm, self).__init__(session_stored_simulator, project_id)

        sensor_filter = FilterChain(fields=[FilterChain.datatype + '.sensors_type'], operations=["=="],
                                    values=[SensorTypes.TYPE_EEG.value])

        projection_filter = FilterChain(fields=[FilterChain.datatype + '.projection_type'], operations=["=="],
                                        values=[ProjectionsType.EEG.value])

        self.projection = TraitDataTypeSelectField(EEGViewModel.projection, self.project_id, name='projection',
                                                   conditions=projection_filter)
        self.reference = StrField(EEG.reference, self.project_id)
        self.sensors = TraitDataTypeSelectField(EEGViewModel.sensors, self.project_id, name='sensors',
                                                conditions=sensor_filter)
        self.sigma = FloatField(EEG.sigma, self.project_id)
Esempio n. 19
0
    def __init__(self):
        super(ConnectivityViewerForm, self).__init__()

        self.connectivity = TraitDataTypeSelectField(ConnectivityViewerModel.connectivity, name='input_data',
                                                     conditions=self.get_filters())
        surface_conditions = FilterChain(fields=[FilterChain.datatype + '.surface_type'], operations=["=="],
                                         values=['Cortical Surface'])
        self.surface_data = TraitDataTypeSelectField(ConnectivityViewerModel.surface_data, name='surface_data',
                                                     conditions=surface_conditions)

        self.step = FloatField(ConnectivityViewerModel.step, name='step')

        colors_conditions = FilterChain(fields=[FilterChain.datatype + '.ndim'], operations=["=="], values=[1])
        self.colors = TraitDataTypeSelectField(ConnectivityViewerModel.colors, name='colors',
                                               conditions=colors_conditions)

        rays_conditions = FilterChain(fields=[FilterChain.datatype + '.ndim'], operations=["=="], values=[1])
        self.rays = TraitDataTypeSelectField(ConnectivityViewerModel.rays, name='rays', conditions=rays_conditions)
Esempio n. 20
0
    def __init__(self, prefix='', project_id=None):
        super(ConnectivityViewerForm, self).__init__(prefix, project_id)

        # filters_ui = [UIFilter(linked_elem_name="colors",
        #                        linked_elem_field=FilterChain.datatype + "._connectivity"),
        #               UIFilter(linked_elem_name="rays",
        #                        linked_elem_field=FilterChain.datatype + "._connectivity")]
        # json_ui_filter = json.dumps([ui_filter.to_dict() for ui_filter in filters_ui])
        # KWARG_FILTERS_UI: json_ui_filter

        self.connectivity = TraitDataTypeSelectField(
            ConnectivityViewerModel.connectivity,
            self,
            name='input_data',
            conditions=self.get_filters())
        surface_conditions = FilterChain(
            fields=[FilterChain.datatype + '.surface_type'],
            operations=["=="],
            values=['Cortical Surface'])
        self.surface_data = TraitDataTypeSelectField(
            ConnectivityViewerModel.surface_data,
            self,
            name='surface_data',
            conditions=surface_conditions)

        self.step = FloatField(ConnectivityViewerModel.step, self, name='step')

        colors_conditions = FilterChain(
            fields=[FilterChain.datatype + '.ndim'],
            operations=["=="],
            values=[1])
        self.colors = TraitDataTypeSelectField(ConnectivityViewerModel.colors,
                                               self,
                                               name='colors',
                                               conditions=colors_conditions)

        rays_conditions = FilterChain(fields=[FilterChain.datatype + '.ndim'],
                                      operations=["=="],
                                      values=[1])
        self.rays = TraitDataTypeSelectField(ConnectivityViewerModel.rays,
                                             self,
                                             name='rays',
                                             conditions=rays_conditions)
Esempio n. 21
0
    def __init__(self):
        super(SimulatorAdapterForm, self).__init__()
        default_coupling = CouplingFunctionsEnum.LINEAR

        self.connectivity = TraitDataTypeSelectField(
            SimulatorAdapterModel.connectivity,
            name=self.get_input_name(),
            conditions=self.get_filters())
        self.coupling = SelectField(EnumAttr(default=default_coupling,
                                             label="Coupling",
                                             doc=Simulator.coupling.doc),
                                    name='coupling')

        self.conduction_speed = FloatField(Simulator.conduction_speed)
        self.ordered_fields = (self.connectivity, self.conduction_speed,
                               self.coupling)
        self.range_params = [
            Simulator.connectivity, Simulator.conduction_speed
        ]
 def __init__(self):
     super(EquationSpatialPlotForm, self).__init__()
     self.min_space_x = FloatField(Float(label='Spatial Start Distance(mm)', default=0, doc="The minimum value of"
                                         " the x-axis for spatial equation plot."), name='min_space_x')
     self.max_space_x = FloatField(Float(label='Spatial End Distance(mm)', default=100, doc="The maximum value of "
                                         "the x-axis for spatial equation plot."), name='max_space_x')
Esempio n. 23
0
 def __init__(self):
     super(IntegratorForm, self).__init__()
     self.dt = FloatField(IntegratorViewModel.dt)
Esempio n. 24
0
 def __init__(self, is_dt_disabled=False):
     super(IntegratorForm, self).__init__()
     self.is_dt_disabled = is_dt_disabled
     self.dt = FloatField(IntegratorViewModel.dt)
Esempio n. 25
0
 def __init__(self):
     super(NoiseForm, self).__init__()
     self.ntau = FloatField(NoiseViewModel.ntau)
     self.noise_seed = IntField(NoiseViewModel.noise_seed)
Esempio n. 26
0
 def __init__(self):
     super(AllenConnectomeBuilderForm, self).__init__()
     self.resolution = SelectField(AllenConnectModel.resolution)
     self.weighting = SelectField(AllenConnectModel.weighting)
     self.inj_f_thresh = FloatField(AllenConnectModel.inj_f_thresh)
     self.vol_thresh = FloatField(AllenConnectModel.vol_thresh)