diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 6e5e3ba91..91b0020e4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -94,19 +94,19 @@ is difficult to be described as one unit of work, please consider splitting it i The current list of issue labels are [here][link_labels] and include: -* [![Good first issue](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/good%20first%20issue)][link_firstissue] *These issues contain a task that is amenable to new contributors because it doesn't entail a steep learning curve.* +* [![Good first issue](https://img.shields.io/github/labels/tractometry/pyAFQ/good%20first%20issue)][link_firstissue] *These issues contain a task that is amenable to new contributors because it doesn't entail a steep learning curve.* If you feel that you can contribute to one of these issues, we especially encourage you to do so! -* [![Bug](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/bug)][link_bugs] *These issues point to problems in the project.* +* [![Bug](https://img.shields.io/github/labels/tractometry/pyAFQ/bug)][link_bugs] *These issues point to problems in the project.* If you find new a bug, please give as much detail as possible in your issue, including steps to recreate the error. If you experience the same bug as one already listed, please add any additional information that you have as a comment. -* [![Enhancement](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/enhancement)][link_enhancement] *These issues are asking for new features and improvements to be considered by the project.* +* [![Enhancement](https://img.shields.io/github/labels/tractometry/pyAFQ/enhancement)][link_enhancement] *These issues are asking for new features and improvements to be considered by the project.* Please try to make sure that your requested feature is distinct from any others that have already been requested or implemented. @@ -118,16 +118,16 @@ we have two sets of special labels: | Label | Description | |--------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------| -| ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20high)
![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20medium)
![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20low) | Estimation of the downstream impact the proposed feature/bugfix will have. | -| ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20high)
![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20medium)
![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20low) | Estimation of effort required to implement the requested feature or fix the reported bug. | +| ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20high)
![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20medium)
![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20low) | Estimation of the downstream impact the proposed feature/bugfix will have. | +| ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20high)
![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20medium)
![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20low) | Estimation of effort required to implement the requested feature or fix the reported bug. | These labels help triage and set priorities to the development tasks. For instance, one bug regression that has been reported to affect most of the users after a release with an easy fix because it is a known old problem that came back. -Such an issue will typically be assigned the following labels ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/bug) ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20high) ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20low), and its priority will be maximal since addressing low-effort high-impact deliver the maximum turnout without increasing the churn by much. +Such an issue will typically be assigned the following labels ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/bug) ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20high) ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20low), and its priority will be maximal since addressing low-effort high-impact deliver the maximum turnout without increasing the churn by much. -Of course, the implementation of long-term goaled lines may include the scheduling of ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20medium) ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20high). -Finally, ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/impact%3A%20low) ![GitHub labels](https://img.shields.io/github/labels/yeatmanlab/pyAFQ/effort%3A%20high) issues are less likely to be addressed. +Of course, the implementation of long-term goaled lines may include the scheduling of ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20medium) ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20high). +Finally, ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/impact%3A%20low) ![GitHub labels](https://img.shields.io/github/labels/tractometry/pyAFQ/effort%3A%20high) issues are less likely to be addressed. ## Making a change @@ -156,7 +156,7 @@ but those accepted fastest will follow a workflow similar to the following: add the ["upstream" pyAFQ repository as a remote][link_addremote] to your locally cloned repository. ```Shell - git remote add upstream https://github.com/yeatmanlab/pyAFQ.git + git remote add upstream https://github.com/tractometry/pyAFQ.git ``` Make sure to [keep your fork up to date][link_updateupstreamwiki] with the upstream repository.
For example, to update your master branch on your local cloned repository: @@ -240,7 +240,7 @@ acknowledge that any contributions will be licensed under the same terms. [MetPy project](https://github.com/Unidata/MetPy). [link_github]: https://github.com/ -[link_pyAFQ]: https://github.com/yeatmanlab/pyAFQ +[link_pyAFQ]: https://github.com/tractometry/pyAFQ [link_signupinstructions]: https://help.github.com/articles/signing-up-for-a-new-github-account [link_neurostars]: https://neurostars.org/tags/pyAFQ @@ -254,13 +254,13 @@ acknowledge that any contributions will be licensed under the same terms. [rick_roll]: https://www.youtube.com/watch?v=dQw4w9WgXcQ [autofq]: https://autofq.org/ -[link_issues]: https://github.com/yeatmanlab/pyAFQ/issues -[link_labels]: https://github.com/yeatmanlab/pyAFQ/labels +[link_issues]: https://github.com/tractometry/pyAFQ/issues +[link_labels]: https://github.com/tractometry/pyAFQ/labels [link_discussingissues]: https://help.github.com/articles/discussing-projects-in-issues-and-pull-requests -[link_bugs]: https://github.com/yeatmanlab/pyAFQ/labels/bug -[link_firstissue]: https://github.com/yeatmanlab/pyAFQ/labels/good%20first%20issue -[link_enhancement]: https://github.com/yeatmanlab/pyAFQ/labels/enhancement +[link_bugs]: https://github.com/tractometry/pyAFQ/labels/bug +[link_firstissue]: https://github.com/tractometry/pyAFQ/labels/good%20first%20issue +[link_enhancement]: https://github.com/tractometry/pyAFQ/labels/enhancement [link_pullrequest]: https://help.github.com/articles/creating-a-pull-request-from-a-fork [link_fork]: https://help.github.com/articles/fork-a-repo/ diff --git a/.github/workflows/docbuild.yml b/.github/workflows/docbuild.yml index ded354579..529120adf 100644 --- a/.github/workflows/docbuild.yml +++ b/.github/workflows/docbuild.yml @@ -2,13 +2,19 @@ name: Documentation build on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + jobs: build: runs-on: ubuntu-latest strategy: - max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.11"] steps: - name: Checkout repo @@ -31,14 +37,13 @@ jobs: cd docs make html - name: Upload docs - uses: actions/upload-artifact@v1 + if: matrix.python-version == '3.11' + uses: actions/upload-artifact@v4 with: name: docs path: docs/build/html - name: Publish docs to Github Pages if: startsWith(github.event.ref, 'refs/tags') - uses: JamesIves/github-pages-deploy-action@releases/v3 + uses: JamesIves/github-pages-deploy-action@releases/v4 with: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - BRANCH: gh-pages # The branch the action should deploy to. - FOLDER: docs/build/html # The folder the action should deploy. + folder: docs/build/html diff --git a/.github/workflows/docker_pyafq.yml b/.github/workflows/docker_pyafq.yml index 0692f7446..a19162509 100644 --- a/.github/workflows/docker_pyafq.yml +++ b/.github/workflows/docker_pyafq.yml @@ -35,7 +35,7 @@ jobs: sh ./gpu_docker/docker-build.sh \ "${GITHUB_REF:10}" "nrdg" "11.4.3-devel-ubuntu20.04" "11" - - name: Login to GHCR + - name: Login to GHCR if: github.ref == 'refs/heads/master' || startsWith(github.event.ref, 'refs/tags') uses: docker/login-action@v1 with: diff --git a/.github/workflows/docker_pyafq_cuda12.yml b/.github/workflows/docker_pyafq_cuda12.yml index 339a6d337..6cbe4d2c0 100644 --- a/.github/workflows/docker_pyafq_cuda12.yml +++ b/.github/workflows/docker_pyafq_cuda12.yml @@ -25,9 +25,9 @@ jobs: sh ./gpu_docker/docker-build.sh \ "${GITHUB_REF:10}" "nrdg" "12.0.1-devel-ubuntu20.04" "12" - - name: Login to GHCR + - name: Login to GHCR if: github.ref == 'refs/heads/master' || startsWith(github.event.ref, 'refs/tags') - uses: docker/login-action@v1 + uses: docker/login-action@v3 with: registry: ghcr.io username: nrdg diff --git a/.github/workflows/nightly_anisotropic_test.yml b/.github/workflows/nightly_anisotropic_test.yml index be111546b..1512eaca5 100644 --- a/.github/workflows/nightly_anisotropic_test.yml +++ b/.github/workflows/nightly_anisotropic_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_basic_test.yml b/.github/workflows/nightly_basic_test.yml index 809122ae7..beb60e0c9 100644 --- a/.github/workflows/nightly_basic_test.yml +++ b/.github/workflows/nightly_basic_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_custom_test.yml b/.github/workflows/nightly_custom_test.yml index bc48aee9a..d500689e6 100644 --- a/.github/workflows/nightly_custom_test.yml +++ b/.github/workflows/nightly_custom_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_pft_test.yml b/.github/workflows/nightly_pft_test.yml index 11ed28d16..61bb52563 100644 --- a/.github/workflows/nightly_pft_test.yml +++ b/.github/workflows/nightly_pft_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_reco80_test.yml b/.github/workflows/nightly_reco80_test.yml index f054768d2..e768359c3 100644 --- a/.github/workflows/nightly_reco80_test.yml +++ b/.github/workflows/nightly_reco80_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_reco_test.yml b/.github/workflows/nightly_reco_test.yml index b9d00da89..1332db9a4 100644 --- a/.github/workflows/nightly_reco_test.yml +++ b/.github/workflows/nightly_reco_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/nightly_test.yml b/.github/workflows/nightly_test.yml index 9ed7d77be..49a93dc27 100644 --- a/.github/workflows/nightly_test.yml +++ b/.github/workflows/nightly_test.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] steps: - name: Checkout repo diff --git a/.github/workflows/publish-to-test-pypi.yml b/.github/workflows/publish-to-test-pypi.yml index 76aeb386f..7afb19e62 100644 --- a/.github/workflows/publish-to-test-pypi.yml +++ b/.github/workflows/publish-to-test-pypi.yml @@ -6,34 +6,34 @@ jobs: name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - name: Set up Python 3.9 + - uses: actions/checkout@v4 + - name: Set up Python 3.11 uses: actions/setup-python@v1 with: - python-version: 3.9 - - name: Install pypa/build + python-version: 3.11 + - name: Install pep517 run: >- python -m pip install - build + pep517 --user - name: Build a binary wheel and a source tarball run: >- python -m - build - --sdist - --wheel - --outdir dist/ + pep517.build + --source + --binary + --out-dir dist/ . - name: Publish distribution 📦 to Test PyPI - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.test_pypi_password }} - repository_url: https://test.pypi.org/legacy/ + repository-url: https://test.pypi.org/legacy/ - name: Publish distribution 📦 to PyPI if: startsWith(github.event.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ - password: ${{ secrets.pypi_password }} \ No newline at end of file + password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 875a0846d..add10a2bf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,6 +2,10 @@ name: Test suite on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: @@ -9,7 +13,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] nibabel-pre: [true, false] steps: diff --git a/.zenodo.json b/.zenodo.json index 56b5f42e8..f52fd2991 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -69,7 +69,7 @@ "license": "BSD-3-Clause", "related_identifiers": [ { - "identifier": "http://yeatmanlab.github.io/pyAFQ", + "identifier": "http://tractometry.org/pyAFQ", "relation": "isPartOf", "scheme": "url" } diff --git a/AFQ/data/fetch.py b/AFQ/data/fetch.py index cad48b6ee..67d02ce6b 100644 --- a/AFQ/data/fetch.py +++ b/AFQ/data/fetch.py @@ -203,7 +203,7 @@ def read_callosum_templates(as_img=True, resample_to=False): # # - atlas: https://www.nitrc.org/projects/pediatricatlas # -# - pediatric templates: https://github.com/yeatmanlab/AFQ/tree/babyAFQ +# - pediatric templates: https://github.com/tractometry/AFQ/tree/babyAFQ # # Templates downloaded from: # diff --git a/AFQ/tasks/viz.py b/AFQ/tasks/viz.py index 5e6aee1df..c2bfc832c 100644 --- a/AFQ/tasks/viz.py +++ b/AFQ/tasks/viz.py @@ -404,7 +404,7 @@ def init_viz_backend(viz_backend_spec="plotly_no_gif", viz_backend_spec : str, optional Which visualization backend to use. See Visualization Backends page in documentation for details: - https://yeatmanlab.github.io/pyAFQ/usage/viz_backend.html + https://tractometry.org/pyAFQ/usage/viz_backend.html One of {"fury", "plotly", "plotly_no_gif"}. Default: "plotly_no_gif" """ diff --git a/README.md b/README.md index adb905044..f62634d1a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # pyAFQ Automated Fiber Quantification ... in Python. -For details, see [Documentation](https://yeatmanlab.github.io/pyAFQ) +For details, see [Documentation](https://tractometry.org/pyAFQ) For further analysis of results, see [AFQ-Insight](https://github.com/richford/AFQ-Insight) diff --git a/bin/pyAFQ b/bin/pyAFQ index 261ece7f1..0fbafb8af 100755 --- a/bin/pyAFQ +++ b/bin/pyAFQ @@ -23,7 +23,7 @@ usage = \ Runs full AFQ processing as specified in the configuration file. For details about configuration, see instructions in: -https://yeatmanlab.github.io/pyAFQ/usage/config.html +https://tractometry.org/pyAFQ/usage/config.html The default configuration file looks like: @@ -104,7 +104,7 @@ def parse_cli(arg_dict): logger.info( "Your use of pyAFQ is being recorded using Google Analytics. " "For more information, please refer to the pyAFQ documentation: " - "https://yeatmanlab.github.io/pyAFQ/usage.html#usage-tracking-with-google-analytics. " # noqa + "https://tractometry.org/pyAFQ/usage.html#usage-tracking-with-google-analytics. " # noqa "To turn this off, use the `--notrack` " "flag when using the pyAFQ CLI") import popylar diff --git a/docs/Makefile b/docs/Makefile index ff6721d87..5e769d175 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -20,7 +20,7 @@ help: @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) upload: html - ./upload-gh-pages.sh build/html/ pyAFQ yeatmanlab + ./upload-gh-pages.sh build/html/ pyAFQ tractometry .PHONY: distclean realclean diff --git a/docs/source/conf.py b/docs/source/conf.py index b7833db5c..0636a29e0 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -110,7 +110,7 @@ "icon_links": [ { "name": "GitHub", - "url": "https://github.com/yeatmanlab/pyAFQ", + "url": "https://github.com/tractometry/pyAFQ", "icon": "fab fa-github-square", }] @@ -122,7 +122,7 @@ html_context = { "github_url": "https://github.com", - "github_user": "yeatmanlab", + "github_user": "tractometry", "github_repo": "pyAFQ", "github_version": "master", "doc_path": "docs/source", diff --git a/docs/source/explanations/modeling.rst b/docs/source/explanations/modeling.rst index 2039f0fb3..e8599df76 100644 --- a/docs/source/explanations/modeling.rst +++ b/docs/source/explanations/modeling.rst @@ -11,7 +11,7 @@ For an interesting perspective on modeling of tissue properties from diffusion MRI data, please refer to a recent paper by Novikov and colleagues [Novikov2018]_. -`This page ` includes +`This page ` includes a list of the model parameters that are accessible through the :class:`AFQ.api.group.GroupAFQ` and :class:`AFQ.api.participant.ParticipantAFQ` objects. diff --git a/docs/source/howto/contributing.rst b/docs/source/howto/contributing.rst index 38ac358b2..2080334a6 100644 --- a/docs/source/howto/contributing.rst +++ b/docs/source/howto/contributing.rst @@ -4,9 +4,9 @@ How to contribute to pyAFQ ~~~~~~~~~~~~~~~~~~~~~ pyAFQ is an open-source software project. This means that you are welcome -to use it (see `LICENSE `_ for details). +to use it (see `LICENSE `_ for details). It also means that we welcome contributions from developers outside of our research collaboration and we will credit these contributions appropriately. -Detailed guidelines for contribution are available `here `_. +Detailed guidelines for contribution are available `here `_. diff --git a/docs/source/howto/developing/index.rst b/docs/source/howto/developing/index.rst index 340861341..f45210d56 100644 --- a/docs/source/howto/developing/index.rst +++ b/docs/source/howto/developing/index.rst @@ -3,7 +3,7 @@ How to develop `pyAFQ` We are glad that you are here! That probably means that you are interested in contributing to the development of `pyAFQ`. Before you continue reading specific topics below, please read the contribution guidelines -`here `_ . +`here `_ . As an overview, the pyAFQ code can roughly be divided into 5 sections. @@ -20,14 +20,14 @@ As an overview, the pyAFQ code can roughly be divided into 5 sections. 3 - Code which describes tasks within the tractometry workflow. **For most contributors, this is a good place to start**. The user-facing API/CLI use a workflow automatically constructed from these discrete tasks, - as described in `tasks `_ . + as described in `tasks `_ . For shorter tasks, one may only need to edit the relevant task file. For longer tasks, one can add to the files containing low-level functionality. 4 - Code which describes 'definitions', classes which help users describe inputs to pyAFQ. These have particular requirements and must be - BIDS compatible, see `here `_ . + BIDS compatible, see `here `_ . 5 - Code which contains tests, such as in the tests folder and utils/tests. It is important when adding new functionality to add a corresponding test. diff --git a/docs/source/howto/developing/releasing.rst b/docs/source/howto/developing/releasing.rst index 2294ff0ad..76de02df8 100644 --- a/docs/source/howto/developing/releasing.rst +++ b/docs/source/howto/developing/releasing.rst @@ -3,7 +3,7 @@ How to create a release The current release process entails the following steps: -#. Make sure you have the `master` branch locally updated to the state on the `main fork of the project `_. +#. Make sure you have the `master` branch locally updated to the state on the `main fork of the project `_. #. Update CHANGES.rst: run the script `.maintenance/update_changes.sh `, with the tag set to the version string of the upcoming release. Further edit the notes to add a short summary at the top. @@ -18,8 +18,8 @@ The current release process entails the following steps: git push upstream 0.5 #. On GitHub: - - Navigate to the `"Releases" tab `_ - - Click on `"Draft a new release" `_. + - Navigate to the `"Releases" tab `_ + - Click on `"Draft a new release" `_. - In the "Tag version" box enter the version string of this release. - In "Release title" enter (for example) "Version 0.5". - In the description box copy the entry in CHANGES.rst corresponding to this release (with the exclusion of the title). diff --git a/docs/source/howto/getting_help.rst b/docs/source/howto/getting_help.rst index 6da5ed656..5b5b5c48a 100644 --- a/docs/source/howto/getting_help.rst +++ b/docs/source/howto/getting_help.rst @@ -6,7 +6,7 @@ one of the following communication channels: #. If you encounter a problem using the code, you can post an issue on our GitHub repository by going to this - `page `_ and clicking on the "new + `page `_ and clicking on the "new issue" button. Please provide all pertinent information about the issue you are facing: we often need to know what version of the software you are running and how you installed it, as well as the operating system that you @@ -17,7 +17,7 @@ one of the following communication channels: #. If you would like to start a discussion about future developments or about the method, consider starting a discussion on this - `page `_. + `page `_. #. Questions regarding the method and its use can also be posted to the `Neurostars `_ Q&A forum. diff --git a/docs/source/howto/installation_guide.rst b/docs/source/howto/installation_guide.rst index d522eb0bf..c1195e236 100644 --- a/docs/source/howto/installation_guide.rst +++ b/docs/source/howto/installation_guide.rst @@ -25,11 +25,11 @@ The development version is probably less stable, but might include new features and fixes. There are two ways to install this version. The first uses ``pip``:: - pip install git+https://github.com/yeatmanlab/pyAFQ.git + pip install git+https://github.com/tractometry/pyAFQ.git The other requires that you clone the source code to your machine:: - git clone https://github.com/yeatmanlab/pyAFQ.git + git clone https://github.com/tractometry/pyAFQ.git With both installation methods, you can include extensions to the base installation in square brackets. Change your working directory into the top-level directory of this repo and issue:: diff --git a/docs/source/howto/usage/docker.rst b/docs/source/howto/usage/docker.rst index 962401952..a7a882886 100644 --- a/docs/source/howto/usage/docker.rst +++ b/docs/source/howto/usage/docker.rst @@ -2,7 +2,7 @@ The pyAFQ docker image ~~~~~~~~~~~~~~~~~~~~~~ Everytime a new commit is made to master the -`pyAFQ github `_, +`pyAFQ github `_, a new image is pushed to the `NRDG github `_. This image contains an installation of the latest version of diff --git a/docs/source/howto/usage/kwargs.rst b/docs/source/howto/usage/kwargs.rst index aaf679cbf..a42393310 100644 --- a/docs/source/howto/usage/kwargs.rst +++ b/docs/source/howto/usage/kwargs.rst @@ -108,7 +108,7 @@ brain_mask_definition: instance from `AFQ.definitions.image`, optional bundle_info: strings, dict, or BundleDict, optional List of bundle names to include in segmentation, or a bundle dictionary (see BundleDict for inspiration), - or a BundleDict. See `Defining Custom Bundle Dictionaries `_ + or a BundleDict. See `Defining Custom Bundle Dictionaries `_ in the `usage` section of pyAFQ's documentation for details. If None, will get all appropriate bundles for the chosen segmentation algorithm. @@ -228,7 +228,7 @@ n_points_indiv: int or None viz_backend_spec: str, optional Which visualization backend to use. See Visualization Backends page in documentation for details: - https://yeatmanlab.github.io/pyAFQ/usage/viz_backend.html + https://tractometry.org/pyAFQ/usage/viz_backend.html One of {"fury", "plotly", "plotly_no_gif"}. Default: "plotly_no_gif" diff --git a/docs/source/reference/kwargs.rst b/docs/source/reference/kwargs.rst index d7314f26b..71c81e729 100644 --- a/docs/source/reference/kwargs.rst +++ b/docs/source/reference/kwargs.rst @@ -258,7 +258,7 @@ n_points_indiv: int or None viz_backend_spec: str, optional Which visualization backend to use. See Visualization Backends page in documentation for details: - https://yeatmanlab.github.io/pyAFQ/usage/viz_backend.html + https://tractometry.org/pyAFQ/usage/viz_backend.html One of {"fury", "plotly", "plotly_no_gif"}. Default: "plotly_no_gif" diff --git a/examples/howto_examples/cloudknot_example.py b/examples/howto_examples/cloudknot_example.py index e1292cc51..df5af4379 100644 --- a/examples/howto_examples/cloudknot_example.py +++ b/examples/howto_examples/cloudknot_example.py @@ -115,7 +115,7 @@ def afq_process_subject(subject): name='afq-process-subject-201009-0', func=afq_process_subject, base_image='python:3.8', - image_github_installs="https://github.com/yeatmanlab/pyAFQ.git", + image_github_installs="https://github.com/tractometry/pyAFQ.git", pars_policies=('AmazonS3FullAccess',), bid_percentage=100) @@ -159,7 +159,7 @@ def afq_combine_profiles(dummy_argument): name='afq_combine_subjects-201009-0', func=afq_combine_profiles, base_image='python:3.8', - image_github_installs="https://github.com/yeatmanlab/pyAFQ.git", + image_github_installs="https://github.com/tractometry/pyAFQ.git", pars_policies=('AmazonS3FullAccess',), bid_percentage=100) diff --git a/examples/howto_examples/cloudknot_hcp_example.py b/examples/howto_examples/cloudknot_hcp_example.py index 2663fa5b1..1db42e482 100644 --- a/examples/howto_examples/cloudknot_hcp_example.py +++ b/examples/howto_examples/cloudknot_hcp_example.py @@ -8,7 +8,7 @@ `here `_. We will use the ``Cloudknot`` library to run our AFQ analysis in the AWS Batch service (see also -`this example `_). +`this example `_). In the following we will use ``Cloudknot`` to run multiple configurations of pyAFQ on the HCP dataset. Specifically, here we will run pyAFQ with different tractography seeding strategies. @@ -147,13 +147,13 @@ def attach_keys(list_of_arg_lists): ########################################################################## # Define the :meth:`Knot` object to run your jobs on. See -# `this example `_ for more +# `this example `_ for more # details about the arguments to the object. knot = ck.Knot( name='afq-hcp-tractography-201110-0', func=afq_process_subject, base_image='python:3.8', - image_github_installs="https://github.com/yeatmanlab/pyAFQ.git", + image_github_installs="https://github.com/tractometry/pyAFQ.git", pars_policies=('AmazonS3FullAccess',), bid_percentage=100) @@ -194,7 +194,7 @@ def afq_combine_profiles(seed_mask, n_seeds): name='afq_combine_subjects-201110-0', func=afq_combine_profiles, base_image='python:3.8', - image_github_installs="https://github.com/yeatmanlab/pyAFQ.git", + image_github_installs="https://github.com/tractometry/pyAFQ.git", pars_policies=('AmazonS3FullAccess',), bid_percentage=100) diff --git a/examples/tutorial_examples/plot_002_bids_layout.py b/examples/tutorial_examples/plot_002_bids_layout.py index 65d902abe..61a6365e0 100644 --- a/examples/tutorial_examples/plot_002_bids_layout.py +++ b/examples/tutorial_examples/plot_002_bids_layout.py @@ -213,7 +213,7 @@ # which we already have clear definitions of the information # needed to segment them (e.g., waypoint ROIs and probability maps). # For an example that includes custom definition of bundle info, see the -# `plot_callosal_tract_profile example `_. +# `plot_callosal_tract_profile example `_. bundle_info = abd.default18_bd()[ "Left Superior Longitudinal", diff --git a/gpu_docker/Dockerfile b/gpu_docker/Dockerfile index 694489cf7..40beeabe1 100644 --- a/gpu_docker/Dockerfile +++ b/gpu_docker/Dockerfile @@ -29,7 +29,7 @@ ENV LD_LIBRARY_PATH /opt/anaconda/lib:${LD_LIBRARY_PATH} RUN pip install numpy scipy cython nibabel dipy tqdm fslpy # clone pyAFQ GPUStreamlines -RUN git clone https://github.com/yeatmanlab/pyAFQ.git /opt/pyAFQ +RUN git clone https://github.com/tractometry/pyAFQ.git /opt/pyAFQ RUN cd /opt/pyAFQ && git reset --hard ${COMMIT} RUN git clone --recursive -b csaodf https://github.com/dipy/GPUStreamlines /opt/GPUStreamlines diff --git a/pyafq_docker/Dockerfile b/pyafq_docker/Dockerfile index be09b1303..f4cea6fef 100644 --- a/pyafq_docker/Dockerfile +++ b/pyafq_docker/Dockerfile @@ -8,7 +8,7 @@ FROM python:3.8 ARG COMMIT # Install pyAFQ -RUN pip install --no-cache-dir git+https://github.com/yeatmanlab/pyAFQ.git@${COMMIT} +RUN pip install --no-cache-dir git+https://github.com/tractometry/pyAFQ.git@${COMMIT} RUN pip install fslpy RUN pyAFQ download diff --git a/setup.cfg b/setup.cfg index 8d163d2d6..3a3bfb55f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,7 +1,7 @@ [metadata] name = pyAFQ -url = https://yeatmanlab.github.io/pyAFQ -download_url = https://github.com/yeatmanlab/pyAFQ +url = https://tractometry.github.io/pyAFQ +download_url = https://github.com/tractometry/pyAFQ author = pyAFQ developers author_email = arokem@gmail.com maintainer = Ariel Rokem @@ -24,11 +24,11 @@ platforms = OS Independent [options] setup_requires = setuptools_scm -python_requires = >=3.8 +python_requires = >=3.10 install_requires = # core packages scikit_image>=0.14.2 - dipy>=1.8.0,<1.9.0 + dipy>=1.9.0 pandas pybids>=0.16.2 templateflow>=0.8 @@ -52,7 +52,7 @@ install_requires = imageio>=2.0.0 Pillow matplotlib - numpy==1.23.5 + numpy==2.1.0 altair zip_safe = False