Skip to content

Commit e096ac4

Browse files
committed
Merge branch 'main' into dev_new_main_external-storage
2 parents 180fbc6 + 682ed17 commit e096ac4

File tree

10 files changed

+134
-100
lines changed

10 files changed

+134
-100
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: devcontainer_build_publish
2+
on:
3+
workflow_dispatch:
4+
5+
jobs:
6+
call_devcontainer_build_publish:
7+
uses: datajoint/.github/.github/workflows/devcontainer-build-publish.yaml@main
8+
secrets:
9+
DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}}
10+
DOCKERHUB_TOKEN: ${{secrets.DOCKERHUB_TOKEN_FOR_ELEMENTS}}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: mkdocs-release
2+
on:
3+
workflow_dispatch:
4+
5+
jobs:
6+
mkdocs_release:
7+
uses: datajoint/.github/.github/workflows/mkdocs_release.yaml@main
8+
permissions:
9+
contents: write
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: semantic-release
2+
on:
3+
workflow_dispatch:
4+
5+
jobs:
6+
call_semantic_release:
7+
uses: datajoint/.github/.github/workflows/semantic-release.yaml@main
8+
secrets:
9+
APP_ID: ${{ secrets.ELEMENT_APP_ID }}
10+
GET_TOKEN_KEY: ${{ secrets.ELEMENT_GET_TOKEN_KEY }}

.github/workflows/test.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,7 @@ jobs:
1515
strategy:
1616
matrix:
1717
py_ver: ["3.9", "3.10"]
18-
mysql_ver: ["8.0", "5.7"]
19-
include:
20-
- py_ver: "3.8"
21-
mysql_ver: "5.7"
22-
- py_ver: "3.7"
23-
mysql_ver: "5.7"
18+
mysql_ver: ["8.0"]
2419
steps:
2520
- uses: actions/checkout@v3
2621
- name: Set up Python ${{matrix.py_ver}}

CHANGELOG.md

Lines changed: 86 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -3,176 +3,185 @@
33
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
44
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.
55

6-
7-
## [1.0.0] - 2024-09-10
6+
## [0.4.0] - 2025-01-28
87

98
+ Update - No longer support multiple variation of ephys module, keep only `ephys_no_curation` module, renamed to `ephys`
109
+ Update - Remove other ephys modules (e.g. `ephys_acute`, `ephys_chronic`) (moved to different branches)
11-
+ Update - Add support for `SpikeInterface`
10+
+ Feat - Add support for `SpikeInterface`
1211
+ Update - Remove support for `ecephys_spike_sorting` (moved to a different branch)
1312
+ Update - Simplify the "activate" mechanism
1413

15-
## [0.4.0] - 2024-08-16
14+
## [0.3.8] - 2025-01-16
1615

17-
+ Add - support for SpikeInterface version >= 0.101.0 (updated API)
18-
+ Add - feature for memoization of spike sorting results (prevent duplicated runs)
16+
* Fix - Revert GHA Semantic Release caller and update changelog
1917

18+
## [0.3.7] - 2024-11-01
2019

21-
## [0.3.5] - 2024-08-16
20+
* Fix - robust IMAX value detection from IMEC file (metadata 3.0)
2221

23-
+ Fix - Improve `spikeglx` loader in extracting neuropixels probe type from the meta file
24-
+ Update - Explicit call to `probe.create_neuropixels_probe_types()` to create entries in ProbeType
22+
## [0.3.6] - 2024-10-01
2523

24+
* Fix - Minor bugfix in reading npx probe model of older versions and in reaeding probe model
25+
* Add - New GitHub Action callers for devcontainer, mkdocs, and semantic release
2626

27-
## [0.3.4] - 2024-03-22
27+
## [0.3.5] - 2024-08-16
2828

29-
+ Add - pytest
30-
+ Update - Ephys schema changed from `ephys_acute` to `ephys_no_curation` in `tutorial.ipynb`
29+
* Fix - Improve `spikeglx` loader in extracting neuropixels probe type from the meta file
30+
* Update - Explicit call to `probe.create_neuropixels_probe_types()` to create entries in `ProbeType`
3131

32+
## [0.3.4] - 2024-03-22
33+
34+
* Add - pytest
35+
* Fix - Fix regex patterns and add minimum version for scikit-image
3236

