Skip to content

Commit

Permalink
298 Update PyDesigner for Official v1.0.0 Release (#299)
Browse files Browse the repository at this point in the history
* Update license information

* Update gitignore to avoid builds

* Update documentation

* Update Dockerfiles for latest FSL installer

* Remove AKC from standard processing

* Update docs
  • Loading branch information
TheJaeger committed Jan 13, 2023
1 parent a19c3df commit d6d29c2
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 11 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ __pycache__/
*.egg-info
.vscode/
/docs/build/
dist/

# Files to ignore
.DS_Store
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ page
`v1.0.0`_
------------

Jul 8, 2022
Jan 13, 2023

**Added**

Expand All @@ -16,6 +16,7 @@ Jul 8, 2022
* ODF computations and spherical harmonic expansion for DTI and DKI
* Option to add user-defined map for tractography stopping criteria
* Added option to import multiple custom maps into DSI studio file
* PyDesigner can now be pulled from PyPI with `pip install pydesigner`

**Changed**

Expand Down
6 changes: 6 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ PyDesigner makes this easy, and you will love it!
:target: https://pydesigner.readthedocs.io/en/latest/
:alt: Click here to view documentation

.. image:: https://img.youtube.com/vi/mChQFuQqX3k/maxresdefault.jpg
:width: 512pt
:alt: PyDesigner Walkthrough Video: Software Setup & Usage
:target: https://www.youtube.com/watch?v=mChQFuQqX3k

Notable Features
================

Expand All @@ -48,6 +53,7 @@ Notable Features
- Works with **DTI**, **DKI**, **WMTI**, **FBI**, or **FBWM** datasets
- Supports **multi-TE** dataset processing
- **Tractography ready:** Computes ODF spherical harmonic expansion for MRtrix3, and .fib files for DSI Studio
- Installable modules for **Python or Jupyter Notebook scripting** of custom workflows


We welcome all DTI/DKI researchers to evaluate this software and pass
Expand Down
4 changes: 2 additions & 2 deletions designer/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
__maintainer__ = 'Siddhartha Dhiman'
__email__ = 'bridge@musc.edu'
__url__ = 'https://github.com/m-ama/PyDesigner'
__license__='MPL 2.0'
__license__='CUSTOM'
__description__ = ('Python Port of NYU\'s Designer pipeline for dMRI '
'processing')
# Gets folder name where this file resides
Expand Down Expand Up @@ -63,7 +63,7 @@
'Programming Language :: Python :: 3.7',
'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)',
'Operating System :: OS Independent',
'Topic :: Scientific/Engineering :: Bio-Informatics'
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Scientific/Engineering :: Information Analysis',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Scientific/Engineering :: Physics'
Expand Down
12 changes: 7 additions & 5 deletions designer/pydesigner.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,10 @@ def main():
'(requires --denoise to generate a noisemap).')
parser.add_argument('--nofit', action='store_true', default=False,
help='Do not fit DTI or DKI tensors.')
parser.add_argument('--noakc', action='store_true', default=False,
help='Do not brute force K tensor outlier rejection.')
parser.add_argument('--akc', action='store_true', default=False,
help='Brute force K tensor outlier rejection. Applies '
'a median filter to tensor voxels that exhibit AKC '
'values of less than 2 and more than 10.')
parser.add_argument('--nooutliers', action='store_true', default=False,
help='Do not perform outlier correction on kurtosis '
'fitting metrics.')
Expand Down Expand Up @@ -322,7 +324,7 @@ def main():
# Can't do WMTI if no fit
if args.nofit:
stdmsg='--nofit given but '
if args.noakc:
if not args.akc:
warningmsg+=msgstart+stdmsg+'--noakc'+override+'tensor fitting.\n'
args.nofit = False
if args.nooutliers:
Expand Down Expand Up @@ -949,7 +951,7 @@ def main():
suffix=None,
ext=ext,
irlls=not args.nooutliers,
akc=not args.noakc,
akc=args.akc,
l_max=args.l_max,
res=args.t_res,
n_fibers=args.t_fibers,
Expand All @@ -967,7 +969,7 @@ def main():
suffix=None,
ext=ext,
irlls=not args.nooutliers,
akc=not args.noakc,
akc=args.akc,
l_max=args.l_max,
rectify = fbi_rectify,
res=args.t_res,
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile_develop
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ RUN echo "alias pip=pip3" >> ~/.bashrc && source ~/.bashrc

# Install FSL
RUN curl https://fsl.fmrib.ox.ac.uk/fsldownloads/fslinstaller.py -o /tmp/fslinstaller.py
RUN echo "/usr/local/fsl" | python2 /tmp/fslinstaller.py -V 6.0.3
RUN python /tmp/fslinstaller.py -V 6.0.6 -d /usr/local/fsl

# Configure FSL Environment
ENV FSLDIR=/usr/local/fsl
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile_release
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,15 @@ RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# Clone PyDesigner
ADD install_pydesigner_release /tmp/install_pydesigner_release
RUN sed -i 's/\r//g' /tmp/install_pydesigner_release
RUN pip3 install cmake==3.22.0
RUN chmod +x /tmp/install_pydesigner_release && bash /tmp/install_pydesigner_release
RUN pip3 install cmake
RUN cd /tmp/PyDesigner && pip3 install .
RUN echo "alias python=python3" >> ~/.bashrc && source ~/.bashrc
RUN echo "alias pip=pip3" >> ~/.bashrc && source ~/.bashrc

# Install FSL
RUN curl https://fsl.fmrib.ox.ac.uk/fsldownloads/fslinstaller.py -o /tmp/fslinstaller.py
RUN echo "/usr/local/fsl" | python2 /tmp/fslinstaller.py -V 6.0.3
RUN python /tmp/fslinstaller.py -V 6.0.6 -d /usr/local/fsl

# Configure FSL Environment
ENV FSLDIR=/usr/local/fsl
Expand Down
17 changes: 17 additions & 0 deletions docs/source/installation/pydesigner.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ PyDesigner
PyD is an installable Python package deisgned to perform pre- and
post- processing of dMRI acquisitions.

Easy Install
------------
PyDesigner can be installed using the PyPI package manager using the command

.. code-block:: console
$ pip install pydesigner
**Note**:
Remember to switch to your conda environement before parsing this
command.

That's it, you're done!

Instructions on installing PyDesigner manually from the GitHub repository
are list below.

Download
--------
You may clone the main `PyDesigner repository`_ for the latest build,
Expand Down

0 comments on commit d6d29c2

Please sign in to comment.