cellfinder 1.3.0rc2__tar.gz → 1.3.1__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 (70) hide show
  1. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/.github/workflows/test_and_deploy.yml +7 -7
  2. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/.github/workflows/test_include_guard.yaml +1 -1
  3. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/PKG-INFO +12 -6
  4. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/README.md +9 -3
  5. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/volume/structure_splitting.py +11 -5
  6. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/PKG-INFO +12 -6
  7. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/pyproject.toml +5 -5
  8. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/.gitignore +0 -0
  9. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/.napari/config.yml +0 -0
  10. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/CITATION.cff +0 -0
  11. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/LICENSE +0 -0
  12. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/MANIFEST.in +0 -0
  13. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/__init__.py +0 -0
  14. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/cli_migration_warning.py +0 -0
  15. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/__init__.py +0 -0
  16. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/__init__.py +0 -0
  17. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/augment.py +0 -0
  18. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/classify.py +0 -0
  19. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/cube_generator.py +0 -0
  20. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/resnet.py +0 -0
  21. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/classify/tools.py +0 -0
  22. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/config/__init__.py +0 -0
  23. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/config/cellfinder.conf +0 -0
  24. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/__init__.py +0 -0
  25. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/detect.py +0 -0
  26. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/__init__.py +0 -0
  27. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/plane/__init__.py +0 -0
  28. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/plane/classical_filter.py +0 -0
  29. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/plane/plane_filter.py +0 -0
  30. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/plane/tile_walker.py +0 -0
  31. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/setup_filters.py +0 -0
  32. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/volume/__init__.py +0 -0
  33. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/volume/ball_filter.py +0 -0
  34. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/volume/structure_detection.py +0 -0
  35. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/detect/filters/volume/volume_filter.py +0 -0
  36. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/download/__init__.py +0 -0
  37. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/download/cli.py +0 -0
  38. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/download/download.py +0 -0
  39. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/main.py +0 -0
  40. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/__init__.py +0 -0
  41. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/array_operations.py +0 -0
  42. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/geometry.py +0 -0
  43. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/image_processing.py +0 -0
  44. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/prep.py +0 -0
  45. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/source_files.py +0 -0
  46. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/system.py +0 -0
  47. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/tiff.py +0 -0
  48. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/tools/tools.py +0 -0
  49. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/train/__init__.py +0 -0
  50. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/train/train_yml.py +0 -0
  51. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/core/types.py +0 -0
  52. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/__init__.py +0 -0
  53. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/curation.py +0 -0
  54. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/detect/__init__.py +0 -0
  55. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/detect/detect.py +0 -0
  56. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/detect/detect_containers.py +0 -0
  57. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/detect/thread_worker.py +0 -0
  58. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/input_container.py +0 -0
  59. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/napari.yaml +0 -0
  60. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/sample_data.py +0 -0
  61. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/train/__init__.py +0 -0
  62. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/train/train.py +0 -0
  63. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/train/train_containers.py +0 -0
  64. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder/napari/utils.py +0 -0
  65. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/SOURCES.txt +0 -0
  66. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/dependency_links.txt +0 -0
  67. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/entry_points.txt +0 -0
  68. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/requires.txt +0 -0
  69. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/cellfinder.egg-info/top_level.txt +0 -0
  70. {cellfinder-1.3.0rc2 → cellfinder-1.3.1}/setup.cfg +0 -0
@@ -44,15 +44,15 @@ jobs:
44
44
  matrix:
45
45
  # Run all supported Python versions on linux
46
46
  os: [ubuntu-latest]
47
- python-version: ["3.9", "3.10", "3.11"]
47
+ python-version: ["3.10", "3.11", "3.12"]
48
48
  # Include one windows and two macOS (intel based and arm based) runs
49
49
  include:
50
50
  - os: macos-13
51
- python-version: "3.11"
51
+ python-version: "3.12"
52
52
  - os: macos-latest
