NRV is developed for the research and education community. The framework is actively developped by researchers at Laboratory IMS (group bioelectronic), U. Bordeaux, Bordeaux INP, French CNRS UMR 5218. We hope to provide a tool for biomedical engineering, and provide a framework that is as open as possible, to ensure scientific communication and reproducibility.
NRV is certainly not perfect, and we hope that the open-science approach can contribute to improve the framework, however ensuring retrocompatilibty. There is a continuous effort to continue to develop NRV, and some purely scientific objectives are linked to this project. Here is a list of public scientific and technical objectives, that we intend to develop and on which we are also extremely happy to get help or guiding if you want to contribute:
- Improving geometry:
- enable axon tortuosity for axons,
- enable elliptical shapes for fascicles and nerves (with automatized population filling and basic operations as already developed for round shapes fascicles/nerves),
- integrate mode complex shapes based on histology and image segmentation (with automatized population filling),
- extend FenicsX computation with curvilinear coordinates, to enable non-extruded 3D models of fascicles
- add electrode daughter-classes for more specific electrode geometries.
- Improving recordings: current recording simulation is based on analytical field computation, thus restricting to one material between fibers and recording points. Such computations have already been performed with FEM and should be integrated in NRV.
- Objects for fiber-populations: generation and packing are based on functions, we hope to change to objects to ease the way of script ex-novo population production.
- Compatibility and marking of results: provide automated tagging of objects with version and develop routines for versions checking.
- Post-processing options:
- provide automatic link between FEM computation results and Paraview,
- provide basic integration of Pyvista and Matplotlib to ease results exploration,
- design wrapper and decorators with simulations to ease systematic tasks in results post-processing,
- Parallel computing:
- migrate to multiprocessing (Python core library),
- parallel version of axon population generation and axon packing,
- design further decorators to clean scripting and make syntax more pythonic.
- Improve the development pipeline (GitHub actions), and docker images and propose a dev container.