3337
## [0.3.3] - 2024-01-24
34-
+ Update - remove PyPi release from `release.yml` since it will fail after the new `setup.py`
38+
39+
* Update - remove PyPi release from `release.yml` since it will fail after the new `setup.py`
3540

3641
## [0.3.2] - 2024-01-12
37-
+ Fix - `probe_geometry` bugfix for incorrect handling of probes with staggered electrode positions
42+
43+
* Fix - `probe_geometry` bugfix for incorrect handling of probes with staggered electrode positions
3844

3945
## [0.3.1] - 2023-11-28
40-
+ Update - Flowchart borders for consistency with other DataJoint Elements
41-
+ Fix - `dj.config()` setup moved to `tutorial_pipeline.py` instead of `__init__.py`
42-
+ Update - Elements installed directly from GitHub instead of PyPI
43-
+ Update - Structure of the tutorial notebook
46+
47+
* Update - Flowchart borders for consistency with other DataJoint Elements
48+
* Fix - `dj.config()` setup moved to `tutorial_pipeline.py` instead of `__init__.py`
49+
* Update - Elements installed directly from GitHub instead of PyPI
50+
* Update - Structure of the tutorial notebook
4451

4552
## [0.3.0] - 2023-10-25
4653

47-
+ Add - DevContainer for codespaces
48-
+ Add - `tutorial_pipeline.py`
49-
+ Add - 60 min tutorial using Jupyter Notebooks, short demo notebook
50-
+ Update - General improvements to increase consistency with other DataJoint Elements
54+
* Add - DevContainer for codespaces
55+
* Add - `tutorial_pipeline.py`
56+
* Add - 60 min tutorial using Jupyter Notebooks, short demo notebook
57+
* Update - General improvements to increase consistency with other DataJoint Elements
5158

5259
## [0.2.11] - 2023-06-29
5360

54-
+ Update - Improve kilosort triggering routine - better logging, remove temporary files, robust resumable processing
55-
+ Add - Null value for `package_version` to patch bug
56-
+ Update - GitHub Actions workflows
57-
+ Update - README instructions
61+
* Update - Improve kilosort triggering routine - better logging, remove temporary files, robust resumable processing
62+
* Add - Null value for `package_version` to patch bug
63+
* Update - GitHub Actions workflows
64+
* Update - README instructions
5865

5966
## [0.2.10] - 2023-05-26
6067

61-
+ Add - Kilosort, NWB, and DANDI citations
62-
+ Fix - CSS to improve readability of tables in dark mode
63-
+ Update - mkdocs.yaml
68+
* Add - Kilosort, NWB, and DANDI citations
69+
* Fix - CSS to improve readability of tables in dark mode
70+
* Update - mkdocs.yaml
6471

6572
## [0.2.9] - 2023-05-11
6673

67-
+ Fix - `.ipynb` dark mode output for all notebooks.
74+
* Fix - `.ipynb` dark mode output for all notebooks.
6875

6976
## [0.2.8] - 2023-04-28
7077

71-
+ Fix - `.ipynb` output in tutorials is not visible in dark mode.
78+
* Fix - `.ipynb` output in tutorials is not visible in dark mode.
7279

7380
## [0.2.7] - 2023-04-19
7481

75-
+ Bugfix - A name remapping dictionary was added to ensure consistency between the column names of the `metrics.csv` file and the attribute names of the `QualityMetrics` table
82+
* Bugfix - A name remapping dictionary was added to ensure consistency between the column names of the `metrics.csv` file and the attribute names of the `QualityMetrics` table
7683

7784
## [0.2.6] - 2023-04-17
7885

79-
+ Fix - Update Pandas DataFrame column name to insert `pt_ratio` in `QualityMetrics.Waveform` table
86+
* Fix - Update Pandas DataFrame column name to insert `pt_ratio` in `QualityMetrics.Waveform` table
8087

8188
## [0.2.5] - 2023-04-12
8289

83-
+ Add - docstrings for quality metric tables
84-
+ Fix - docstring errors
85-
+ Update - `concepts.md`
86-
+ Update - schema diagrams with quality metrics tables
90+
* Add - docstrings for quality metric tables
91+
* Fix - docstring errors
92+
* Update - `concepts.md`
93+
* Update - schema diagrams with quality metrics tables
8794

