Skip to content

Commit

Permalink
Merge branch 'main' into initial-extension
Browse files Browse the repository at this point in the history
  • Loading branch information
CodyCBakerPhD authored Apr 19, 2024
2 parents 13ebfce + c065d78 commit 8b1c0a8
Showing 1 changed file with 113 additions and 0 deletions.
113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,116 @@ for ndx_probe in ndx_probes:

---
This extension was created using [ndx-template](https://github.com/nwb-extensions/ndx-template).
=======
# ndx-extracellular-channels



## Diagram


```mermaid
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#ffffff', "primaryBorderColor': '#144E73', 'lineColor': '#D96F32'}}}%%
classDiagram
direction LR
class ExtracellularSeries {
<<ElectricalSeries>>
channels : DynamicTableRegion
--> target : ChannelsTable
}
class ChannelsTable{
<<DynamicTable>>
--------------------------------------
attributes
--------------------------------------
name : str
description : str
probe : ProbeModel
probe_insertion : ProbeInsertion, optional
contacts : DynamicTableRegion, optional?
--> target : ContactsTable
reference_contact : DynamicTableRegion, optional
--> target : ContactsTable
reference_mode : Literal["external wire", ...], optional
--------------------------------------
columns
--------------------------------------
id : int
filter : VectorData, optional
---> Values strings such as "Bandpass 0-300 Hz".
contact_position [x, y, z] : VectorData, optional
---> Each value is length 3 tuple of floats.
brain_area : VectorData, optional
--> data : str
----> Plays the role of the old 'location'.
... Any other custom columns, such analong frontend e.g. ADC information
}
class ProbeInsertion {
<<Container>>
insertion_position : Tuple[float, float, float], optional
----> Stereotactic coordinates on surface.
depth_in_um : float, optional
insertion_angle : Tuple[float, float, float], optional
----> The pitch/roll/yaw relative to the position on the surface.
}
namespace ProbeInterface{
class Probe {
<<Device>>
identifier : str
--> Usually the serial number
probe_model : ProbeModel
}
class ProbeModel {
<<Not sure what type>>
name : str
manufactuer : str

Check failure on line 154 in README.md

View workflow job for this annotation

GitHub Actions / Check for spelling errors

manufactuer ==> manufacture, manufacturer
model : str
contour : List[Tuple[float, float], Tuple[float, float, float]]
contact_table : ContactsTable
}
class ContactTable {
<<DynamicTable>>
--------------------------------------
attributes
--------------------------------------
name : str
description : str
--------------------------------------
columns
--------------------------------------
id : int
shape : str, optional
size : str, optional
shank_id : str, optional
relative_position : List[Tuple[float, float], Tuple[float, float, float]], optional
}
}
ExtracellularSeries ..> ChannelsTable : links with channels
ProbeModel *--> ContactTable : contains
Probe *..> ProbeModel : links with probe_model
ChannelsTable *..> Probe : links with probe
ChannelsTable ..> ContactTable : links with contacts
ChannelsTable *--> ProbeInsertion: might contain ProbeInsertion
note for ChannelsTable "ChannelsTable is no longer global"
```

0 comments on commit 8b1c0a8

Please sign in to comment.