Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] - Add functionality for managing sim params and simulating multiple signals together #329

Merged
merged 47 commits into from
Sep 2, 2024

Conversation

TomDonoghue
Copy link
Member

@TomDonoghue TomDonoghue commented Apr 14, 2024

In the Aperiodic Method project, I was simulating large groups of signals while both systematically iterating across parameter values and/or sampling from parameter distributions. In order to do so, I had to develop some utilities for managing simulation parameters and simulating groups of time series together.

This PR suggests adding that functionality directly into NDSP. It is all quite general, and I think fits well within the sim module. The code added here is basically the code that is demo'd in the aperiodic methods project here (which might be a good starting point to get a feel for how this approach looks / works): https://aperiodicmethods.github.io/notebooks/12-TimeSimsParameters.html

I've also sketched out some tutorials, which give a broad overview of the general approach / how this code works.

@TomDonoghue TomDonoghue added the 2.3 Updates to go into a 2.3.0. label Apr 14, 2024
Copy link
Member

@ryanhammonds ryanhammonds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I reviewed all the module code. I probably should've started with the tutorials to get a better sense of usage, so sorry if some of the comments lack foresight.

The tests are the only thing I didn't review. I can come back to those if you want. But since they pass / have coverage, I'm happy with them.

neurodsp/sim/combined.py Show resolved Hide resolved
neurodsp/sim/multi.py Outdated Show resolved Hide resolved
neurodsp/sim/multi.py Show resolved Hide resolved
neurodsp/sim/multi.py Show resolved Hide resolved
neurodsp/sim/multi.py Outdated Show resolved Hide resolved
neurodsp/sim/params.py Outdated Show resolved Hide resolved
neurodsp/sim/params.py Outdated Show resolved Hide resolved
neurodsp/sim/update.py Outdated Show resolved Hide resolved
tutorials/sim/plot_SimMulti.py Outdated Show resolved Hide resolved
tutorials/sim/plot_SimMulti.py Outdated Show resolved Hide resolved
@neurodsp-tools neurodsp-tools deleted a comment from codecov bot Jul 19, 2024
@neurodsp-tools neurodsp-tools deleted a comment from codecov bot Jul 20, 2024
@neurodsp-tools neurodsp-tools deleted a comment from codecov bot Aug 17, 2024
@neurodsp-tools neurodsp-tools deleted a comment from codecov bot Sep 2, 2024
@TomDonoghue
Copy link
Member Author

I think everything pertaining specifically to the updates here is addressed, so I'm going to merge this in now to move forward with integrating this new approach into a project. We should test this whole approach out a bit more before tagging the next version release.

@TomDonoghue TomDonoghue merged commit 9808874 into main Sep 2, 2024
7 of 9 checks passed
@TomDonoghue TomDonoghue deleted the simp branch September 2, 2024 03:05
@neurodsp-tools neurodsp-tools deleted a comment from codecov bot Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.3 Updates to go into a 2.3.0.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants