spotmax 1.0.3__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 (165) hide show
  1. spotmax-1.0.3/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  2. spotmax-1.0.3/.github/ISSUE_TEMPLATE/enhanchement_request.yml +24 -0
  3. spotmax-1.0.3/.github/ISSUE_TEMPLATE/feature_request.yml +24 -0
  4. spotmax-1.0.3/.github/ISSUE_TEMPLATE/informal-request.yml +25 -0
  5. spotmax-1.0.3/.github/workflows/build-macos_pyqt5.yml +43 -0
  6. spotmax-1.0.3/.github/workflows/build-macos_pyqt6.yml +43 -0
  7. spotmax-1.0.3/.github/workflows/build-ubuntu_pyqt5.yml +49 -0
  8. spotmax-1.0.3/.github/workflows/build-windows_pyqt5.yml +42 -0
  9. spotmax-1.0.3/.github/workflows/build-windows_pyqt6.yml +42 -0
  10. spotmax-1.0.3/.github/workflows/inactive-issues.yml +50 -0
  11. spotmax-1.0.3/.gitignore +170 -0
  12. spotmax-1.0.3/.readthedocs.yaml +19 -0
  13. spotmax-1.0.3/LICENSE +674 -0
  14. spotmax-1.0.3/MANIFEST.in +2 -0
  15. spotmax-1.0.3/PKG-INFO +126 -0
  16. spotmax-1.0.3/README.rst +87 -0
  17. spotmax-1.0.3/environment_cli.yml +18 -0
  18. spotmax-1.0.3/environment_gui.yml +21 -0
  19. spotmax-1.0.3/envs/conda_env_headless.yml +20 -0
  20. spotmax-1.0.3/envs/requirements_headless.txt +14 -0
  21. spotmax-1.0.3/examples/__init__.py +0 -0
  22. spotmax-1.0.3/examples/images/mitochondria/ASY15-1_0nM-10_s10_mNeon.tif +0 -0
  23. spotmax-1.0.3/examples/images/mitochondria/ASY15-1_0nM-10_s10_segm.npz +0 -0
  24. spotmax-1.0.3/examples/ini_config_files_templates/example_config_params_mitochondria.ini +92 -0
  25. spotmax-1.0.3/examples/ini_config_files_templates/example_config_params_smFISH.ini +60 -0
  26. spotmax-1.0.3/examples/ini_config_files_templates/mtDNA_yeast_tutorial_parameters.ini +112 -0
  27. spotmax-1.0.3/examples/ini_config_files_templates/smFISH_yeast_tutorial_parameters.ini +89 -0
  28. spotmax-1.0.3/examples/notebooks/spots_synthetic_simple.ipynb +1616 -0
  29. spotmax-1.0.3/examples/scripts/spots_synthetic_simple.py +129 -0
  30. spotmax-1.0.3/pyproject.toml +84 -0
  31. spotmax-1.0.3/requirements_gui_pyqt5.txt +4 -0
  32. spotmax-1.0.3/requirements_gui_pyqt6.txt +5 -0
  33. spotmax-1.0.3/setup.cfg +4 -0
  34. spotmax-1.0.3/spotmax/BioImageIO/__init__.py +10 -0
  35. spotmax-1.0.3/spotmax/BioImageIO/model.py +221 -0
  36. spotmax-1.0.3/spotmax/Spotiflow/__init__.py +10 -0
  37. spotmax-1.0.3/spotmax/Spotiflow/spotiflow_smax_model.py +203 -0
  38. spotmax-1.0.3/spotmax/__init__.py +303 -0
  39. spotmax-1.0.3/spotmax/__main__.py +119 -0
  40. spotmax-1.0.3/spotmax/_debug.py +312 -0
  41. spotmax-1.0.3/spotmax/_docs.py +283 -0
  42. spotmax-1.0.3/spotmax/_process.py +46 -0
  43. spotmax-1.0.3/spotmax/_run.py +74 -0
  44. spotmax-1.0.3/spotmax/_version.py +16 -0
  45. spotmax-1.0.3/spotmax/_warnings.py +58 -0
  46. spotmax-1.0.3/spotmax/colors.py +13 -0
  47. spotmax-1.0.3/spotmax/config.py +1500 -0
  48. spotmax-1.0.3/spotmax/core.py +6560 -0
  49. spotmax-1.0.3/spotmax/data.py +191 -0
  50. spotmax-1.0.3/spotmax/dialogs.py +6848 -0
  51. spotmax-1.0.3/spotmax/docs/Makefile +21 -0
  52. spotmax-1.0.3/spotmax/docs/__init__.py +256 -0
  53. spotmax-1.0.3/spotmax/docs/make.bat +35 -0
  54. spotmax-1.0.3/spotmax/docs/requirements.txt +9 -0
  55. spotmax-1.0.3/spotmax/docs/source/__init__.py +0 -0
  56. spotmax-1.0.3/spotmax/docs/source/api/api.rst +13 -0
  57. spotmax-1.0.3/spotmax/docs/source/conf.py +103 -0
  58. spotmax-1.0.3/spotmax/docs/source/features/_background_description.rst +25 -0
  59. spotmax-1.0.3/spotmax/docs/source/features/_effect_size_Cohen_formula.rst +16 -0
  60. spotmax-1.0.3/spotmax/docs/source/features/_effect_size_Glass_formula.rst +5 -0
  61. spotmax-1.0.3/spotmax/docs/source/features/_effect_size_Hedge_formula.rst +9 -0
  62. spotmax-1.0.3/spotmax/docs/source/features/_effect_size_description.rst +11 -0
  63. spotmax-1.0.3/spotmax/docs/source/features/aggr_features_description.rst +68 -0
  64. spotmax-1.0.3/spotmax/docs/source/features/index.rst +9 -0
  65. spotmax-1.0.3/spotmax/docs/source/features/ref_ch_features_description.rst +77 -0
  66. spotmax-1.0.3/spotmax/docs/source/features/single_spot_features_description.rst +530 -0
  67. spotmax-1.0.3/spotmax/docs/source/how_it_works/index.rst +33 -0
  68. spotmax-1.0.3/spotmax/docs/source/how_it_works/ref_ch_segm.rst +69 -0
  69. spotmax-1.0.3/spotmax/docs/source/how_it_works/spot_detect.rst +4 -0
  70. spotmax-1.0.3/spotmax/docs/source/how_it_works/spot_pred.rst +4 -0
  71. spotmax-1.0.3/spotmax/docs/source/how_it_works/spot_quant.rst +4 -0
  72. spotmax-1.0.3/spotmax/docs/source/index.rst +107 -0
  73. spotmax-1.0.3/spotmax/docs/source/install/_conda_create_activate_acdc.rst +66 -0
  74. spotmax-1.0.3/spotmax/docs/source/install/_gui_packages.rst +27 -0
  75. spotmax-1.0.3/spotmax/docs/source/install/_install_conda_open_terminal.rst +10 -0
  76. spotmax-1.0.3/spotmax/docs/source/install/_install_numba.rst +35 -0
  77. spotmax-1.0.3/spotmax/docs/source/install/cuda.rst +95 -0
  78. spotmax-1.0.3/spotmax/docs/source/install/hpc.rst +130 -0
  79. spotmax-1.0.3/spotmax/docs/source/install/index.rst +36 -0
  80. spotmax-1.0.3/spotmax/docs/source/install/latest.rst +69 -0
  81. spotmax-1.0.3/spotmax/docs/source/install/source.rst +68 -0
  82. spotmax-1.0.3/spotmax/docs/source/install/stable.rst +42 -0
  83. spotmax-1.0.3/spotmax/docs/source/misc/cite.rst +2 -0
  84. spotmax-1.0.3/spotmax/docs/source/misc/contributing.rst +148 -0
  85. spotmax-1.0.3/spotmax/docs/source/misc/get_started.rst +121 -0
  86. spotmax-1.0.3/spotmax/docs/source/misc/logos.rst +2 -0
  87. spotmax-1.0.3/spotmax/docs/source/misc/output_files.rst +137 -0
  88. spotmax-1.0.3/spotmax/docs/source/parameters/ai_params.rst +10 -0
  89. spotmax-1.0.3/spotmax/docs/source/parameters/index.rst +9 -0
  90. spotmax-1.0.3/spotmax/docs/source/parameters/parameters_description.rst +1405 -0
  91. spotmax-1.0.3/spotmax/docs/source/parameters/parameters_tuning.rst +302 -0
  92. spotmax-1.0.3/spotmax/docs/source/run/gui/analysis_parameters_tab.rst +72 -0
  93. spotmax-1.0.3/spotmax/docs/source/run/gui/index.rst +37 -0
  94. spotmax-1.0.3/spotmax/docs/source/run/gui/inspect_results_tab.rst +46 -0
  95. spotmax-1.0.3/spotmax/docs/source/run/gui/tune_parameters_tab.rst +42 -0
  96. spotmax-1.0.3/spotmax/docs/source/run/index.rst +13 -0
  97. spotmax-1.0.3/spotmax/docs/source/run/run_cli.rst +38 -0
  98. spotmax-1.0.3/spotmax/docs/source/run/run_py_pkg.rst +22 -0
  99. spotmax-1.0.3/spotmax/docs/source/tutorials/_preliminary_segment_cells.rst +14 -0
  100. spotmax-1.0.3/spotmax/docs/source/tutorials/index.rst +25 -0
  101. spotmax-1.0.3/spotmax/docs/source/tutorials/mtDNA_yeast.rst +354 -0
  102. spotmax-1.0.3/spotmax/docs/source/tutorials/smFISH_yeast.rst +321 -0
  103. spotmax-1.0.3/spotmax/features.py +714 -0
  104. spotmax-1.0.3/spotmax/filters.py +792 -0
  105. spotmax-1.0.3/spotmax/gui.py +3497 -0
  106. spotmax-1.0.3/spotmax/html_files/gui_welcome.html +16 -0
  107. spotmax-1.0.3/spotmax/html_func.py +379 -0
  108. spotmax-1.0.3/spotmax/io.py +2910 -0
  109. spotmax-1.0.3/spotmax/nnet/__init__.py +29 -0
  110. spotmax-1.0.3/spotmax/nnet/_predict_single_image.py +70 -0
  111. spotmax-1.0.3/spotmax/nnet/config.yaml +140 -0
  112. spotmax-1.0.3/spotmax/nnet/data/single_image.tiff +0 -0
  113. spotmax-1.0.3/spotmax/nnet/data/single_label.tiff +0 -0
  114. spotmax-1.0.3/spotmax/nnet/data/single_volume.tiff +0 -0
  115. spotmax-1.0.3/spotmax/nnet/data/single_volume_label.tiff +0 -0
  116. spotmax-1.0.3/spotmax/nnet/model.py +362 -0
  117. spotmax-1.0.3/spotmax/nnet/models/__init__.py +0 -0
  118. spotmax-1.0.3/spotmax/nnet/models/base_model.py +27 -0
  119. spotmax-1.0.3/spotmax/nnet/models/nd_model.py +148 -0
  120. spotmax-1.0.3/spotmax/nnet/models/unet2D/__init__.py +1 -0
  121. spotmax-1.0.3/spotmax/nnet/models/unet2D/dice_score.py +40 -0
  122. spotmax-1.0.3/spotmax/nnet/models/unet2D/unet_2D_model.py +36 -0
  123. spotmax-1.0.3/spotmax/nnet/models/unet2D/unet_parts.py +77 -0
  124. spotmax-1.0.3/spotmax/nnet/models/unet2d_model.py +412 -0
  125. spotmax-1.0.3/spotmax/nnet/models/unet3D/__init__.py +1 -0
  126. spotmax-1.0.3/spotmax/nnet/models/unet3D/__version__.py +1 -0
  127. spotmax-1.0.3/spotmax/nnet/models/unet3D/augment/__init__.py +0 -0
  128. spotmax-1.0.3/spotmax/nnet/models/unet3D/augment/transformer-test.ipynb +381 -0
  129. spotmax-1.0.3/spotmax/nnet/models/unet3D/augment/transforms.py +737 -0
  130. spotmax-1.0.3/spotmax/nnet/models/unet3D/datasets/__init__.py +0 -0
  131. spotmax-1.0.3/spotmax/nnet/models/unet3D/datasets/hdf5.py +402 -0
  132. spotmax-1.0.3/spotmax/nnet/models/unet3D/datasets/utils.py +371 -0
  133. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/__init__.py +0 -0
  134. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/buildingblocks.py +425 -0
  135. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/losses.py +345 -0
  136. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/metrics.py +455 -0
  137. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/model.py +153 -0
  138. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/predictor.py +491 -0
  139. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/trainer.py +444 -0
  140. spotmax-1.0.3/spotmax/nnet/models/unet3D/unet3d/utils.py +365 -0
  141. spotmax-1.0.3/spotmax/nnet/models/unet3D_model.py +86 -0
  142. spotmax-1.0.3/spotmax/nnet/preprocess.py +57 -0
  143. spotmax-1.0.3/spotmax/nnet/transform.py +492 -0
  144. spotmax-1.0.3/spotmax/palettes.py +15 -0
  145. spotmax-1.0.3/spotmax/pipe.py +2405 -0
  146. spotmax-1.0.3/spotmax/prompts.py +66 -0
  147. spotmax-1.0.3/spotmax/qtworkers.py +606 -0
  148. spotmax-1.0.3/spotmax/resources/spotMAX_icon.ico +0 -0
  149. spotmax-1.0.3/spotmax/resources/spotMAX_logo.png +0 -0
  150. spotmax-1.0.3/spotmax/resources/spotMAX_logo.svg +277 -0
  151. spotmax-1.0.3/spotmax/resources/spotmax_v1_paramWin.png +0 -0
  152. spotmax-1.0.3/spotmax/resources/spotmax_v2_parameters.png +0 -0
  153. spotmax-1.0.3/spotmax/resources.qrc +5 -0
  154. spotmax-1.0.3/spotmax/scores.py +15 -0
  155. spotmax-1.0.3/spotmax/transformations.py +1054 -0
  156. spotmax-1.0.3/spotmax/tune.py +406 -0
  157. spotmax-1.0.3/spotmax/utils.py +1523 -0
  158. spotmax-1.0.3/spotmax/widgets.py +3845 -0
  159. spotmax-1.0.3/spotmax.egg-info/PKG-INFO +126 -0
  160. spotmax-1.0.3/spotmax.egg-info/SOURCES.txt +163 -0
  161. spotmax-1.0.3/spotmax.egg-info/dependency_links.txt +1 -0
  162. spotmax-1.0.3/spotmax.egg-info/entry_points.txt +4 -0
  163. spotmax-1.0.3/spotmax.egg-info/requires.txt +9 -0
  164. spotmax-1.0.3/spotmax.egg-info/top_level.txt +2 -0
  165. spotmax-1.0.3/tests/test_import_spotmax.py +9 -0