53
- python-version: "3.11"
53
+ python-version: "3.12"
54
54
  - os: windows-latest
55
- python-version: "3.11"
55
+ python-version: "3.12"
56
56
 
57
57
  steps:
58
58
  - name: Cache brainglobe directory
@@ -98,7 +98,7 @@ jobs:
98
98
  # Run test suite with numba disabled
99
99
  - uses: neuroinformatics-unit/actions/test@v2
100
100
  with:
101
- python-version: "3.11"
101
+ python-version: "3.12"
102
102
  secret-codecov-token: ${{ secrets.CODECOV_TOKEN }}
103
103
  codecov-flags: "numba"
104
104
 
@@ -125,10 +125,10 @@ jobs:
125
125
  with:
126
126
  repository: 'brainglobe/brainglobe-workflows'
127
127
 
128
- - name: Set up Python 3.11
128
+ - name: Set up Python 3.12
129
129
  uses: actions/setup-python@v3
130
130
  with:
131
- python-version: "3.11"
131
+ python-version: "3.12"
132
132
 
133
133
  - name: Install test dependencies
134
134
  run: |
@@ -22,7 +22,7 @@ jobs:
22
22
  - name: Setup Python
23
23
  uses: actions/setup-python@v4
24
24
  with:
25
- python-version: '3.11'
25
+ python-version: '3.12'
26
26
 
27
27
  - name: Install cellfinder via pip
28
28
  run: python -m pip install -e "."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellfinder
3
- Version: 1.3.0rc2
3
+ Version: 1.3.1
4
4
  Summary: Automated 3D cell detection in large microscopy images
5
5
  Author-email: "Adam Tyson, Christian Niedworok, Charly Rousseau" <code@adamltyson.com>
6
6
  License: BSD-3-Clause
@@ -16,11 +16,11 @@ Classifier: Intended Audience :: Science/Research
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
23
- Requires-Python: >=3.9
23
+ Requires-Python: >=3.10
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
26
  Requires-Dist: brainglobe-utils>=0.5.0
@@ -101,8 +101,14 @@ pip install cellfinder>=1.0.0
101
101
  Be sure to specify a version greater than version `v1.0.0` - prior to this version the `cellfinder` package had a very different structure that is incompatible with BrainGlobe version 1 and the other tools in the BrainGlobe suite.
