Version updates
All notable changes to NRV are summed up in this file.
[1.3.0] - 2025-08-21
Added
Added a first version of the nrv.eit sub-package: to allow simulation of electrical impedance tomography of peripheral nerve activity
Added Fixing Tutorial 6 — Play with EIT using NRV.
Added first version of EIT users’ guide
Version of deprecation of tests added as comment
Fixed
Import problem solved (fciotti suggestion), by adding nrv.nmod.utils in setup file
Adding static doc to the git repository in docs/_nrv (to speed up compilation and avoid time out error from readthedoc). Think to regenerate locally for future updates.
[1.2.2] - 2025-07-09
Added
Added
utils.geom-subpackage to gather geometry related functions and classes.Added elliptic and polygonal geometry for fascicles.
Added
nmod.utils-subpackage to gather population creation and placement methods and classes.Added
axon_population-class to handle creation of population and interface with fascicle.Added angle untis: rad (default) and degree
Added file:
backend._extlib_interfaceto gather interfacing function with external librariesAdded
MshCreator.add_from_cshapeto generate cylinder with custom base.Fascicle are now added from their full geometry instead of only their diameter and center
New method used to generated example and tutorial docs using sphinxs_gallery.
New directory for NRV/examples and NRV/tutorials.
New dependency: shapely.
Fixed
Impose deepcopy in load_any to prevent issue when loading multiple times a same
dict.Prevent to use more processes than axon number in
fascicle.simulate.Various Bug with tests
Removed
Removed
fascicle.save_fascicle_configurationandfascicle.load_fascicle_configurationDeprecated sincefascicle.saveandfascicle.loadarrived.
Depreciated
arguments
Fascicle_D,y_candz_cfromFEM_stimulation.reshape_fascicle, nowgeometryis used insteadAttributes
fascicle.A,fascicle.y_grav_centerandfascicle.z_grav_center, nowfascicle.geom.area,fascicle.yandfascicle.ztests
513to517: axon pop related test are now with geometry tests between350and400.
[1.2.1] - 2025-06-06
Added
Added
backend._NRV_Mprocto handle parallel processing in NRV.Added Github Action
Build and Push Docker Image on Releaseto automatically push docker image to Docker Hub on release.Added Command “-f” in NRV_test to find specific tests
Fixed
Cleaned doc Makefile
Fixing Tutorial 5.
Cleaning and refreshing of the docs
Removed
Remove
backend.Mcore_handler.Remove
nrv2calm.
[1.2.0] - 2025-05-30
Added
improved
evalin_FEMResultsfor serialized calls (added state variables).spec_loader.pymostly for typing.progress bars are now handled with rich.progress.
Added automatic translation of Tutorials to the docs in docs/tutorials.
automated parallel processing using
multiprocessing. All parallelization are handled as a blind process for the end-user, this change has been performed with taking care for the most on backward compatibility. Documentation has been changed in consequence.
Fixed
axon.__init__’skwargs: all parameters can now be set at the instantiation of the axon.Fixed
search_threshold_dispatcherfor use in notebooks.Remove deprecated function in tutorials and examples.
Removed
myelinated_results.find_central_node_index-method replaced byaxon_results.find_central_indexwith, formyelinated_results, the argumentnodeto obtain former results.MCore and explicit use of
mpi4pyare removed, as parallel processing is handled by Python standard API.
[1.1.2] - 2024-09-12
Added
ui, a subpackage for user interface to separate fromutilswhich are ment to stay internal.Help restructuration to have an API description more user-friendly.
nrv.CONFIG as a singleton object gathering configuration related data, parameters and methods.
Fixed
small fix in filter_freq to avoid filtering artefact.
Removed
methods such as load_any_axon, load_any_electrode… (
load_any_+ something) are deprecated, though not removed for backward compatibility. Please only useload_anyfunction.
[1.1.1] - 2024-08-05
Added
Updated the way axons post-processing is handled during fascicle and nerve simulation:
These must now be defined as functions instead of external Python scripts.
For backward compatibility, some built-in postprocessing functions can be called using str (see
builtin_postproc_functions).The
postproc_scriptattribute has been retained to set the postprocessing as eitherstrorfunctionregardless of the type.The postproc function must at least take an
axon_resultsas argument and return anaxon_results, evantual key arguments can be added to thepostproc_kwargsattribute.
Add
block_summarymethod inaxons_resultswhich returns axon block characteristics: blocked, onset response, number of onset APs.Add
getAPspeedandget_avg_AP_speedmethods inaxons_resultsto measure AP propagation velocity. Should be used instead ofspeed(deprecated method).Add
is_blockedmethod inaxons_resultsto detect AP propagation block. Should be used instead ofblock(deprecated method).Add
is_recruitedmethod inaxons_resultsto detect AP in an axon.Add optional
normalizebool parameter inget_recruited_axons,get_recruited_axons_greater_than,get_recruited_axons_lesser_thanmethods fromfascicle_results.Action potential (AP) analysis methods added in
axons_results(split_APs,count_APs,get_start_APs,detect_AP_collisions, etc). See usage in example 18.Several plot functions added in
axons_results(raster_plot,colormap_plotandplot_x_t).self.save_pathfrom fascicle and nerve is passed to postprocessing_function/scripts if specified and used to save data from postprocessing_function/scripts.Fascicles and Nerve return
nerve_resultsandfascicle_resultsby default (self.return_parameters_onlyandself.save_resultsare false at init).Updated tutorials and examples with newest features, removed use of deprecated methods/functions.
Add NRV_examples.py and NRV_tutorials.py to run all examples/tutorials.
Reorganized Example folder.
reworked
rasterizemethod of theaxon_resultclass.deprecated functions of
CL_postprocessing.Add the
axon_block_thresholdfunction inCL_simulationsto evaluate block thresholds with arbitrary stimulation settings.deprecated
block_threshold_point_sourceandblock_threshold_from_axon``from ``CL_simulationsas they are replaced by the more generalized versionaxon_block_threshold.Add the
axon_AP_thresholdfunction inCL_simulationsto evaluate activation thresholds with arbitrary stimulation settings (see Example 16).deprecated
firing_threshold_point_sourceandfiring_threshold_from_axon``from ``CL_simulationsas they are replaced by the more generalized versionaxon_AP_threshold.Added CL simulation documentation.
Added the
search_threshold_dispatcherfunction to parallelize the exploration to parameter effect on threshold + doc & example (see Example 17).Doc gallery for examples. Examples have been relocated to
docs/examples.
Fixed
issues with mcore optimization.
Fix duplicate node count in node_index of myelinated axons.
fit_to_sizeparameter infill_with_populationis not considered if fascicle diameter is None.remove_outliersparameter infill_with_populationis not called if fascicle diameter is None.
[1.1.0] - 2024-05-27
Added
Significant improvement in the documentation.
first simulations for nerve EIT direct models -> not documented yet, technical tests pass, still under scientific tests and development.
classes for results and more.
modification of post-processing architecture.
progress bar for parallel computing with process specific toolbars.
decorator for single-core function definition.
Fixed
issues with type hints on documentation generation.
code troubles with DOLFINx v0.8.0 now resolved, versions below are not supported anymore.
most of the parameters of fascicles (and nerve) can now also be set at the instantiation. (see doc).
[1.0.1] - 2024-01-26
Fixed
issue #38:
Now FEMSimulation results are saved in a folder ending in .bp which can also be opened in ParaView (-5.12.0 or higher).
DOLFINx v0.6.0 and v0.8.0 are now supported.
[1.0.0] - 2024-01-12
Version corresponding to preprint (https://doi.org/10.1101/2024.01.15.575628).
[0.9.16] - 2023-12-12
Added
Automatic versioning for dev team.
this tracking file.
Fixed
automated releases,.
automatic push on pypi.