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

update #24

Open
wants to merge 123 commits into
base: DelinteNicolas-descriptionsFix
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
0912b30
Changed requirement
DelinteNicolas Feb 10, 2023
7e4d9e6
Merge pull request #10 from Hyedryn/master
DelinteNicolas Feb 10, 2023
8a94aa3
Updated code to work with pypdf instead of PyPDF2
DelinteNicolas Feb 10, 2023
febf767
Merge pull request #11 from Hyedryn/pypdf
DelinteNicolas Feb 11, 2023
212d260
Update utils.py
DelinteNicolas Feb 17, 2023
6e2c8ce
Added cutoff parameter to tracking
DelinteNicolas Mar 1, 2023
35ea7e6
Merge pull request #14 from Hyedryn/tckgen
DelinteNicolas Mar 1, 2023
5653514
Added possibility of specification for output filenames in tracking f…
DelinteNicolas Apr 19, 2023
2ade489
Added possibility of specification for output filenames in tracking f…
DelinteNicolas Apr 19, 2023
ab4a1ea
Merge pull request #15 from Hyedryn/tract_names
DelinteNicolas Apr 19, 2023
17ee9b7
Changed a single variable per fiber population instead of two
DelinteNicolas Apr 20, 2023
21d80ff
Reduced number of lines
DelinteNicolas Apr 20, 2023
d5b82f6
Reduced number of lines
DelinteNicolas Apr 20, 2023
cc94d12
Removed unused lines, code clean up, work in progress
DelinteNicolas Apr 20, 2023
ca51047
Output filename in MF bug fix
DelinteNicolas Apr 21, 2023
0c4404c
Merge pull request #16 from Hyedryn/bugFix
DelinteNicolas Apr 21, 2023
81cc169
Fixed bug in tracking
DelinteNicolas Apr 21, 2023
b98d6ae
Fixed bug in tracking
DelinteNicolas Apr 21, 2023
4bc7011
Merge pull request #17 from Hyedryn/tracking_fix
DelinteNicolas Apr 21, 2023
3fd7018
Added view detection and correction for sagittal view
DelinteNicolas Apr 24, 2023
ba1521a
Merge pull request #19 from Hyedryn/master
DelinteNicolas Apr 24, 2023
c3c6126
Added rgb switch in sagittal
DelinteNicolas Apr 24, 2023
f858da9
Switched from TIME to unravel
DelinteNicolas Apr 24, 2023
7dad2df
Typo fix
DelinteNicolas Apr 24, 2023
5a6d730
Typo fix
DelinteNicolas Apr 24, 2023
d121a46
Added option to specify filename output in mf
DelinteNicolas Apr 24, 2023
1a9f859
Fix typo
DelinteNicolas Apr 24, 2023
09f9a98
Bug fix
DelinteNicolas Apr 24, 2023
967d772
Merge pull request #21 from Hyedryn/sagittal
DelinteNicolas Apr 24, 2023
1b96f78
Updated deprecated param name
DelinteNicolas May 5, 2023
c241efe
Merge pull request #22 from Hyedryn/maintenance
DelinteNicolas May 5, 2023
6804548
Removed parameter
DelinteNicolas May 9, 2023
dd43de8
Merge pull request #23 from Hyedryn/bugfixing
DelinteNicolas May 9, 2023
29cbf54
Added else condition to mf color_order
DelinteNicolas Jun 25, 2023
92a6084
Merge pull request #26 from Hyedryn/color_order_fix_2
DelinteNicolas Jun 25, 2023
769a3c2
Added sift
DelinteNicolas Jul 18, 2023
376526c
bug fix
DelinteNicolas Jul 18, 2023
1c28def
Merge pull request #28 from Hyedryn/sift
DelinteNicolas Jul 18, 2023
85c971b
Fix typo in patient list wrapper
Hyedryn Sep 8, 2023
22b6489
Added paramter for axial error and throws error if not activated
DelinteNicolas Oct 25, 2023
40eabf2
Updated UNRAVEL functions to new input type
DelinteNicolas Oct 25, 2023
28d82f3
Merge pull request #30 from Hyedryn/oblique
DelinteNicolas Dec 1, 2023
b5aff6e
Added eddy_additional_arg to preproc
Hyedryn Dec 5, 2023
531a0f4
Removed buffer for print fct
Hyedryn Dec 14, 2023
eb0330b
Fix issue with unravel and mf
Hyedryn Dec 30, 2023
55262e0
Migrate elikopy to pyproject with poetry
Hyedryn Dec 30, 2023
cfdacf7
change scipy min requirement
Hyedryn Dec 31, 2023
321fef5
Updated readthedocs config
Hyedryn Dec 31, 2023
6c03012
Update to readthedocs conf
Hyedryn Dec 31, 2023
2867079
Update to read the docs
Hyedryn Dec 31, 2023
dcec023
Update to read the docs
Hyedryn Dec 31, 2023
085fb5b
Update to read the docs
Hyedryn Dec 31, 2023
5be9d55
Update to read the docs
Hyedryn Dec 31, 2023
0eb482c
Change python version requirement
Hyedryn Dec 31, 2023
b25db4b
Fix version requirements
Hyedryn Jan 2, 2024
6bacb0a
Remove some residual files
Hyedryn Jan 5, 2024
5527235
Updated Readme
Hyedryn Jan 15, 2024
3f15ec6
Create python-publish.yml
Hyedryn Jan 15, 2024
6686373
Added DOI badge
Hyedryn Jan 15, 2024
26d4a16
Fixing peaks orientation with different views
DelinteNicolas Feb 12, 2024
f14f879
Fixing peaks orientation with different views
DelinteNicolas Feb 12, 2024
ed25e4a
Fixing peaks orientation with different views
DelinteNicolas Feb 12, 2024
390ccf5
Removed warning raised
DelinteNicolas Feb 12, 2024
7f030cb
Simplified creation of peaks and amplitude with msmst-csd
DelinteNicolas Feb 12, 2024
52df1ef
Bug fix in warning
DelinteNicolas Feb 12, 2024
fe374d9
Fixing typo
DelinteNicolas Feb 12, 2024
9367a03
v0.4
DelinteNicolas Feb 12, 2024
eca7b6e
Merge pull request #34 from Hyedryn/views
DelinteNicolas Feb 12, 2024
4b2821a
Fixed peaks and amplitude with msmt-csd
Hyedryn Feb 15, 2024
cb0188f
Update pyproject.toml
DelinteNicolas Feb 15, 2024
09ca821
Merge pull request #36 from Hyedryn/MSMT-CSD_bugFix
DelinteNicolas Feb 15, 2024
ff47cef
Fix NameError in core.py fingerprinting function
Hyedryn Feb 16, 2024
4229649
Merge branch 'master' of https://github.com/Hyedryn/elikopy
Hyedryn Feb 16, 2024
ef37e89
restricetd DTI to b=2000 max
DelinteNicolas Feb 28, 2024
9da325a
Typo fix
DelinteNicolas Feb 28, 2024
f817a4a
Removed unused parentheses
DelinteNicolas Feb 28, 2024
bc33beb
Fixing function call
DelinteNicolas Feb 28, 2024
240647f
Merge pull request #37 from Hyedryn/restricted_DTI
DelinteNicolas Feb 28, 2024
3df63a4
Fixed launching of sift without slurm in core.py
Hyedryn Feb 29, 2024
4d1fafb
Added longitudinal study support for commonspace registration
Hyedryn Mar 28, 2024
e8bd81a
Added utils for longitudinal
Hyedryn Mar 28, 2024
357eb8b
Fix registration typo
Hyedryn Mar 28, 2024
104e398
Fix typo
Hyedryn Mar 28, 2024
89e5feb
Fig registration from T1Ref to T1CommonSpace
Hyedryn Mar 28, 2024
1ffaa6f
Added new T1 brain extraction
Hyedryn Mar 28, 2024
60ab134
Fix issues in T1 brain mask
Hyedryn Mar 28, 2024
c12f781
Removed legacy elikopy.mouse
Hyedryn Mar 28, 2024
5acfdee
Update pyproject.toml
DelinteNicolas Mar 29, 2024
5035552
Merge pull request #38 from Hyedryn/DelinteNicolas-patch-1
DelinteNicolas Mar 29, 2024
fe3ca82
Edit mask in preproc
Hyedryn Apr 2, 2024
c6b561a
New masking for T1 and DWI, new registration technique for DWI->T1 tr…
Hyedryn Apr 7, 2024
ee63ec2
Fixed issues in B0FSL registration
Hyedryn Apr 8, 2024
8ec99c0
Removed trk from tracto
Hyedryn Apr 9, 2024
94dd093
Added save_as_trk to core for sift and tckgen
Hyedryn Apr 10, 2024
567ace4
fix issue with core count in wm mask ap
Hyedryn Apr 10, 2024
a8cca46
Reduce verbosity of applytransform in registration
Hyedryn Apr 11, 2024
26db8ab
Added new check in applyTransformToAllMapsInFolder
Hyedryn Apr 11, 2024
d4c099b
Added non dilated mask to tckgen
DelinteNicolas Apr 11, 2024
1932e49
Updated version
DelinteNicolas Apr 11, 2024
0be8e87
Merge pull request #41 from Hyedryn/tracking_mask
DelinteNicolas Apr 11, 2024
9c605fb
Added success status tracking
Hyedryn Nov 24, 2024
e2e4daf
Added bids support to get_patient_ref in utils.py
Hyedryn Nov 26, 2024
f50a244
Fixed applytopup
Hyedryn Dec 10, 2024
226d2c8
Fixed typo
Hyedryn Dec 10, 2024
671c0dc
Fix io operation on closed file
Hyedryn Dec 10, 2024
d058b65
Updated reverse encoding handling
Hyedryn Dec 11, 2024
3d76201
Fix typo
Hyedryn Dec 11, 2024
80892f4
Fix typos
Hyedryn Dec 11, 2024
d986669
Fix typos
Hyedryn Dec 11, 2024
71c5327
Edit acqparams and topup
Hyedryn Dec 11, 2024
f8b9ec5
Fix issue
Hyedryn Dec 11, 2024
02bd3c9
Fix issue with mask
Hyedryn Dec 11, 2024
d210f73
Fix topup
Hyedryn Dec 11, 2024
eacd36b
Revert "Fix topup"
Hyedryn Dec 11, 2024
fc8fa7f
Revert "Fix issue with mask"
Hyedryn Dec 11, 2024
f52caef
Fix applytopup
Hyedryn Dec 11, 2024
ffac440
Added multithread to topup
Hyedryn Dec 11, 2024
b76d6a3
Fix topup timing
Hyedryn Dec 11, 2024
821da26
Fixed topup process communication
Hyedryn Dec 11, 2024
d1a4252
Added auo acqparams and index + changed default preproc params
Hyedryn Dec 12, 2024
8971315
Updated patient_list
Hyedryn Dec 12, 2024
70872a2
Updated patient_list
Hyedryn Dec 12, 2024
5c8b689
Fix typo
Hyedryn Dec 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]

