feagi / brain-visualizer

Apache License 2.0
0 stars 1 forks source link

Introduciton of Brain Regions #219

Closed m-nadji-tehrani closed 3 months ago

m-nadji-tehrani commented 6 months ago

Definition Brain regions are grouping of one or multiple cortical areas which can provide many benefits including:

Properties

Behaviors Identification:

Creation dialogue:

Deletion:

Modification:

Restrictions:

Other considerations

API

image

FEAGI region registry sample:

{ "brain_regions": { "b_412414124": { "title": "visual pathway", "type": "root", "members": { "___pwr": { "type": "area", "coordinate_2d": [3, 12], "coordinate_3d": [3, 12, 33] }, "_death": { "type": "area", "coordinate_2d": [0, 0], "coordinate_3d": [1, 1, 1] }, "b_252342343243": { "type": "region", "coordinate_2d": [0, 0], "coordinate_3d": [1, 1, 1] } } }, "b_4234234234": { "title": "motor pathway", "type": "child", "members": { "VFWEDF": { "type": "area", "coordinate_2d": [3, 12], "coordinate_3d": [3, 12, 33] }, "VFWED2": { "type": "area", "coordinate_2d": [0, 0], "coordinate_3d": [1, 1, 1] }, "b_252342343245": { "type": "region", "coordinate_2d": [0, 0], "coordinate_3d": [1, 1, 1] } } } } }

Amir-Rasteg commented 6 months ago

looks like a good starting point. Also suggest a function to remove cortical areas from a region

Amir-Rasteg commented 6 months ago

Commenting further discussion

Amir-Rasteg commented 6 months ago

(instead of making separate issues, will post here)

v1/region/regions is currently unimplemented v1/region/region is a get request with a body

Currently the input / output structure looks like this: image Instead, we should have an array per cortical area with the full mapping details

Amir-Rasteg commented 6 months ago

The input / output structure I suggest can look something like this

{ "inputs": { "iv00_C": { "name": "String_Goes_Here", "mappings": { [ {"morphology_id": "projector", "morphology_scalar": [ 1, 1, 1 ], "postSynapticCurrent_multiplier": 1, "plasticity_flag": false, "plasticity_constant": 1, "ltp_multiplier": 1, "ltd_multiplier": 1 }, ] } } } }

(where mappings is an array of mappings using the same structure seen elsewhere in feagi)

Amir-Rasteg commented 6 months ago

To avoid issues with nested regions, we should separate inputs and outputs to "cortical inputs" and "cortical outputs", and "region inputs" and "region outputs"

Amir-Rasteg commented 6 months ago

current summary call is missing dimension information

Amir-Rasteg commented 6 months ago

summary of missing data points I am running into currently:

Amir-Rasteg commented 6 months ago

Critical bug: Not all regions contain a 3d coordinate, only the root

Amir-Rasteg commented 6 months ago

name

change the dict to a list, include the name value within the list dictionary element

Amir-Rasteg commented 6 months ago

more detail for above:

inputs / outputs should not contain IPUs/OPUs ignore the previous suggestion about splitting input/outputs for cortical areas and regions, I can calculate regions locally inputs / outputs should be a flat array with each element being a dictionary with a name property, and a mapping(s) property

m-nadji-tehrani commented 6 months ago

Critical bug: Not all regions contain a 3d coordinate, only the root

Fixed

Amir-Rasteg commented 3 months ago

implemented