AxonDeepSeg 5.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. axondeepseg-5.4.0/.github/ISSUE_TEMPLATE/bug_report.md +30 -0
  2. axondeepseg-5.4.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
  3. axondeepseg-5.4.0/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. axondeepseg-5.4.0/.github/pull_request_template.md +22 -0
  5. axondeepseg-5.4.0/.github/workflows/pipy_install_tests.yaml +124 -0
  6. axondeepseg-5.4.0/.github/workflows/run_tests.yaml +128 -0
  7. axondeepseg-5.4.0/.gitignore +67 -0
  8. axondeepseg-5.4.0/.readthedocs.yml +22 -0
  9. axondeepseg-5.4.0/AxonDeepSeg/__init__.py +20 -0
  10. axondeepseg-5.4.0/AxonDeepSeg/ads_napari/Settings_menu_ui.ui +83 -0
  11. axondeepseg-5.4.0/AxonDeepSeg/ads_napari/__init__.py +5 -0
  12. axondeepseg-5.4.0/AxonDeepSeg/ads_napari/_widget.py +1341 -0
  13. axondeepseg-5.4.0/AxonDeepSeg/ads_napari/napari.yaml +11 -0
  14. axondeepseg-5.4.0/AxonDeepSeg/ads_napari/settings_menu_ui.py +78 -0
  15. axondeepseg-5.4.0/AxonDeepSeg/ads_utils.py +252 -0
  16. axondeepseg-5.4.0/AxonDeepSeg/apply_model.py +192 -0
  17. axondeepseg-5.4.0/AxonDeepSeg/download_model.py +145 -0
  18. axondeepseg-5.4.0/AxonDeepSeg/download_tests.py +77 -0
  19. axondeepseg-5.4.0/AxonDeepSeg/integrity_test.py +91 -0
  20. axondeepseg-5.4.0/AxonDeepSeg/logo_ads-alpha.png +0 -0
  21. axondeepseg-5.4.0/AxonDeepSeg/logo_ads-alpha_small.png +0 -0
  22. axondeepseg-5.4.0/AxonDeepSeg/model_cards.yaml +49 -0
  23. axondeepseg-5.4.0/AxonDeepSeg/morphometrics/__init__.py +0 -0
  24. axondeepseg-5.4.0/AxonDeepSeg/morphometrics/aggregate.py +278 -0
  25. axondeepseg-5.4.0/AxonDeepSeg/morphometrics/compute_morphometrics.py +692 -0
  26. axondeepseg-5.4.0/AxonDeepSeg/morphometrics/launch_morphometrics_computation.py +382 -0
  27. axondeepseg-5.4.0/AxonDeepSeg/params.py +95 -0
  28. axondeepseg-5.4.0/AxonDeepSeg/postprocessing.py +171 -0
  29. axondeepseg-5.4.0/AxonDeepSeg/qa/__init__.py +0 -0
  30. axondeepseg-5.4.0/AxonDeepSeg/qa/custom_matplotlibrc +14 -0
  31. axondeepseg-5.4.0/AxonDeepSeg/qa/generate_report_demo.py +42 -0
  32. axondeepseg-5.4.0/AxonDeepSeg/qa/metrics_qa.py +255 -0
  33. axondeepseg-5.4.0/AxonDeepSeg/qa/report_template.html +1237 -0
  34. axondeepseg-5.4.0/AxonDeepSeg/segment.py +308 -0
  35. axondeepseg-5.4.0/AxonDeepSeg/testing/__init__.py +0 -0
  36. axondeepseg-5.4.0/AxonDeepSeg/testing/launch_performance_metrics.py +39 -0
  37. axondeepseg-5.4.0/AxonDeepSeg/testing/segmentation_scoring.py +348 -0
  38. axondeepseg-5.4.0/AxonDeepSeg/version.txt +1 -0
  39. axondeepseg-5.4.0/AxonDeepSeg/visualization/__init__.py +0 -0
  40. axondeepseg-5.4.0/AxonDeepSeg/visualization/colorization.py +114 -0
  41. axondeepseg-5.4.0/AxonDeepSeg/visualization/merge_masks.py +39 -0
  42. axondeepseg-5.4.0/AxonDeepSeg/visualization/simulate_axons.py +110 -0
  43. axondeepseg-5.4.0/AxonDeepSeg.egg-info/PKG-INFO +133 -0
  44. axondeepseg-5.4.0/AxonDeepSeg.egg-info/SOURCES.txt +95 -0
  45. axondeepseg-5.4.0/AxonDeepSeg.egg-info/dependency_links.txt +1 -0
  46. axondeepseg-5.4.0/AxonDeepSeg.egg-info/entry_points.txt +10 -0
  47. axondeepseg-5.4.0/AxonDeepSeg.egg-info/requires.txt +27 -0
  48. axondeepseg-5.4.0/AxonDeepSeg.egg-info/top_level.txt +1 -0
  49. axondeepseg-5.4.0/CHANGELOG.md +425 -0
  50. axondeepseg-5.4.0/CONTRIBUTING.rst +268 -0
  51. axondeepseg-5.4.0/LICENSE +21 -0
  52. axondeepseg-5.4.0/MANIFEST.ini +6 -0
  53. axondeepseg-5.4.0/PKG-INFO +133 -0
  54. axondeepseg-5.4.0/README.md +78 -0
  55. axondeepseg-5.4.0/custom_matplotlibrc +14 -0
  56. axondeepseg-5.4.0/docs/Makefile +20 -0
  57. axondeepseg-5.4.0/docs/make.bat +36 -0
  58. axondeepseg-5.4.0/docs/source/CHANGELOG.md +425 -0
  59. axondeepseg-5.4.0/docs/source/_extensions/__init__.py +0 -0
  60. axondeepseg-5.4.0/docs/source/_extensions/model_cards_ext.py +90 -0
  61. axondeepseg-5.4.0/docs/source/_static/.gitkeep +0 -0
  62. axondeepseg-5.4.0/docs/source/_static/css/custom.css +11 -0
  63. axondeepseg-5.4.0/docs/source/_static/logo_ads-alpha.png +0 -0
  64. axondeepseg-5.4.0/docs/source/_static/logo_ads-alpha.svg +439 -0
  65. axondeepseg-5.4.0/docs/source/_static/logo_ads.pdf +0 -0
  66. axondeepseg-5.4.0/docs/source/_static/logo_ads.png +0 -0
  67. axondeepseg-5.4.0/docs/source/_templates/.gitkeep +0 -0
  68. axondeepseg-5.4.0/docs/source/conf.py +193 -0
  69. axondeepseg-5.4.0/docs/source/documentation.rst +917 -0
  70. axondeepseg-5.4.0/docs/source/index.rst +72 -0
  71. axondeepseg-5.4.0/docs/source/license_contributors.rst +17 -0
  72. axondeepseg-5.4.0/docs/source/requirements.txt +5 -0
  73. axondeepseg-5.4.0/install_ads +717 -0
  74. axondeepseg-5.4.0/install_ads.bat +234 -0
  75. axondeepseg-5.4.0/pyproject.toml +88 -0
  76. axondeepseg-5.4.0/pytest.ini +5 -0
  77. axondeepseg-5.4.0/setup.cfg +4 -0
  78. axondeepseg-5.4.0/test/ads_napari/__init__.py +0 -0
  79. axondeepseg-5.4.0/test/ads_napari/test_widget.py +434 -0
  80. axondeepseg-5.4.0/test/morphometrics/test_aggregate.py +53 -0
  81. axondeepseg-5.4.0/test/morphometrics/test_compute_morphometrics.py +1099 -0
  82. axondeepseg-5.4.0/test/morphometrics/test_launch_morphometrics_computation.py +400 -0
  83. axondeepseg-5.4.0/test/test_ads_utils.py +300 -0
  84. axondeepseg-5.4.0/test/test_apply_model.py +156 -0
  85. axondeepseg-5.4.0/test/test_download_models.py +142 -0
  86. axondeepseg-5.4.0/test/test_download_tests.py +116 -0
  87. axondeepseg-5.4.0/test/test_integrity_test.py +17 -0
  88. axondeepseg-5.4.0/test/test_model_cards.py +30 -0
  89. axondeepseg-5.4.0/test/test_params.py +34 -0
  90. axondeepseg-5.4.0/test/test_postprocessing.py +118 -0
  91. axondeepseg-5.4.0/test/test_segment.py +297 -0
  92. axondeepseg-5.4.0/test/testing/test_launch_performance_metrics.py +30 -0
  93. axondeepseg-5.4.0/test/testing/test_segmentation_scoring.py +181 -0
  94. axondeepseg-5.4.0/test/visualization/test_colorization.py +85 -0
  95. axondeepseg-5.4.0/test/visualization/test_merge_masks.py +51 -0
  96. axondeepseg-5.4.0/test/visualization/test_simulate_axons.py +186 -0
  97. axondeepseg-5.4.0/tox.ini +32 -0
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us fix a software bug
4
+ title: ''
5
+ labels: category:BUG
6
+ assignees: ''
7
+
8
+ ---
9
+ <!-- Use this form to report software defects (inaccurate/erratic behavior, crashes, etc.).
10
+ If you have questions about using the software or are encountering difficulties with installation, please create a topic in the forum (see the "Discussions" tab at the top of this page). -->
11
+
12
+ **Describe the bug**
13
+ A clear and concise description of what the bug is.
14
+ Feel free to add screenshots to illustrate the problem!
15
+
16
+ **To Reproduce**
17
+ <!--
18
+ Please try to reproduce your issue using "./AxonDeepSeg/data_test" as inputs, and to provide a sequence of commands that can reproduce it.
19
+ If this is not possible, try to isolate a minimal input on which the issue happens (e.g. one file among a dataset) and provide this file publicly. If the data can't be shared publicly, please coordinate with @jcohenadad in private.
20
+ -->
21
+ Steps to reproduce the behavior:
22
+
23
+ 1. Go to '...'
24
+ 2. Click on '....'
25
+ 3. Scroll down to '....'
26
+ 4. See "Error 1955: Out of Time"
27
+
28
+ **Platform (please complete the following information):**
29
+ - OS: [e.g. Mac OS "Flaming Flamingo", Fedora 99, Ubuntu 48.04]
30
+ - AxonDeepSeg version number [e.g. 3.2.0, git master, etc.]
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Questions and Answers
4
+ url: https://github.com/neuropoly/axondeepseg/discussions
5
+ about: Please ask (and/or answer) installation and usage questions in our discussions forum
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Describe a well-defined idea of a how a new functionality should work
4
+ title: ''
5
+ labels: category:FEATURE
6
+ assignees: ''
7
+
8
+ ---
9
+ <!--
10
+ Use this form to describe a well-defined new feature that should be added to the software.
11
+ If your idea is not fully fleshed out yet, consider brainstorming with us by creating a topic in the forum (see the "Discussions" tab at the top of this page) before making a formal feature request here.
12
+ -->
13
+ **Describe the problem**
14
+ If possible, provide references to any discussions or theoretical work to help the reader better understand the feature.
15
+ Feel free to add screenshots and mockups to illustrate the problem!
16
+
17
+ **Proposed solution**
18
+ A clear and concise description of what you want to happen, ideally as a result of an existing discussion or design work.
19
+
20
+ Provide a "usage scenario", imagining how the feature would be used in practice (ideally inputs, a sequence of commands, and the desired outcome).
@@ -0,0 +1,22 @@
1
+ ## Checklist
2
+
3
+ - [ ] I've given this PR a concise, self-descriptive, and meaningful title
4
+ - [ ] I've linked relevant issues in the PR body
5
+ - [ ] I've applied [the relevant labels](https://intranet.neuro.polymtl.ca/geek-tips/contributing#pr-labels-a-href-pr-labels-id-pr-labels-a) to this PR
6
+ - [ ] I've added relevant tests for my contribution
7
+ - [ ] I've updated the documentation and/or added correct docstrings
8
+ - [ ] I've assigned a reviewer
9
+ - [ ] I've consulted [ADS's internal developer documentation](https://github.com/neuropoly/axondeepseg/wiki/Guidelines-for-contribution) to ensure my contribution is in line with any relevant design decisions
10
+
11
+
12
+ <!--- For the title, please observe the following rules:
13
+ - Provide a concise and self-descriptive title
14
+ - Do not include the applicable issue number in the title, do it in the PR body
15
+ - If the PR is not ready for review, convert it to a draft.
16
+ -->
17
+
18
+ ## Description
19
+ <!-- describe what the PR is about. Explain the approach and possible drawbacks.It's ok to repeat some text from the related issue. -->
20
+
21
+ ## Linked issues
22
+ <!-- If the PR fixes any issues, indicate it here with issue-closing keywords: e.g. Resolves #XX, Fixes #XX, Addresses #XX. Note that if you want multiple issues to be autoclosed on PR merge, you must use the issue-closing verb before each relevant issue: e.g. Resolves #1, Resolves #2 -->
@@ -0,0 +1,124 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3
+
4
+ # Official DOc on GitHub Workflow Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
5
+
6
+ # Conda based env testing: https://github.com/conda-incubator/setup-miniconda
7
+ name: Run tests on pypi install
8
+
9
+ on:
10
+
11
+ # Trigger the workflow on push but only for the master branch
12
+ push:
13
+ branches:
14
+ - master
15
+ - 'release/**'
16
+
17
+ # Trigger current workflow on PR from ANY branch
18
+ pull_request:
19
+ types: [opened, reopened, synchronize]
20
+ branches:
21
+ - 'release/**'
22
+
23
+ # Cron based trigger
24
+ schedule:
25
+ # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#onschedule
26
+ # i.e. this runs every day at 4:33AM for the master branch.
27
+ - cron: '33 4 * * *'
28
+
29
+ env:
30
+ # Even when given -y, apt will still sometimes hang at a prompt if a package
31
+ # has clarifications to ask; DEBIAN_FRONTEND=noninteractive prevents that,
32
+ # This will be defined for non-debian platforms below too, but there's no harm in that.
33
+ # (TravisCI quietly defined this on all their platforms, but we have to give it manually on GithubCI.)
34
+ DEBIAN_FRONTEND: 'noninteractive'
35
+
36
+ jobs:
37
+ pypi_package_tests:
38
+ name: PyPi Package test for Python ${{ matrix.python-version }} on ${{ matrix.os }}
39
+
40
+ # Matrix driven OS
41
+ runs-on: ${{ matrix.os }}
42
+
43
+ # Defining matrix for OS and Python
44
+ strategy:
45
+ fail-fast: false
46
+ matrix:
47
+ os: [ "ubuntu-latest", "macos-latest", "windows-latest"]
48
+ python-version: [ "3.11", "3.12"]
49
+
50
+ # Main steps for the test to be reproduced across OS x Python
51
+ steps:
52
+ # Step 1: Checkout code.
53
+ - uses: actions/checkout@v2
54
+ - uses: actions/setup-python@v5
55
+ with:
56
+ python-version: ${{ matrix.python-version }}
57
+
58
+ # Step 2: Install environment.
59
+ - name: Install Latest pypi version of AxonDeepSeg
60
+ run: |
61
+ pip install --upgrade pip
62
+ pip install axondeepseg==5.4.0 --no-cache-dir
63
+
64
+
65
+ # Step 2a: Modify MKL_THREADING_LAYER (Ubuntu only)
66
+ # See https://github.com/pytorch/pytorch/issues/37377#issuecomment-629530272
67
+ - name: Set MKL_THREADING_LAYER
68
+ if: matrix.os == 'ubuntu-latest'
69
+ run: |
70
+ echo "MKL_THREADING_LAYER=GNU" >> $GITHUB_ENV
71
+
72
+ # Step 3: Full PyTest
73
+ - name: Test with pytest (Unix)
74
+ if: ${{ (matrix.os == 'ubuntu-latest') || (matrix.os == 'macos-latest' && matrix.python-version == '3.11') }}
75
+ run: |
76
+
77
+ git pull --all
78
+
79
+ git checkout $( git tag | tail -1)
80
+
81
+ rm -rf ./AxonDeepSeg/
82
+
83
+ python -c "import AxonDeepSeg.download_tests as download_tests; download_tests.main()"
84
+ python -c "import AxonDeepSeg.download_tests as download_tests; download_tests.main(['-d', './test/'])"
85
+ python -c "import AxonDeepSeg.download_model as download_model; download_model.main()"
86
+ python -c "import AxonDeepSeg.download_model as download_model; download_model.main(['-d', './AxonDeepSeg/models'])"
87
+
88
+ pytest ./ -v
89
+ echo "All done!"
90
+ exit 0
91
+
92
+
93
+
94
+ - name: Test with pytest (Windows)
95
+ if: runner.os == 'Windows'
96
+ shell: cmd
97
+ run: |
98
+
99
+ for /f %%i in ('git tag') do set LATEST_TAG=%%i
100
+ git checkout %LATEST_TAG%
101
+
102
+ rmdir ./AxonDeepSeg/
103
+
104
+ python -c "import AxonDeepSeg.download_tests as download_tests; download_tests.main()"
105
+ python -c "import AxonDeepSeg.download_tests as download_tests; download_tests.main(['-d', './test/'])"
106
+ python -c "import AxonDeepSeg.download_model as download_model; download_model.main()"
107
+ python -c "import AxonDeepSeg.download_model as download_model; download_model.main(['-d', './AxonDeepSeg/models'])"
108
+
109
+ pytest.exe ./ -v
110
+
111
+
112
+ # This step is MANDATORY and used to indicate matrix completion to coveralls.io
113
+ # See here: https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html#github-actions-support
114
+ finish:
115
+ needs: [pypi_package_tests]
116
+ if: ${{ always() }}
117
+ runs-on: ubuntu-latest
118
+ steps:
119
+ - uses: actions/setup-python@v5
120
+ with:
121
+ python-version: '3.x'
122
+ - name: Pypi install test finished
123
+ run: echo "Tests comlete!"
124
+
@@ -0,0 +1,128 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3
+
4
+ # Official DOc on GitHub Workflow Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
5
+
6
+ # Conda based env testing: https://github.com/conda-incubator/setup-miniconda
7
+ name: Run tests
8
+
9
+ on:
10
+
11
+ # Trigger the workflow on push but only for the master branch
12
+ push:
13
+ branches:
14
+ - master
15
+
16
+ # Trigger current workflow on PR from ANY branch
17
+ pull_request:
18
+ branches:
19
+ - '**'
20
+
21
+ # Cron based trigger
22
+ schedule:
23
+ # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#onschedule
24
+ # i.e. this runs every day at 4:33AM for the master branch.
25
+ - cron: '33 4 * * *'
26
+
27
+ env:
28
+ # Even when given -y, apt will still sometimes hang at a prompt if a package
29
+ # has clarifications to ask; DEBIAN_FRONTEND=noninteractive prevents that,
30
+ # This will be defined for non-debian platforms below too, but there's no harm in that.
31
+ # (TravisCI quietly defined this on all their platforms, but we have to give it manually on GithubCI.)
32
+ DEBIAN_FRONTEND: 'noninteractive'
33
+ VISPY_GL_BACKEND: 'osmesa'
34
+
35
+ jobs:
36
+ ultra_matrix_test:
37
+ name: Matrix Test of Python ${{ matrix.python-version }} on ${{ matrix.os }}
38
+
39
+ # Matrix driven OS
40
+ runs-on: ${{ matrix.os }}
41
+
42
+ # Default shell for ALL subsequent steps.
43
+ defaults:
44
+ run:
45
+ shell: bash -l {0}
46
+
47
+ # Defining matrix for OS and Python
48
+ strategy:
49
+ fail-fast: false
50
+ matrix:
51
+ os: [ "ubuntu-latest", "macos-latest", "windows-latest"]
52
+ python-version: [ ">=3.11" ]
53
+
54
+ # Main steps for the test to be reproduced across OS x Python
55
+ steps:
56
+ # Step 0: Checkout code.
57
+ - uses: actions/checkout@v2
58
+
59
+ # Step 1: List main repo by time modified, and print path
60
+ - name: List all current repository files and modification date
61
+ # Parameters.
62
+ run: |
63
+ ls -lasth
64
+ pwd
65
+
66
+ # Step 2: Install environment.
67
+ - name: Install ADS from release branch (Unix)
68
+ if: runner.os != 'Windows'
69
+ run: ./install_ads -y
70
+ - name: Install ADS from release branch (Windows)
71
+ if: runner.os == 'Windows'
72
+ shell: cmd
73
+ run: install_ads.bat
74
+
75
+ # Step 2a: Modify MKL_THREADING_LAYER (Ubuntu only)
76
+ # See https://github.com/pytorch/pytorch/issues/37377#issuecomment-629530272
77
+ - name: Set MKL_THREADING_LAYER
78
+ if: matrix.os == 'ubuntu-latest'
79
+ run: |
80
+ echo "MKL_THREADING_LAYER=GNU" >> $GITHUB_ENV
81
+
82
+ # Step 2b: Add ADS to the PATH
83
+ - name: Update environment variables
84
+ # NB: I'm not sure what GHA's syntax is for cmd.exe, so we use bash just for this one change
85
+ # In a user install, the user would perform this step using the Windows PATH-changing GUI.
86
+ run: |
87
+ if [ "$RUNNER_OS" == "Windows" ]; then
88
+ echo "${GITHUB_WORKSPACE}" >> $ADS_DIR
89
+ echo "${GITHUB_WORKSPACE}\bin" >> $GITHUB_PATH
90
+ else
91
+ # NB: install_ads edits ~/.bashrc, but those environment changes don't get passed to subsequent steps in GH Actions.
92
+ # So, we filter through the .bashrc and pass the values to $GITHUB_ENV and $GITHUB_PATH.
93
+ # Relevant documentation: https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#environment-files
94
+ cat ~/.bashrc | grep "export ADS_DIR" | cut -d " " -f 2 >> $GITHUB_ENV
95
+ cat ~/.bashrc | grep "export PATH" | grep -o "/.*" | cut -d ':' -f 1 >> $GITHUB_PATH
96
+ fi
97
+
98
+ # Step 3: Full PyTest
99
+ - name: Test with pytest (Unix)
100
+ if: runner.os != 'Windows'
101
+ run: |
102
+ source ads_conda/bin/activate ads_conda/envs/venv_ads
103
+ pytest ./test/ -v --cov AxonDeepSeg/ --cov-report=lcov
104
+ - name: Test with pytest (Windows)
105
+ if: runner.os == 'Windows'
106
+ shell: cmd
107
+ run: |
108
+ CALL ads_conda\Scripts\activate.bat ads_conda\envs\venv_ads
109
+ pytest.exe ./test/ -v --cov AxonDeepSeg/ --cov-report=lcov
110
+ # Step 4: Submnit to coveralls
111
+ - name: Submit to coveralls
112
+ uses: coverallsapp/github-action@v2
113
+ with:
114
+ flag-name: ${{ matrix.os }}
115
+ parallel: true
116
+
117
+ # This step is MANDATORY and used to indicate matrix completion to coveralls.io
118
+ # See here: https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html#github-actions-support
119
+ finish:
120
+ needs: [ultra_matrix_test]
121
+ if: ${{ always() }}
122
+ runs-on: ubuntu-latest
123
+ steps:
124
+ - name: Coveralls Finished
125
+ uses: coverallsapp/github-action@v2
126
+ with:
127
+ github-token: ${{ secrets.github_token }}
128
+ parallel-finished: true
@@ -0,0 +1,67 @@
1
+ # Can ignore ADS specific files/folders
2
+ AxonDeepSeg\.egg-info/
3
+
4
+ AxonDeepSeg/.adsconfig
5
+
6
+ build/
7
+
8
+ dist/
9
+
10
+ config/
11
+
12
+ \.idea/
13
+
14
+ *.pyc
15
+
16
+ *.png
17
+
18
+ data/
19
+
20
+ guidelines/.ipynb_checkpoints/
21
+
22
+ summaries/
23
+
24
+ trainingset/
25
+
26
+ guidelines/test_weights\.ipynb
27
+
28
+ notebooks/\.ipynb_checkpoints/
29
+
30
+ notebooks/test_weights\.ipynb
31
+
32
+ AxonDeepSeg/models
33
+
34
+ models/
35
+
36
+ test/__test_files__
37
+
38
+ tmp/
39
+
40
+ *.log
41
+
42
+ # Files generated by the new SCT-based install script
43
+ /bin
44
+ /ads_conda
45
+ /install_ads_log.txt
46
+
47
+ # Generated image files
48
+ AxonDeepSeg/data_test/AxonDeepSeg*
49
+
50
+ # Python-related temp files
51
+ .coverage
52
+ .pytest_cache/
53
+ .ipynb_checkpoints/
54
+
55
+ # OS-related files/folders
56
+ __MACOSX/
57
+ .DS_Store
58
+ .vscode/
59
+
60
+ axondeepseg.log
61
+
62
+ Pipfile
63
+
64
+ *.egg-info/
65
+ qa_test/
66
+
67
+ docs/source/_generated_models.rst
@@ -0,0 +1,22 @@
1
+ # .readthedocs.yml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+
8
+ build:
9
+ os: "ubuntu-22.04"
10
+ tools:
11
+ python: "3.12"
12
+
13
+ # Install Sphinx/RTD requirements
14
+ python:
15
+ install:
16
+ - requirements: docs/source/requirements.txt
17
+
18
+ # Build documentation in the docs/ directory with Sphinx
19
+ sphinx:
20
+ configuration: docs/source/conf.py
21
+ fail_on_warning: true
22
+
@@ -0,0 +1,20 @@
1
+ import os
2
+ import sys
3
+
4
+ __name__ = "AxonDeepSeg"
5
+
6
+ version_file = os.path.abspath(os.path.join(__file__, os.pardir, "version.txt"))
7
+ with open(version_file, 'r') as f:
8
+ __version__ = f.read().rstrip()
9
+
10
+ # make sure repo directory (two directories up) is on path (to access config.py)
11
+ __repo_dir__ = os.path.abspath(os.path.join(__file__, os.pardir, os.pardir))
12
+ sys.path.append(__repo_dir__)
13
+
14
+ # verify that the repo was downloaded with `git clone`
15
+ if os.path.exists(os.path.join(__repo_dir__, ".git")):
16
+ import subprocess
17
+ __git_sha1__ = subprocess.check_output(["git", "-C", __repo_dir__, "rev-parse", "HEAD"]).decode("utf-8").rstrip()
18
+ else:
19
+ __git_sha1__ = "unknown commit"
20
+ __version_string__ = f"AxonDeepSeg v{__version__} - {__git_sha1__}"
@@ -0,0 +1,83 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Settings_menu_ui</class>
4
+ <widget class="QWidget" name="Settings_menu_ui">
5
+ <property name="windowModality">
6
+ <enum>Qt::WindowModal</enum>
7
+ </property>
8
+ <property name="geometry">
9
+ <rect>
10
+ <x>0</x>
11
+ <y>0</y>
12
+ <width>399</width>
13
+ <height>209</height>
14
+ </rect>
15
+ </property>
16
+ <property name="windowTitle">
17
+ <string>Settings menu</string>
18
+ </property>
19
+ <layout class="QVBoxLayout" name="verticalLayout">
20
+ <item>
21
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
22
+ <item>
23
+ <widget class="QLabel" name="label_5">
24
+ <property name="text">
25
+ <string>GPU ID</string>
26
+ </property>
27
+ </widget>
28
+ </item>
29
+ <item>
30
+ <widget class="QSpinBox" name="gpu_id_spinBox"/>
31
+ </item>
32
+ </layout>
33
+ </item>
34
+ <item>
35
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
36
+ <item>
37
+ <widget class="QLabel" name="label_4">
38
+ <property name="text">
39
+ <string>Axon Shape</string>
40
+ </property>
41
+ </widget>
42
+ </item>
43
+ <item>
44
+ <widget class="QComboBox" name="axon_shape_comboBox">
45
+ <item>
46
+ <property name="text">
47
+ <string>circle</string>
48
+ </property>
49
+ </item>
50
+ <item>
51
+ <property name="text">
52
+ <string>ellipse</string>
53
+ </property>
54
+ </item>
55
+ </widget>
56
+ </item>
57
+ </layout>
58
+ </item>
59
+ <item>
60
+ <widget class="QPushButton" name="done_button">
61
+ <property name="text">
62
+ <string>Done</string>
63
+ </property>
64
+ </widget>
65
+ </item>
66
+ <item>
67
+ <spacer name="verticalSpacer">
68
+ <property name="orientation">
69
+ <enum>Qt::Vertical</enum>
70
+ </property>
71
+ <property name="sizeHint" stdset="0">
72
+ <size>
73
+ <width>20</width>
74
+ <height>40</height>
75
+ </size>
76
+ </property>
77
+ </spacer>
78
+ </item>
79
+ </layout>
80
+ </widget>
81
+ <resources/>
82
+ <connections/>
83
+ </ui>
@@ -0,0 +1,5 @@
1
+ from ._widget import ADSplugin
2
+
3
+ __all__ = (
4
+ "ADSplugin"
5
+ )