permissions:
contents: read

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
24 changes: 24 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
jobs:
pre_create_environment:
- asdf plugin add poetry
- asdf install poetry latest
- asdf global poetry latest
- poetry config virtualenvs.create false
post_install:
- poetry install --with dev

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py

submodules:
include: all # Include all submodules, if any
recursive: true
51 changes: 17 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,35 @@
# ElikoPy

[![Documentation Status](https://readthedocs.org/projects/elikopy/badge/?version=latest)](https://elikopy.readthedocs.io/en/latest/?badge=latest) [![PyPI](https://img.shields.io/pypi/v/elikopy?label=pypi%20package)](https://pypi.org/project/elikopy//) ![GitHub repo size](https://img.shields.io/github/repo-size/Hyedryn/elikopy) [![DOI](https://zenodo.org/badge/296056994.svg)](https://zenodo.org/doi/10.5281/zenodo.10514465)

ElikoPy is Python library aiming at easing the processing of diffusion imaging for microstructural analysis.
This Python library is based on
- DIPY, a python library for the analysis of MR diffusion imaging.
- Microstructure fingerprinting, a python library doing estimation of white matter microstructural properties from a dictionary of Monte Carlo diffusion MRI fingerprints.
- FSL, a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.
- DIAMOND, a c software that is characterizing brain tissue by assessment of the distribution of anisotropic microstructural environments in diffusion‐compartment imaging.
ElikoPy is a Python library designed to simplify the processing of diffusion imaging for microstructural analysis.

### Installation
## Installation

ElikoPy requires [Python](https://www.python.org/) v3.8+ to run.
### Prerequistes

After cloning the repo, you can either firstly install all the python dependencies including optionnal dependency used to speed up the code:
ElikoPy requires [Python](https://www.python.org/) v3.8+.

```sh
$ pip install -r requirements.txt --user
```
Or you can install directly the library with only the mandatory dependencies (if you performed the previous step, you still need to perform this step):

```sh
$ python3 -m pip install .
```
### Installation Steps

Microstructure Fingerprinting is currently not avaible in the standard python repo, you can clone and install this library manually.
Clone the repository and install the dependencies:

```sh
$ git clone git@github.com:rensonnetg/microstructure_fingerprinting.git
$ cd microstructure_fingerprinting
$ python setup.py install
git clone https://github.com/Hyedryn/elikopy.git
cd elikopy
python -m pip install .
```

FSL also needs to be installed and availabe in our path if you want to perform mouvement correction or tbss.

Unfortunatly, the DIAMOND code is not publically available. If you do not have it in your possesion, you will not be able to use this algorithm. If you have it, simply add the executable to your path.

### Usage

Todo
If you wish to use movement correction or TBSS, ensure FSL is installed and available in your path.

### Development
**Note:** The DIAMOND microstructural model is not publicly available. If you have it, add the executable to your path. Otherwise, you won't be able to use this algorithm.

Want to contribute? Great!
## Development

Do not hesitate to open issue or pull request!
### Todos
Interested in contributing? Wonderful!

- Release a complete and accurate documentation for the library
Feel free to open issues or pull requests. Your contributions are welcome!

## Publications & Citations

**Free Software, Hell Yeah!**
If you use ElikoPy in your research, please cite it using the package DOI [![DOI](https://zenodo.org/badge/296056994.svg)](https://zenodo.org/doi/10.5281/zenodo.10514465).
11 changes: 0 additions & 11 deletions code_sructure.txt

This file was deleted.

5 changes: 3 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@
autodoc_mock_imports = ['torch']
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
sys.path.insert(0, os.path.abspath('../elikopy'))

import elikopy
import sphinx_rtd_theme


Expand All @@ -36,8 +35,10 @@
extensions = [
'sphinx_rtd_theme',
'sphinx.ext.autodoc',
'sphinx_autodoc_typehints',
]


# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

Expand Down
5 changes: 0 additions & 5 deletions elikopy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
import elikopy.utils
import elikopy.utilsSynb0Disco
import elikopy.registration
try:
import elikopy.mouse
except ImportError as e:
elikopy.mouse = None
print("Mouse module not available: {}".format(e))


try:
Expand Down
Loading