MetaCell / MetaCell/NetPyNE-UI

Complex stimulation analysis

Aberta
#768 3 comentários 0 reações 1 responsável Ver no GitHub

@salvadord já está trabalhando nisso.

Desde 31/10/2023.

Linguagem predominante
JavaScript
Estrelas
23
Forks
10
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

There is 4 different patterns that can be created:

- rythmic pattern
- evoked pattern
- poisson pattern
- gauss pattern

Each pattern have different parameters, but all own a "rand" parameter, not documented, that must be the random seed (?) of the pattern.

(??)
A "Spike Pattern" entry could be added in the "Stimulation Source" section.
The "pattern" section should be activated only if the the "interval" is not set in the parameters.
To do that, it's important to first select if we want a "pattern" or an "interval" or something else (there is another entry in the code it seems).

This kind of things looks like it's only used for VecStim, which is a new kind of stimulation not yet implemented.

If "pattern" is chosen a drop-down menu let the user select between each pattern.
By default "rythmic pattern" is selected.

## Associated model entries

.. params['spikePattern']

`spikePattern` is where are located the patterns.
In this dict: `type` defines the type of pattern: rhythmic, evoked, poisson, gauss

In the params for the "VecStim" type of stimulation, there is:

- seed (optional)
- pulses (optional), list of "start, end, rate/interval, noise", where there can be either "rate", or "interval". "rate" can be a list of 2 elemements also
- rate (if rate is set, then "interval" is set, which disable the use of patterns)
- interval (if set explicitaly, "start" and "noise" can be set as parameter, they are both optional)
- if interval is not set, the check is done for "spikePattern"
- if interval is not set and spikePatterns is not set, the check is done for "spkTimes"

Interactions: if interval is set, then spikePattern and spkTimes parameters should be disabled.
In a general way, interval/spikePattern/spkTimes should react as in a xor (for disabling).

spikePattern:
- type: type of pattern
- sync: boolean, yes or no for the sync
- allotherparams: the parameters that will be passed to the pattern functions (see below)

## Rythmic pattern

### Parameters

- start (if -1 uniform distribution betwee, startMin and startMax (ms)) # time of first spike
- startMin (ms) activated only if start == -1 (default value 25) # minimum values of uniform distribution for start time
- startMax (ms) activated only if start == -1 (default value 125) # maximum values of uniform distribution for start time
- startStd (ms) only used if > 0.0 (validation rule, if < 0.0, change label for "unused" with tooltip explaining why?) # standard deviation of normal distribution for dtart time; mean is set by start param. Only usef if > 0.0
- freq (Hz) # oscillatory frenquency of rhytmic pattern
- freStd (Hz) # standard deviation of scillatory frequency
- distribution type ('normal' | 'uniform') # distribution type of scillatory frequencies
- eventsPerCycle should be 1 or 2 # spikes/burst per cycle
- repeats # number of times to repeat input pattern (equivalent to number of inputs)
- stop # maximum time for last spike of pattern

For start, startMin, startMax parameters, we can set only two inputs, one for "start" and one for "max", and a checkbox saying "start uniform distribution", if checked, the "max" input is available, and for the call, "start" is automatically set to "-1", while the "start" input is mapped to "startMin" and "max" to "startMax".

### Interactions

If start == -1:

- startMin is used
- startMax is used

If distribution 'normal' is selected, then the following parameters can be used:

- freq
- freqStd
- eventsPerCycle
- start (either computed or original)
- repeats
- stop

If distribution 'uniform' is selected, then the following parameters can be used:

- freq
- freqStd
- eventsPerCycle
- start (either computed, or original)
- tstop (?)

## Evoked Pattern

### Parameters

- start (ms) # time of first spike
- inc (ms) (default value 0) # increase in time of first spike
- startStd (ms) # standard deviation of start
- numSpikes # total number of spikes to generate

No complex interactions here

## Poisson Pattern

### Parameters

- start (ms) # time of first spike
- stop (ms) # stop time; if -1 the full duration (doesn't really appear in the code)
- frequency (ms) # standard deviation of start

No complex interaction here

## Gauss Pattern

- mu # Gaussian mean
- sigma # Gaussian variance

No complex interaction here

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.