8895
## [0.2.4] - 2023-03-10
8996

90-
+ Update - Requirements with `ipywidgets` and `scikit-image` for plotting widget
97+
* Update - Requirements with `ipywidgets` and `scikit-image` for plotting widget
9198

9299
## [0.2.3] - 2023-02-14
93100

94-
+ Add - extras_require install options for nwb and development requirement sets
95-
+ Add - mkdocs notebook rendering
96-
+ Add - markdown linting and spellcheck config files, with implementation edits
97-
+ Update - license for 2023
98-
+ Update - blackify previous updates
101+
* Add - extras_require install options for nwb and development requirement sets
102+
* Add - mkdocs notebook rendering
103+
* Add - markdown linting and spellcheck config files, with implementation edits
104+
* Update - license for 2023
105+
* Update - blackify previous updates
99106

100107
## [0.2.2] - 2022-01-11
101108

102-
+ Bugfix - Revert import order in `__init__.py` to avoid circular import error.
103-
+ Update - `.pre-commit-config.yaml` to disable automatic positioning of import
109+
* Bugfix - Revert import order in `__init__.py` to avoid circular import error.
110+
* Update - `.pre-commit-config.yaml` to disable automatic positioning of import
104111
statement at the top.
105-
+ Bugfix - Update docstrings to render API for documentation website.
112+
* Bugfix - Update docstrings to render API for documentation website.
106113

107114
## [0.2.1] - 2022-01-06
108115

109-
+ Add - `build_electrode_layouts` function in `probe.py` to compute the electrode layout
116+
* Add - `build_electrode_layouts` function in `probe.py` to compute the electrode layout
110117
for all types of probes.
111-
+ Update - parameterize run_CatGT step from parameters retrieved from
118+
* Update - parameterize run_CatGT step from parameters retrieved from
112119
`ClusteringParamSet` table
113-
+ Update - clustering step, update duration for "median_subtraction" step
114-
+ Bugfix - handles single probe recording in "Neuropix-PXI" format
115-
+ Update - safeguard in creating/inserting probe types upon probe activation
116-
+ Add - quality control metric dashboard
117-
+ Update & fix docstrings
118-
+ Update - `ephys_report.UnitLevelReport` to add `ephys.ClusterQualityLabel` as a
120+
* Update - clustering step, update duration for "median_subtraction" step
121+
* Bugfix - handles single probe recording in "Neuropix-PXI" format
122+
* Update - safeguard in creating/inserting probe types upon probe activation
123+
* Add - quality control metric dashboard
124+
* Update & fix docstrings
125+
* Update - `ephys_report.UnitLevelReport` to add `ephys.ClusterQualityLabel` as a
119126
foreign key reference
120-
+ Add - `.pre-commit-config.yaml`
127+
* Add - `.pre-commit-config.yaml`
121128

122129
## [0.2.0] - 2022-10-28
123130

124-
+ Add - New schema `ephys_report` to compute and store figures from results
125-
+ Add - Widget to display figures
126-
+ Add - Add `ephys_no_curation` and routines to trigger spike-sorting analysis
131+
* Add - New schema `ephys_report` to compute and store figures from results
132+
* Add - Widget to display figures
133+
* Add - Add `ephys_no_curation` and routines to trigger spike-sorting analysis
127134
using Kilosort (2.0, 2.5)
128-
+ Add - mkdocs for Element Documentation
129-
+ Add - New `QualityMetrics` table to store clusters' and waveforms' metrics after the
135+
* Add - mkdocs for Element Documentation
136+
* Add - New `QualityMetrics` table to store clusters' and waveforms' metrics after the
130137
spike sorting analysis.
131138

132139
## [0.1.4] - 2022-07-11
133140

134-
+ Bugfix - Handle case where `spike_depths` data is present.
141+
* Bugfix - Handle case where `spike_depths` data is present.
135142

136143
## [0.1.3] - 2022-06-16
137144

138-
+ Update - Allow for the `precluster_output_dir` attribute to be nullable when no
145+
* Update - Allow for the `precluster_output_dir` attribute to be nullable when no
139146
pre-clustering is performed.
140147