102
102
  See [our blog posts](https://brainglobe.info/blog/) for more information on the release of BrainGlobe version 1.
103
103
 
104
- ## Contributing
104
+ ## Seeking help or contributing
105
+ We are always happy to help users of our tools, and welcome any contributions. If you would like to get in contact with us for any reason, please see the [contact page of our website](https://brainglobe.info/contact.html).
105
106
 
106
- If you have encountered a bug whilst using cellfinder, please [open an issue on GitHub](https://github.com/brainglobe/cellfinder/issues).
107
+ ## Citation
108
+ If you find this package useful, and use it in your research, please cite the following paper:
109
+ > Tyson, A. L., Rousseau, C. V., Niedworok, C. J., Keshavarzi, S., Tsitoura, C., Cossell, L., Strom, M. and Margrie, T. W. (2021) “A deep learning algorithm for 3D cell detection in whole mouse brain image datasets’ PLOS Computational Biology, 17(5), e1009074
110
+ [https://doi.org/10.1371/journal.pcbi.1009074](https://doi.org/10.1371/journal.pcbi.1009074)
107
111
 
108
- If you are interested in contributing to cellfinder (thank you!) - please head over to our [developer documentation](https://brainglobe.info/community/developers/index.html).
112
+ **If you use this, or any other tools in the brainglobe suite, please
113
+ [let us know](https://brainglobe.info/contact.html), and
114
+ we'd be happy to promote your paper/talk etc.**
@@ -44,8 +44,14 @@ pip install cellfinder>=1.0.0
44
44
  Be sure to specify a version greater than version `v1.0.0` - prior to this version the `cellfinder` package had a very different structure that is incompatible with BrainGlobe version 1 and the other tools in the BrainGlobe suite.
45
45
  See [our blog posts](https://brainglobe.info/blog/) for more information on the release of BrainGlobe version 1.
46
46
 
47
- ## Contributing
47
+ ## Seeking help or contributing
48
+ We are always happy to help users of our tools, and welcome any contributions. If you would like to get in contact with us for any reason, please see the [contact page of our website](https://brainglobe.info/contact.html).
48
49
 
49
- If you have encountered a bug whilst using cellfinder, please [open an issue on GitHub](https://github.com/brainglobe/cellfinder/issues).
50
+ ## Citation
51
+ If you find this package useful, and use it in your research, please cite the following paper:
52
+ > Tyson, A. L., Rousseau, C. V., Niedworok, C. J., Keshavarzi, S., Tsitoura, C., Cossell, L., Strom, M. and Margrie, T. W. (2021) “A deep learning algorithm for 3D cell detection in whole mouse brain image datasets’ PLOS Computational Biology, 17(5), e1009074
53
+ [https://doi.org/10.1371/journal.pcbi.1009074](https://doi.org/10.1371/journal.pcbi.1009074)
50
54
 
51
- If you are interested in contributing to cellfinder (thank you!) - please head over to our [developer documentation](https://brainglobe.info/community/developers/index.html).
55
+ **If you use this, or any other tools in the brainglobe suite, please
56
+ [let us know](https://brainglobe.info/contact.html), and
57
+ we'd be happy to promote your paper/talk etc.**
@@ -74,6 +74,7 @@ def ball_filter_imgs(
74
74
  good_tiles_mask = np.ones((1, 1, volume.shape[2]), dtype=np.bool_)
75
75
 
76
76
  plane_width, plane_height = volume.shape[:2]
77
+ current_z = ball_z_size // 2
77
78
 
78
79
  bf = BallFilter(
79
80
  plane_width,
@@ -86,9 +87,7 @@ def ball_filter_imgs(
86
87
  threshold_value=threshold_value,
87
88
  soma_centre_value=soma_centre_value,
88
89
  )
89
- cell_detector = CellDetector(
90
- plane_width, plane_height, start_z=ball_z_size // 2
91
- )
90
+ cell_detector = CellDetector(plane_width, plane_height, start_z=current_z)
92
91
 
93
92
  # FIXME: hard coded type
94
93
  ball_filtered_volume = np.zeros(volume.shape, dtype=np.uint32)
@@ -98,7 +97,11 @@ def ball_filter_imgs(
98
97
  if bf.ready:
99
98
  bf.walk()
100
99
  middle_plane = bf.get_middle_plane()
101
- ball_filtered_volume[:, :, z] = middle_plane[:]
100
+
101
+ # first valid middle plane is the current_z, not z
102
+ ball_filtered_volume[:, :, current_z] = middle_plane[:]
103
+ current_z += 1
104
+
102
105
  # DEBUG: TEST: transpose
103
106
  previous_plane = cell_detector.process(
104
107
  middle_plane.copy(), previous_plane
@@ -134,7 +137,10 @@ def iterative_ball_filter(
134
137
  vol, cell_centres = ball_filter_imgs(
135
138
  vol, threshold_value, soma_centre_value
136
139
  )
137
- vol -= 1
140
+
141
+ # vol is unsigned, so can't let zeros underflow to max value
142
+ vol[:, :, :] = np.where(vol != 0, vol - 1, 0)
143
+
138
144
  n_structures = len(cell_centres)
139
145
  ns.append(n_structures)
140
146
  centres.append(cell_centres)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellfinder
3
- Version: 1.3.0rc2
3
+ Version: 1.3.1
4
4
  Summary: Automated 3D cell detection in large microscopy images
5
5
  Author-email: "Adam Tyson, Christian Niedworok, Charly Rousseau" <code@adamltyson.com>
6
6
  License: BSD-3-Clause
@@ -16,11 +16,11 @@ Classifier: Intended Audience :: Science/Research
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
23
- Requires-Python: >=3.9
23
+ Requires-Python: >=3.10
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
26
  Requires-Dist: brainglobe-utils>=0.5.0
@@ -101,8 +101,14 @@ pip install cellfinder>=1.0.0
101
101
  Be sure to specify a version greater than version `v1.0.0` - prior to this version the `cellfinder` package had a very different structure that is incompatible with BrainGlobe version 1 and the other tools in the BrainGlobe suite.
102
102
  See [our blog posts](https://brainglobe.info/blog/) for more information on the release of BrainGlobe version 1.
103
103
 
104
- ## Contributing
104
+ ## Seeking help or contributing
105
+ We are always happy to help users of our tools, and welcome any contributions. If you would like to get in contact with us for any reason, please see the [contact page of our website](https://brainglobe.info/contact.html).
105
106
 
106
- If you have encountered a bug whilst using cellfinder, please [open an issue on GitHub](https://github.com/brainglobe/cellfinder/issues).
107
+ ## Citation
108
+ If you find this package useful, and use it in your research, please cite the following paper:
109
+ > Tyson, A. L., Rousseau, C. V., Niedworok, C. J., Keshavarzi, S., Tsitoura, C., Cossell, L., Strom, M. and Margrie, T. W. (2021) “A deep learning algorithm for 3D cell detection in whole mouse brain image datasets’ PLOS Computational Biology, 17(5), e1009074
110
+ [https://doi.org/10.1371/journal.pcbi.1009074](https://doi.org/10.1371/journal.pcbi.1009074)
107
111
 
108
- If you are interested in contributing to cellfinder (thank you!) - please head over to our [developer documentation](https://brainglobe.info/community/developers/index.html).
112
+ **If you use this, or any other tools in the brainglobe suite, please
113
+ [let us know](https://brainglobe.info/contact.html), and
114
+ we'd be happy to promote your paper/talk etc.**
@@ -14,12 +14,12 @@ classifiers = [
14
14
  "Operating System :: OS Independent",
15
15
  "Programming Language :: Python",
16
16
  "Programming Language :: Python :: 3",
17
- "Programming Language :: Python :: 3.9",
18
17
  "Programming Language :: Python :: 3.10",
19
18
  "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
20
  "Topic :: Scientific/Engineering :: Image Recognition",
21
21
  ]
22
- requires-python = ">=3.9"
22
+ requires-python = ">=3.10"
23
23
  dependencies = [
24
24
  "brainglobe-utils>=0.5.0",
25
25
  "brainglobe-napari-io>=0.3.4",
@@ -79,7 +79,7 @@ requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2"]
79
79
  build-backend = 'setuptools.build_meta'
80
80
 
81
81
  [tool.black]
82
- target-version = ['py39', 'py310','py311']
82
+ target-version = ['py310','py311', 'py312']
83
83
  skip-string-normalization = false
84
84
  line-length = 79
85
85
 
@@ -111,14 +111,14 @@ markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
111
111
  legacy_tox_ini = """
112
112
  # For more information about tox, see https://tox.readthedocs.io/en/latest/
113
113
  [tox]
114
- envlist = py{39,310,311}
114
+ envlist = py{310,311,312}
115
115
  isolated_build = true
116
116
 
117
117
  [gh-actions]
118
118
  python =
119
- 3.9: py39
120
119
  3.10: py310
121
120
  3.11: py311
121
+ 3.12: py312
122
122
 
123
123
  [testenv]
124
124
  commands = python -m pytest -v --color=yes --cov=cellfinder --cov-report=xml
File without changes
File without changes
File without changes
File without changes
File without changes