Closed charlesbmi closed 1 year ago
All modified lines are covered by tests :white_check_mark:
Files | Coverage Δ | |
---|---|---|
src/neurotechdevkit/scenarios/built_in/__init__.py | 100.00% <100.00%> (ø) |
|
.../neurotechdevkit/scenarios/built_in/_scenario_2.py | 98.88% <100.00%> (+0.38%) |
:arrow_up: |
:loudspeaker: Thoughts on this report? Let us know!.
Per discussion with Diogo: let's rename these scenarios to something meaningful, e.g. something like "FullSkull" or "3-layer model"
Made a ticket for this here: https://github.com/agencyenterprise/neurotechdevkit/issues/156
I will fix that in a different PR.
Slack-approval on this one from Diogo - merging.
Introduction
NDK's simulation scenarios are based on Jean-Francois Aubry, et al. (2022). Specifically, Scenario 1 corresponds to Benchmark 4 in the paper, and Scenario 2 corresponds to Benchmark 8 in the paper.
NDK's 3-D simulations run much faster on a GPU, but at standard resolutions, Scenario 2 (i.e., benchmark 8) is too large to fit on a single GPU's memory. Aubry, et al. (2022) also mention a related Benchmark 7, which is the same set up as benchmark 8 but simulated over a sub-volume of the skull/brain. Benchmark 7 uses the same volume size as Benchmark 4 and thus fits in a GPU.
Benchmark 7 would thus be useful as an easier-to-run alternative to Benchmark 8.
Changes
Scenario2_2D_Benchmark7
as a subclass ofScenario2_2D
Scenario2_3D_Benchmark7
as a subclass ofScenario2_3D
Design decisions:
Scenario2
extent
variable to subslice the existingScenario
. Con: resulting code was less straightforwardScenario
class. Con: more places to update/maintain code if refactoring in the futureTesting
Can initialize
Scenario2_3D_Benchmark7
in your codeCan adapt
plot_scenarios.py
(did not check in this change) to includeScenario2_3D_Benchmark7
and see results:New scenarios added to
test_builtin.py