141148
## [0.1.2] - 2022-06-09
142149

143-
+ Bugfix - Handle case where `pc_features.npy` does not exist.
150+
* Bugfix - Handle case where `pc_features.npy` does not exist.
144151

145152
## [0.1.1] - 2022-06-01
146153

147-
+ Add - Secondary attributes to `PreClusterParamSteps` table
154+
* Add - Secondary attributes to `PreClusterParamSteps` table
148155

149156
## [0.1.0] - 2022-05-26
150157

151-
+ Update - Rename module for acute probe insertions from `ephys.py` to `ephys_acute.py`.
152-
+ Add - Module for pre-clustering steps (`ephys_precluster.py`), which is built off of
158+
* Update - Rename module for acute probe insertions from `ephys.py` to `ephys_acute.py`.
159+
* Add - Module for pre-clustering steps (`ephys_precluster.py`), which is built off of
153160
`ephys_acute.py`.
154-
+ Add - Module for chronic probe insertions (`ephys_chronic.py`).
155-
+ Bugfix - Missing `fileTimeSecs` key in SpikeGLX meta file.
156-
+ Update - Move common functions to `element-interface` package.
157-
+ Add - NWB export function
161+
* Add - Module for chronic probe insertions (`ephys_chronic.py`).
162+
* Bugfix - Missing `fileTimeSecs` key in SpikeGLX meta file.
163+
* Update - Move common functions to `element-interface` package.
164+
* Add - NWB export function
158165

159166
## [0.1.0b4] - 2021-11-29
160167

161-
+ Add - Processing with Kilosort and pyKilosort for Open Ephys and SpikeGLX
168+
* Add - Processing with Kilosort and pyKilosort for Open Ephys and SpikeGLX
162169

163170
## [0.1.0b0] - 2021-05-07
164171

165-
+ Update - First beta release
172+
* Update - First beta release
166173

167174
## [0.1.0a5] - 2021-05-05
168175

169-
+ Add - GitHub Action release process
170-
+ Add - `probe` and `ephys` elements
171-
+ Add - Readers for: `SpikeGLX`, `Open Ephys`, `Kilosort`
172-
+ Add - Probe table supporting: Neuropixels probes 1.0 - 3A, 1.0 - 3B, 2.0 - SS,
176+
* Add - GitHub Action release process
177+
* Add - `probe` and `ephys` elements
178+
* Add - Readers for: `SpikeGLX`, `Open Ephys`, `Kilosort`
179+
* Add - Probe table supporting: Neuropixels probes 1.0 - 3A, 1.0 - 3B, 2.0 - SS,
173180
2.0 - MS
174181

175-
[0.3.0]: https://github.com/datajoint/element-array-ephys/releases/tag/0.3.0
182+
[0.3.6]: https://github.com/datajoint/element-array-ephys/releases/tag/0.3.6
183+
[0.3.5]: https://github.com/datajoint/element-array-ephys/releases/tag/0.3.5
184+
[0.3.1]: https://github.com/datajoint/element-array-ephys/releases/tag/0.3.1
176185
[0.2.11]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.11
177186
[0.2.10]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.10
178187
[0.2.9]: https://github.com/datajoint/element-array-ephys/releases/tag/0.2.9

docs/src/concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ existing spike sorting methods, named
6868
by Alessio Buccino, et al. SpikeInterface provides a convenient Python-based wrapper to
6969
invoke, extract, compare spike sorting results from different sorting algorithms.
7070
SpikeInterface is the primary tool supported by Element Array Electrophysiology for
71-
spike sorting as of version `1.0.0`.
71+
spike sorting as of version `0.4.0`.
7272

7373
## Key Partnerships
7474

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The Element is comprised of `probe` and `ephys` schemas. Visit the
1313
`ephys` schemas and an explanation of the tables. To get started with building your own
1414
data pipeline, visit the [Tutorials page](./tutorials/index.md).
1515

16-
Prior to version `1.0.0` , several `ephys` schemas were
16+
Prior to version `0.4.0` , several `ephys` schemas were
1717
developed and supported to handle various use cases of this pipeline and workflow. These
1818
are now deprecated but still available on their own branch within the repository:
1919

0 commit comments

Comments
 (0)