fastPLI

fastPLI: A Fiber Architecture Simulation Toolbox for 3D-PLI - Published in JOSS (2021)

https://github.com/3d-pli/fastpli

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    2 of 2 committers (100.0%) from academic institutions
  • Institutional organization owner
    Organization 3d-pli has institutional domain (www.fz-juelich.de)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 63% confidence
Last synced: 6 months ago · JSON representation

Repository

Fiber Architecture Simulation Toolbox for 3D Polarized Light Imaging

Basic Info
  • Host: GitHub
  • Owner: 3d-pli
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 13.5 MB
Statistics
  • Stars: 14
  • Watchers: 2
  • Forks: 4
  • Open Issues: 3
  • Releases: 4
Created about 6 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

Fiber Architecture Simulation Toolbox for 3D-PLI

fastpli-logo

The Fiber Architecture Simulation Toolbox for 3D-PLI (fastpli) is a toolbox for polarized light imaging (PLI) with three main purposes:

fiber

fiber

  • Solver - generating collision free models: The second module takes as input a configuration of nerve fibers and checks them for spatial collisions. Since nerve fibers cannot overlap in reality, one must ensure that the models follow the same rules. The solver module implements a simple algorithm that checks for collisions and, if it finds any, pushes the colliding segments of the fibers slightly apart. This is repeated until all collisions are solved.

fiber

Wiki

https://github.com/3d-pli/fastpli/wiki

Example

As an example, a simplified model of the optic chiasm is presented. This structure in the brain allows nerve fibers from the eyes to cross each other and connect to the opposite side of the brain. In addition, a certain portion remains on the same side of the brain.

png png

Module lists

API documentation

| module | information | | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | | fastpli.analysis | analysis of 3D-PLI results | | fastpli.io | input/output functions, e.g. to read/save fiber_bundles data | | fastpli.model.sandbox | building of simple 3d nerve fiber models | | fastpli.model.solver | generation of non intersection nerve fiber models | | fastpli.objects | manipulation of fastpli objects (e.g. rotation) | | fastpli.tools | mathematical tools and helper function | | fastpli.simulation | simulation of fiber models inside a virtual 3D-PLI microscope |

Installation

Note:

The current version of fastpli can only be run under Linux as operating system due to dependencies. If you want to use fastpli under Windows, please use the Windows subsystem for Linux. To enable graphical output, you must install an X server. For more information, see https://wiki.ubuntu.com/WSL. Support for macOS is planned for the future.

Dependencies

Requirements

  • C++17
  • Make
  • CMake
  • Python3
  • MPI
  • OpenGL (optional, recommended)

Submodules

  • pybind11

Install instructions

Packages

Install all necessary packages.

For Ubuntu:

sh sudo apt update sudo apt install gcc g++ cmake make git sudo apt install python3-dev python3-venv sudo apt install libopenmpi-dev freeglut3-dev

Clone repository

sh git clone --recursive https://github.com/3d-pli/fastpli.git cd fastpli

Compilation

Use your favorite environment e. g. python3 -m venv env and source env/bin/activate. Update your pip version with pip3 install pip -U.

sh make fastpli pip3 install .

Examples

Tutorials

```sh

install required modules for examples

pip3 install -r examples/requirements.txt

jupyter-notebook examples/sandbox.ipynb jupyter-notebook examples/solver.ipynb jupyter-notebook examples/simulation.ipynb jupyter-notebook examples/optic_chiasm.ipynb ```

Scripts

```sh

install required modules for examples

pip3 install -r examples/requirements.txt

run examples

python3 examples/sandbox.py python3 examples/solver.py python3 examples/simulation.py python3 examples/optic_chiasm.py ```

Tests

sh python3 setup.py test

About this Project

Libraries

All computationally intensive calculations are optimized either with numba on the Python side or with multithreading C++, which can be accessed via pybind11. Additionally the simulation module supports the Message Passing Interface (MPI).

Contributions and Bug Reports

Please submit issues on GitHub to report problems or suggest features. Pull requests are also welcome to add features or correct problems. Please run the local env-CI environment ./CI/run-all.sh or docker container make docker in advance.

Literature

Authors

  • Felix Matuschke

References

fastPLI is an open source toolbox for modeling nerve fibers, simulating them in a 3D-PLI microscope and the signal processing developed by the fiber architecture group at the Forschungszentrum Jülich - INM1. This project has received funding from the European Union’s Horizon 2020 Research and Innovation Programme under Grant Agreement No. 7202070 (Human Brain Project SGA2).

| | | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Forschungszentrum Jülich | Forschungszentrum Jülich | | FA-INM-1 | Fiber Architecture - INM1 - Forschungszentrum Jülich | | HBP | Human Brain Project |

License

This project is licensed under the MIT License - see the LICENSE file for details

Owner

  • Name: 3D-PLI
  • Login: 3d-pli
  • Kind: organization
  • Location: Forschungszentrum Jülich

The research group “Fiber Architecture (FA)” develops the 3D Polarized Light Imaging (3D-PLI) technology at the Institute of Neuroscience and Medicine (INM-1)

JOSS Publication

fastPLI: A Fiber Architecture Simulation Toolbox for 3D-PLI
Published
May 03, 2021
Volume 6, Issue 61, Page 3042
Authors
Felix Matuschke ORCID
Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH, 52425, Jülich, Germany
Katrin Amunts ORCID
Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH, 52425, Jülich, Germany, Cécile and Oskar Vogt Institute for Brain Research, University Hospital Düsseldorf, University of Düsseldorf, 40204, Düsseldorf, Germany.
Markus Axer ORCID
Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH, 52425, Jülich, Germany
Editor
Olivia Guest ORCID
Tags
3D-PLI microscopy simulation

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 997
  • Total Committers: 2
  • Avg Commits per committer: 498.5
  • Development Distribution Score (DDS): 0.004
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
fmatuschke f****e@f****e 993
Gitlab Runner r****r@f****e 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 0
  • Average time to close issues: about 1 month
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 1.91
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • vigji (6)
  • glyg (4)
  • RealPolitiX (1)
Pull Request Authors
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v2 composite
cmake/setup.py pypi
  • h5py >=3.9
  • numba >=0.57
  • numpy >=1.24
  • scipy >=1.11.0
docs/requirements.txt pypi
  • Sphinx ==4.3.0
  • sphinx-autodoc-typehints ==1.12.0
  • sphinx-rtd-theme ==1.0.0
examples/requirements.txt pypi
  • PyQt5 *
  • jupyter *
  • matplotlib *