Skip to content

Commit

Permalink
Merge pull request #333 from pynapple-org/dev
Browse files Browse the repository at this point in the history
New version 0.7
  • Loading branch information
gviejo authored Sep 13, 2024
2 parents c2df9e6 + abec0c6 commit deca7e2
Show file tree
Hide file tree
Showing 54 changed files with 5,566 additions and 1,206 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ on:
branches: [ main ]
pull_request:
branches: [ main, dev ]
types:
- opened
- reopened
- synchronize
- ready_for_review

jobs:
lint:
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
*.npz
*.nwb
*.pickle
*.py.md5
*.npz
#*.npz
/docs/generated/gallery/*.md
/docs/generated/gallery/*.ipynb
/docs/generated/gallery/*.py
/docs/generated/gallery/*.zip

/tests/npzfilestest

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
11 changes: 0 additions & 11 deletions MANIFEST.in

This file was deleted.

11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ pynapple is a light-weight python library for neurophysiological data analysis.
New release :fire:
------------------

### pynapple >= 0.7

Pynapple now implements signal processing. For example, to filter a 1250 Hz sampled time series between 10 Hz and 20 Hz:

```python
nap.apply_bandpass_filter(signal, (10, 20), fs=1250)
```
New functions includes power spectral density and Morlet wavelet decomposition. See the [documentation](https://pynapple-org.github.io/pynapple/reference/process/) for more details.

### pynapple >= 0.6

Starting with 0.6, [`IntervalSet`](https://pynapple-org.github.io/pynapple/reference/core/interval_set/) objects are behaving as immutable numpy ndarray. Before 0.6, you could select an interval within an `IntervalSet` object with:
Expand All @@ -45,8 +54,6 @@ With pynapple>=0.6, the slicing is similar to numpy and it returns an `IntervalS
new_intervalset = intervalset[0]
```

See the [documentation](https://pynapple-org.github.io/pynapple/reference/core/interval_set/) for more details.

### pynapple >= 0.4

Starting with 0.4, pynapple rely on the [numpy array container](https://numpy.org/doc/stable/user/basics.dispatch.html) approach instead of Pandas for the time series. Pynapple builtin functions will remain the same except for functions inherited from Pandas.
Expand Down
5 changes: 3 additions & 2 deletions docs/AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ Development Lead
----------------

- Guillaume Viejo <[email protected]>
- Edoardo Balzani <[email protected]>


Contributors
------------

- Edoardo Balzani <[email protected]>
- Adrien Peyrache
- Dan Levenstein
- Sofia Skromne Carrasco
- Davide Spalla
- Luigi Petrucco
- Luigi Petrucco
- ... [and many more!](https://github.com/pynapple-org/pynapple/graphs/contributors)
24 changes: 23 additions & 1 deletion docs/HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,29 @@ Another postdoc in the lab, Francesco Battaglia, then made major contributions t
Around 2016-2017, Luke Sjulson started *TSToolbox2*, still in Matlab and which includes some important changes.

In 2018, Francesco started neuroseries, a Python package built on Pandas. It was quickly adopted in Adrien's lab, especially by Guillaume Viejo, a postdoc in the lab. Gradually, the majority of the lab was using it and new functions were constantly added.
In 2021, Guillaume and other trainees in Adrien's lab decided to fork from neuroseries and started *pynapple*. The core of pynapple is largely built upon neuroseries. Some of the original changes to TSToolbox made by Luke were included in this package, especially the *time_support* property of all ts/tsd objects.
In 2021, Guillaume and other trainees in Adrien's lab decided to fork from neuroseries and started *pynapple*.
The core of pynapple is largely built upon neuroseries. Some of the original changes to TSToolbox made by Luke were included in this package, especially the *time_support* property of all ts/tsd objects.

Since 2023, the development of pynapple is lead by [Guillaume Viejo](https://www.simonsfoundation.org/people/guillaume-viejo/)
and [Edoardo Balzani](https://www.simonsfoundation.org/people/edoardo-balzani/) at the Center for Computational Neuroscience
of the Flatiron institute.



0.7.0 (2024-09-16)
------------------

- Morlet wavelets spectrogram with utility for plotting the wavelets.
- (Mean) Power spectral density. Returns a Pandas DataFrame.
- Convolve function works for any dimension of time series and any dimensions of kernel.
- `dtype` in count function
- `get_slice`: public method with a simplified API, argument start, end, time_units. returns a slice that matches behavior of Base.get.
- `_get_slice`: private method, adds the argument "mode" this can be: "after_t", "before_t", "closest_t", "restrict".
- `split` method for IntervalSet. Argument is `interval_size` in time unit.
- Changed os import to pathlib.
- Fixed pickling issue. TsGroup can now be saved as pickle.
- TsGroup can be created from an iterable of Ts/Tsd objects.
- IntervalSet can be created from (start, end) pairs

0.6.6 (2024-05-28)
------------------
Expand Down
Loading

0 comments on commit deca7e2

Please sign in to comment.