@@ -0,0 +1,63 @@
1
+ name: Report a bug
2
+ description: Report an error, problem or unexpected behavior in spotMAX.
3
+ title: "<Comprehensive title summarizing the bug>"
4
+ labels: [":bug: Bug"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: >
10
+ Thank you for reporting an issue!
11
+ Please, **remember to upload the log file**. You can find the log file from the
12
+ menu `Help --> Show log files...`
13
+
14
+ - type: textarea
15
+ validations:
16
+ required: true
17
+ attributes:
18
+ label: "Description:"
19
+ description: >
20
+ Describe your issue with all necessary detail.
21
+ What kind of behavior are you experiencing?
22
+ What would you expect instead?
23
+ Upload the log file here too. You can find the log file from the
24
+ menu on the top menubar called `Help --> Show log files...`
25
+ placeholder: |
26
+ Your description...
27
+
28
+ - type: textarea
29
+ attributes:
30
+ label: "Way to reproduce:"
31
+ description: >
32
+ Provide a as many details as possible about the process required to
33
+ reproduce the error.
34
+
35
+ - type: textarea
36
+ attributes:
37
+ label: "(Optional) Link to data to reproduce error:"
38
+ description: >
39
+ Many issues are specifically related to the data you are using. If possible,
40
+ consider providing a link to download the data that I can test with.
41
+ You could use Google Drive and share it with me at elpado6872@gmail.com
42
+
43
+ - type: textarea
44
+ attributes:
45
+ label: "Terminal output:"
46
+ description: >
47
+ Paste here the entire terminal session.
48
+ placeholder: |
49
+ Full error or terminal output..
50
+ render: Shell
51
+
52
+ - type: textarea
53
+ attributes:
54
+ label: "Version information:"
55
+ description: |
56
+ After activating the environment where you have spotMAX installed,
57
+ run the following command and paste the output
58
+ ```shell
59
+ python -c "import sys; print(sys.version); import platform; print(platform.platform()); import cellacdc; print(f'Cell-ACDC version: {cellacdc.__version__}'); import spotmax; print(f'spotMAX version: {spotmax.__version__}')"
60
+ ```
61
+ placeholder: |
62
+ Version information...
63
+ render: Shell
@@ -0,0 +1,24 @@
1
+ name: Suggest an improvement
2
+ description: Suggest an idea on how to improve existing features.
3
+ title: "<Title of the enhancement>"
4
+ labels: [":balloon: Enhancement"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: >
10
+ Thank you for your suggestion! You can also discuss the enhancement on our
11
+ [discussion forum](https://github.com/SchmollerLab/Cell_ACDC/discussions)
12
+
13
+ - type: textarea
14
+ validations:
15
+ required: true
16
+ attributes:
17
+ label: "Description:"
18
+ description: >
19
+ Describe your suggestion with all necessary detail.
20
+ What is the current feature you would like to see improved?
21
+ Does the feature have a problem?
22
+ Great! Please let us know.
23
+ placeholder: |
24
+ Your suggestion...
@@ -0,0 +1,24 @@
1
+ name: Feature request
2
+ description: Suggest an idea for a new feature for spotMAX.
3
+ title: "<Title of the new feature>"
4
+ labels: [":rocket: New feature"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: >
10
+ Thank you for your suggestion! You can also discuss the new feature on our
11
+ [discussion forum](https://github.com/SchmollerLab/Cell_ACDC/discussions)
12
+
13
+ - type: textarea
14
+ validations:
15
+ required: true
16
+ attributes:
17
+ label: "Description:"
18
+ description: >
19
+ Describe your suggestion with all necessary detail.
20
+ What kind of behavior would you like to see?
21
+ Is your feature request related to a problem?
22
+ Great! Please let us know.
23
+ placeholder: |
24
+ Your suggestion...
@@ -0,0 +1,25 @@
1
+ name: Informal request/question
2
+ description: Ask a question or post a comment about spotMAX.
3
+ title: "<Title of your question/comment>"
4
+ labels: [":question: Help/question"]
5
+
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: >
10
+ Thank you for your question! You can also discuss your question/comment on our
11
+ [discussion forum](https://github.com/SchmollerLab/Cell_ACDC/discussions)
12
+
13
+ - type: textarea
14
+ validations:
15
+ required: true
16
+ attributes:
17
+ label: "Description:"
18
+ description: >
19
+ Ask any question or write any comment about spotMAX. Thanks!
20
+ If you had an error, please upload the log file here too.
21
+ You can find the log file from the menu on the top menubar
22
+ called `Help --> Show log files...`
23
+ placeholder: |
24
+ Your question...
25
+
@@ -0,0 +1,43 @@
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
+ name: macOS build, lint and test (PyQt5)
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: macos-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.9", "3.10", "3.11"]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ python -m pip install flake8 pytest
31
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
32
+ python -m pip install -e .
33
+ python -m pip install "git+https://github.com/SchmollerLab/Cell_ACDC.git"
34
+ python -m pip install -r requirements_gui_pyqt5.txt
35
+ - name: Lint with flake8
36
+ run: |
37
+ # stop the build if there are Python syntax errors or undefined names
38
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
39
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
40
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
41
+ - name: Test with pytest
42
+ run: |
43
+ pytest
@@ -0,0 +1,43 @@
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
+ name: macOS build, lint and test (PyQt6)
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: macos-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.9", "3.10", "3.11"]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ python -m pip install flake8 pytest
31
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
32
+ python -m pip install -e .
33
+ python -m pip install "git+https://github.com/SchmollerLab/Cell_ACDC.git"
34
+ python -m pip install -r requirements_gui_pyqt6.txt
35
+ - name: Lint with flake8
36
+ run: |
37
+ # stop the build if there are Python syntax errors or undefined names
38
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
39
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
40
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
41
+ - name: Test with pytest
42
+ run: |
43
+ pytest
@@ -0,0 +1,49 @@
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
+ name: Ubuntu build, lint and test (PyQt5)
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.9", "3.10", "3.11"]
20
+ env:
21
+ DISPLAY: ':99.0'
22
+
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+ - name: setup ubuntu-latest
30
+ run: |
31
+ sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 x11-utils
32
+ /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX
33
+ - name: Install dependencies
34
+ run: |
35
+ python -m pip install --upgrade pip
36
+ python -m pip install flake8 pytest
37
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
38
+ python -m pip install -e .
39
+ python -m pip install "git+https://github.com/SchmollerLab/Cell_ACDC.git"
40
+ python -m pip install -r requirements_gui_pyqt5.txt
41
+ - name: Lint with flake8
42
+ run: |
43
+ # stop the build if there are Python syntax errors or undefined names
44
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
45
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
46
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
47
+ - name: Test with pytest
48
+ run: |
49
+ pytest
@@ -0,0 +1,42 @@
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
+ name: Windows build, lint and test (PyQt5)
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: windows-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.9", "3.10", "3.11"]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ python -m pip install flake8 pytest
31
+ python -m pip install -e .
32
+ python -m pip install "git+https://github.com/SchmollerLab/Cell_ACDC.git"
33
+ python -m pip install -r requirements_gui_pyqt5.txt
34
+ - name: Lint with flake8
35
+ run: |
36
+ # stop the build if there are Python syntax errors or undefined names
37
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
38
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
39
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
40
+ - name: Test with pytest
41
+ run: |
42
+ pytest
@@ -0,0 +1,42 @@
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
+ name: Windows build, lint and test (PyQt6)
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: windows-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.9", "3.10", "3.11"]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ python -m pip install flake8 pytest
31
+ python -m pip install -e .
32
+ python -m pip install "git+https://github.com/SchmollerLab/Cell_ACDC.git"
33
+ python -m pip install -r requirements_gui_pyqt6.txt
34
+ - name: Lint with flake8
35
+ run: |
36
+ # stop the build if there are Python syntax errors or undefined names
37
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
38
+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
39
+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
40
+ - name: Test with pytest
41
+ run: |
42
+ pytest
@@ -0,0 +1,50 @@
1
+ # Mark issues and pull requests without activity as dormant
2
+ # See https://github.com/actions/stale for documentation and configuration
3
+
4
+ name: Mark inactive issues
5
+ on:
6
+ schedule:
7
+ - cron: "15 2 * * *" # trigger every day at 2:15
8
+ workflow_dispatch: # or run manually
9
+ permissions:
10
+ issues: write
11
+ pull-requests: write
12
+ jobs:
13
+ stale:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/stale@v9.0.0
17
+ with:
18
+ days-before-stale: 180
19
+ days-before-close: -1 # never close
20
+ stale-issue-label: ":sleeping: Inactive"
21
+ stale-pr-label: ":sleeping: Inactive"
22
+ remove-stale-when-updated: true
23
+ stale-issue-message: >
24
+ Hi there, I'm the spotMAX bot :wave:.
25
+ This issue had no activity for more than 180 days.
26
+ For now, we have marked it as "inactive" until there is some
27
+ new activity. If this issue was not solved yet, unfortunately
28
+ we haven't had the time to implement it or it requires more discussion.
29
+ Note that it doesn't mean it has been ignored, but a little reminder
30
+ from your side would help :D.
31
+ Feel free to reach out to us here or on our
32
+ [forum](https://github.com/SchmollerLab/Cell_ACDC/discussions).
33
+ If you think that this issue is no longer relevant,
34
+ you may close it by yourself.
35
+ In any case, we apologise for the inconvenience and we thank you
36
+ for your patience and contributions so far!
37
+ stale-pr-message: >
38
+ Hi there, I'm the Cell-ACDC bot :wave:.
39
+ This pull request had no activity for more than 180 days.
40
+ For now, we have marked it as "inactive" until there is some
41
+ new activity. If this PR was not implemented yet, unfortunately
42
+ we haven't had the time to implement it or it requires more discussion.
43
+ Note that it doesn't mean it has been ignored, but a little reminder
44
+ from your side would help :D.
45
+ Feel free to reach out to us here or on our
46
+ [forum](https://github.com/SchmollerLab/Cell_ACDC/discussions).
47
+ If you think that this issue is no longer relevant,
48
+ you may close it by yourself.
49
+ In any case, we apologise for the inconvenience and we thank you
50
+ for your patience and contributions so far!
@@ -0,0 +1,170 @@
1
+ # Custom ignores
2
+ .vscode
3
+ **/.DS_Store
4
+ data/*
5
+ mytests
6
+ notebooks/test.ipynb
7
+ notebooks/Untitled-1.ipynb
8
+ spotmax/qtest.py
9
+ spotmax/test.py
10
+ spotmax/test1.py
11
+ spotmax/deprecated.py
12
+ spotmax/docs/deprecated.py
13
+ spotmax/_version.py
14
+ spotmax/_tests
15
+ spotmax/docs/_build
16
+ spotmax/_nnet
17
+ spotmax/_deprecated
18
+ spotmax/_old_gui.py
19
+ spotmax/mytests/*
20
+ spotmax/_deprecated_qrc_resources_spotmax.py
21
+ spotmax/spotmax_v1_paramWin.png
22
+ spotmax/spotmax_v2_parameters.png
23
+ spotmax/nnet/models/deprecated_pytorch3dunet
24
+ spotmax/docs/source/tutorials/data
25
+ spotmax/docs/source/images/home_carousel/svgs
26
+ spotmax/resources/_deprecated_icons
27
+ examples/notebooks/bioimageio_models
28
+ deprecated
29
+ cuda-keyring_1.1-1_all.deb
30
+ **/checkpoints
31
+ _tests
32
+ .setup.cfg
33
+ setup.cfg
34
+ *.deb
35
+
36
+ spotmax/logs/*
37
+ !spotmax/logs/dummy.txt
38
+
39
+ spotmax/settings/*
40
+ !spotmax/settings/dummy.txt
41
+
42
+ # Byte-compiled / optimized / DLL files
43
+ __pycache__/
44
+ *.py[cod]
45
+ *$py.class
46
+
47
+ # C extensions
48
+ *.so
49
+
50
+ # Distribution / packaging
51
+ .Python
52
+ build/
53
+ develop-eggs/
54
+ dist/
55
+ downloads/
56
+ eggs/
57
+ .eggs/
58
+ lib/
59
+ lib64/
60
+ parts/
61
+ sdist/
62
+ var/
63
+ wheels/
64
+ pip-wheel-metadata/
65
+ share/python-wheels/
66
+ *.egg-info/
67
+ .installed.cfg
68
+ *.egg
69
+ MANIFEST
70
+
71
+ # PyInstaller
72
+ # Usually these files are written by a python script from a template
73
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
74
+ *.manifest
75
+ *.spec
76
+
77
+ # Installer logs
78
+ pip-log.txt
79
+ pip-delete-this-directory.txt
80
+
81
+ # Unit test / coverage reports
82
+ htmlcov/
83
+ .tox/
84
+ .nox/
85
+ .coverage
86
+ .coverage.*
87
+ .cache
88
+ nosetests.xml
89
+ coverage.xml
90
+ *.cover
91
+ *.py,cover
92
+ .hypothesis/
93
+ .pytest_cache/
94
+
95
+ # Translations
96
+ *.mo
97
+ *.pot
98
+
99
+ # Django stuff:
100
+ *.log
101
+ local_settings.py
102
+ db.sqlite3
103
+ db.sqlite3-journal
104
+
105
+ # Flask stuff:
106
+ instance/
107
+ .webassets-cache
108
+
109
+ # Scrapy stuff:
110
+ .scrapy
111
+
112
+ # Sphinx documentation
113
+ docs/_build/
114
+
115
+ # PyBuilder
116
+ target/
117
+
118
+ # Jupyter Notebook
119
+ .ipynb_checkpoints
120
+
121
+ # IPython
122
+ profile_default/
123
+ ipython_config.py
124
+
125
+ # pyenv
126
+ .python-version
127
+
128
+ # pipenv
129
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
130
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
131
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
132
+ # install all needed dependencies.
133
+ #Pipfile.lock
134
+
135
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
136
+ __pypackages__/
137
+
138
+ # Celery stuff
139
+ celerybeat-schedule
140
+ celerybeat.pid
141
+
142
+ # SageMath parsed files
143
+ *.sage.py
144
+
145
+ # Environments
146
+ .env
147
+ .venv
148
+ env/
149
+ venv/
150
+ ENV/
151
+ env.bak/
152
+ venv.bak/
153
+
154
+ # Spyder project settings
155
+ .spyderproject
156
+ .spyproject
157
+
158
+ # Rope project settings
159
+ .ropeproject
160
+
161
+ # mkdocs documentation
162
+ /site
163
+
164
+ # mypy
165
+ .mypy_cache/
166
+ .dmypy.json
167
+ dmypy.json
168
+
169
+ # Pyre type checker
170
+ .pyre/
@@ -0,0 +1,19 @@
1
+ version: "2"
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "3.11"
7
+
8
+ python:
9
+ install:
10
+ - requirements: spotmax/docs/requirements.txt
11
+ # Install our python package before building the docs
12
+ - method: pip
13
+ path: .
14
+
15
+ sphinx:
16
+ configuration: spotmax/docs/source/conf.py
17
+
18
+ formats:
19
+ - pdf