swcgeom 0.18.3__py3-none-any.whl → 0.19.1__py3-none-any.whl
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.
Potentially problematic release.
This version of swcgeom might be problematic. Click here for more details.
- swcgeom/analysis/feature_extractor.py +22 -24
- swcgeom/analysis/features.py +18 -40
- swcgeom/analysis/lmeasure.py +227 -323
- swcgeom/analysis/sholl.py +17 -23
- swcgeom/analysis/trunk.py +23 -28
- swcgeom/analysis/visualization.py +37 -44
- swcgeom/analysis/visualization3d.py +16 -25
- swcgeom/analysis/volume.py +33 -47
- swcgeom/core/__init__.py +1 -6
- swcgeom/core/branch.py +10 -17
- swcgeom/core/branch_tree.py +3 -2
- swcgeom/core/compartment.py +1 -1
- swcgeom/core/node.py +3 -6
- swcgeom/core/path.py +11 -16
- swcgeom/core/population.py +32 -51
- swcgeom/core/swc.py +25 -16
- swcgeom/core/swc_utils/__init__.py +4 -6
- swcgeom/core/swc_utils/assembler.py +5 -12
- swcgeom/core/swc_utils/base.py +40 -31
- swcgeom/core/swc_utils/checker.py +3 -8
- swcgeom/core/swc_utils/io.py +32 -47
- swcgeom/core/swc_utils/normalizer.py +17 -23
- swcgeom/core/swc_utils/subtree.py +13 -20
- swcgeom/core/tree.py +61 -51
- swcgeom/core/tree_utils.py +36 -49
- swcgeom/core/tree_utils_impl.py +4 -6
- swcgeom/images/augmentation.py +23 -39
- swcgeom/images/contrast.py +22 -46
- swcgeom/images/folder.py +32 -34
- swcgeom/images/io.py +108 -126
- swcgeom/transforms/base.py +28 -19
- swcgeom/transforms/branch.py +31 -41
- swcgeom/transforms/branch_tree.py +3 -1
- swcgeom/transforms/geometry.py +13 -4
- swcgeom/transforms/image_preprocess.py +2 -0
- swcgeom/transforms/image_stack.py +40 -35
- swcgeom/transforms/images.py +31 -24
- swcgeom/transforms/mst.py +27 -40
- swcgeom/transforms/neurolucida_asc.py +13 -13
- swcgeom/transforms/path.py +4 -0
- swcgeom/transforms/population.py +4 -0
- swcgeom/transforms/tree.py +16 -11
- swcgeom/transforms/tree_assembler.py +37 -54
- swcgeom/utils/download.py +7 -14
- swcgeom/utils/dsu.py +12 -0
- swcgeom/utils/ellipse.py +26 -14
- swcgeom/utils/file.py +8 -13
- swcgeom/utils/neuromorpho.py +78 -92
- swcgeom/utils/numpy_helper.py +15 -12
- swcgeom/utils/plotter_2d.py +10 -16
- swcgeom/utils/plotter_3d.py +7 -9
- swcgeom/utils/renderer.py +16 -8
- swcgeom/utils/sdf.py +12 -23
- swcgeom/utils/solid_geometry.py +58 -2
- swcgeom/utils/transforms.py +164 -100
- swcgeom/utils/volumetric_object.py +29 -53
- {swcgeom-0.18.3.dist-info → swcgeom-0.19.1.dist-info}/METADATA +6 -5
- swcgeom-0.19.1.dist-info/RECORD +67 -0
- {swcgeom-0.18.3.dist-info → swcgeom-0.19.1.dist-info}/WHEEL +1 -1
- swcgeom-0.18.3.dist-info/RECORD +0 -67
- {swcgeom-0.18.3.dist-info → swcgeom-0.19.1.dist-info/licenses}/LICENSE +0 -0
- {swcgeom-0.18.3.dist-info → swcgeom-0.19.1.dist-info}/top_level.txt +0 -0
|
@@ -31,7 +31,7 @@ computations.
|
|
|
31
31
|
|
|
32
32
|
import warnings
|
|
33
33
|
from abc import ABC, abstractmethod
|
|
34
|
-
from typing import Generic,
|
|
34
|
+
from typing import Generic, TypeVar
|
|
35
35
|
|
|
36
36
|
import numpy as np
|
|
37
37
|
import numpy.typing as npt
|
|
@@ -98,7 +98,7 @@ class VolMCObject(VolObject, ABC):
|
|
|
98
98
|
cache_volume: float | None = None
|
|
99
99
|
cache_volume_n_samples: int = 0
|
|
100
100
|
|
|
101
|
-
def __init__(self, *, n_samples:
|
|
101
|
+
def __init__(self, *, n_samples: int | None = None) -> None:
|
|
102
102
|
super().__init__()
|
|
103
103
|
if n_samples is not None:
|
|
104
104
|
warnings.warn(
|
|
@@ -113,17 +113,12 @@ class VolMCObject(VolObject, ABC):
|
|
|
113
113
|
def sample(self, n: int) -> tuple[npt.NDArray[np.float32], float]:
|
|
114
114
|
"""Sample points.
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
-------
|
|
123
|
-
points : ndarray
|
|
124
|
-
Sampled points.
|
|
125
|
-
volume : float
|
|
126
|
-
Volume of the sample range.
|
|
116
|
+
Args:
|
|
117
|
+
n: Number of points to sample.
|
|
118
|
+
|
|
119
|
+
Returns:
|
|
120
|
+
points: Sampled points.
|
|
121
|
+
volume: Volume of the sample range.
|
|
127
122
|
"""
|
|
128
123
|
raise NotImplementedError()
|
|
129
124
|
|
|
@@ -135,21 +130,17 @@ class VolMCObject(VolObject, ABC):
|
|
|
135
130
|
def is_in(self, p: npt.NDArray[np.float32]) -> npt.NDArray[np.bool_]:
|
|
136
131
|
"""Is p in the object.
|
|
137
132
|
|
|
138
|
-
Returns
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
Array of shape (N,), if bounding box is `None`, `True` will
|
|
142
|
-
be returned.
|
|
133
|
+
Returns:
|
|
134
|
+
is_in: Array of shape (N,).
|
|
135
|
+
If bounding box is `None`, `True` will be returned.
|
|
143
136
|
"""
|
|
144
137
|
return np.array([self.inside(pp) for pp in p])
|
|
145
138
|
|
|
146
|
-
def _get_volume(self, *, n_samples:
|
|
139
|
+
def _get_volume(self, *, n_samples: int | None = None) -> float:
|
|
147
140
|
"""Get volume by Monte Carlo integration.
|
|
148
141
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
n_samples : int, default 1_000_000
|
|
152
|
-
Number of samples
|
|
142
|
+
Args:
|
|
143
|
+
n_samples: Number of samples, default 1_000_000
|
|
153
144
|
"""
|
|
154
145
|
|
|
155
146
|
# legacy
|
|
@@ -178,9 +169,7 @@ class VolMCObject(VolObject, ABC):
|
|
|
178
169
|
class VolSDFObject(VolMCObject):
|
|
179
170
|
"""Volumetric SDF Object.
|
|
180
171
|
|
|
181
|
-
|
|
182
|
-
-----
|
|
183
|
-
SDF must has a bounding box.
|
|
172
|
+
NOTE: SDF must has a bounding box.
|
|
184
173
|
"""
|
|
185
174
|
|
|
186
175
|
def __init__(self, sdf: SDF, **kwargs) -> None:
|
|
@@ -294,10 +283,8 @@ class VolSphere(VolSDFObject):
|
|
|
294
283
|
V = \frac{4}{3} * π * r^3
|
|
295
284
|
\end{equation}
|
|
296
285
|
|
|
297
|
-
Returns
|
|
298
|
-
|
|
299
|
-
volume : float
|
|
300
|
-
Volume.
|
|
286
|
+
Returns:
|
|
287
|
+
volume: volume of sphere.
|
|
301
288
|
"""
|
|
302
289
|
return 4 / 3 * np.pi * radius**3
|
|
303
290
|
|
|
@@ -309,17 +296,12 @@ class VolSphere(VolSDFObject):
|
|
|
309
296
|
V = π * h^2 * (3r - h) / 3
|
|
310
297
|
\end{equation}
|
|
311
298
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
Returns
|
|
320
|
-
-------
|
|
321
|
-
volume : float
|
|
322
|
-
volume of the spherical cap
|
|
299
|
+
Args:
|
|
300
|
+
r: radius of the sphere
|
|
301
|
+
h: height of the spherical cap
|
|
302
|
+
|
|
303
|
+
Returns:
|
|
304
|
+
volume: volume of the spherical cap
|
|
323
305
|
"""
|
|
324
306
|
return np.pi * h**2 * (3 * r - h) / 3
|
|
325
307
|
|
|
@@ -361,10 +343,8 @@ class VolFrustumCone(VolSDFObject):
|
|
|
361
343
|
V = \frac{1}{3} * π * h * (r^2 + r * R + R^2)
|
|
362
344
|
\end{equation}
|
|
363
345
|
|
|
364
|
-
Returns
|
|
365
|
-
|
|
366
|
-
volume : float
|
|
367
|
-
Volume.
|
|
346
|
+
Returns:
|
|
347
|
+
volume: volume of frustum.
|
|
368
348
|
"""
|
|
369
349
|
return (1 / 3) * np.pi * height * (r1**2 + r1 * r2 + r2**2)
|
|
370
350
|
|
|
@@ -386,10 +366,8 @@ class VolSphere2Intersection(VolSDFIntersection[VolSphere, VolSphere]):
|
|
|
386
366
|
V = \frac{\pi}{12d} * (r_1 + r_2 - d)^2 (d^2 + 2d r_1 - 3r_1^2 + 2d r_2 - 3r_2^2 + 6 r_1r_2)
|
|
387
367
|
\end{equation}
|
|
388
368
|
|
|
389
|
-
Returns
|
|
390
|
-
|
|
391
|
-
volume : float
|
|
392
|
-
Intersect volume.
|
|
369
|
+
Returns:
|
|
370
|
+
volume: Intersect volume.
|
|
393
371
|
"""
|
|
394
372
|
|
|
395
373
|
r1, r2 = obj1.radius, obj2.radius
|
|
@@ -440,10 +418,8 @@ class VolSphereFrustumConeIntersection(VolSDFIntersection[VolSphere, VolFrustumC
|
|
|
440
418
|
) -> float:
|
|
441
419
|
r"""Calculate intersect volume of sphere and frustum cone.
|
|
442
420
|
|
|
443
|
-
Returns
|
|
444
|
-
|
|
445
|
-
volume : float
|
|
446
|
-
Intersect volume.
|
|
421
|
+
Returns:
|
|
422
|
+
volume: Intersect volume.
|
|
447
423
|
"""
|
|
448
424
|
|
|
449
425
|
h = frustum_cone.height()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: swcgeom
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.1
|
|
4
4
|
Summary: Neuron geometry library for swc format
|
|
5
5
|
Author-email: yzx9 <pypi@yzx9.xyz>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -15,12 +15,12 @@ Requires-Dist: numpy>=1.22.3
|
|
|
15
15
|
Requires-Dist: pandas>=1.4.2
|
|
16
16
|
Requires-Dist: pynrrd>=1.1.0
|
|
17
17
|
Requires-Dist: scipy>=1.9.1
|
|
18
|
-
Requires-Dist: sdflit>=0.2.
|
|
18
|
+
Requires-Dist: sdflit>=0.2.6
|
|
19
19
|
Requires-Dist: seaborn>=0.12.0
|
|
20
20
|
Requires-Dist: tifffile>=2022.8.12
|
|
21
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: typing-extensions>=4.4.0
|
|
22
22
|
Requires-Dist: tqdm>=4.46.1
|
|
23
|
-
Requires-Dist: v3d-py-helper>=0.4.1
|
|
23
|
+
Requires-Dist: v3d-py-helper>=0.4.1; python_version < "3.13"
|
|
24
24
|
Provides-Extra: all
|
|
25
25
|
Requires-Dist: beautifulsoup4>=4.11.1; extra == "all"
|
|
26
26
|
Requires-Dist: certifi>=2023.5.7; extra == "all"
|
|
@@ -28,6 +28,7 @@ Requires-Dist: chardet>=5.2.0; extra == "all"
|
|
|
28
28
|
Requires-Dist: lmdb>=1.4.1; extra == "all"
|
|
29
29
|
Requires-Dist: requests>=2.0.0; extra == "all"
|
|
30
30
|
Requires-Dist: urllib3>=1.26.0; extra == "all"
|
|
31
|
+
Dynamic: license-file
|
|
31
32
|
|
|
32
33
|
# SWCGEOM
|
|
33
34
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
swcgeom/__init__.py,sha256=7Hjtjg2r_dRP-oUmNX_Zza1NqV6703L0XnpuhKQ3wcs,939
|
|
2
|
+
swcgeom/analysis/__init__.py,sha256=1Bp93CxYzKqnTLzRdy8GpnhhBf6t8S2sgpEIhOJOj6w,945
|
|
3
|
+
swcgeom/analysis/feature_extractor.py,sha256=kCrsH5Df6KdocD8hKH_5SeLwdvEuWP09CbLUPaoFGdM,14787
|
|
4
|
+
swcgeom/analysis/features.py,sha256=vn_4sbwTY2muCXJqYEbQilxzSFhugaDlhips_Tt2vE8,6585
|
|
5
|
+
swcgeom/analysis/lmeasure.py,sha256=5B4ltZGvIJCHe1KDkxIvGWv2Ar4_oC5F67Q8n87CnOg,27840
|
|
6
|
+
swcgeom/analysis/sholl.py,sha256=6k7Ek6VxWJcGuTan98Ib18cjtpAzKulEeZds2kzyN6M,7043
|
|
7
|
+
swcgeom/analysis/trunk.py,sha256=q_Rdh0v-aimZKp1krji6B1lynZ7Rc9hYJhESGiLjFDY,5944
|
|
8
|
+
swcgeom/analysis/visualization.py,sha256=MXlBZG5mmoXwjHVcJfERVEYZveSkwTNweKBAIOb1dFM,6029
|
|
9
|
+
swcgeom/analysis/visualization3d.py,sha256=0PRhUOdYPl071xK5PaTl5HFrkOXfwyfHw-d3RD0W1zs,2932
|
|
10
|
+
swcgeom/analysis/volume.py,sha256=mUZRCY8KUdWZiMqZvP6_BlETLsb2_dotxC8vqu50450,5074
|
|
11
|
+
swcgeom/core/__init__.py,sha256=_iC91Q0nU7pUqydHON9hbelf4WY68uhNTRlAzS__CYk,1152
|
|
12
|
+
swcgeom/core/branch.py,sha256=xqGHtoZodId3lREaDHuHgpZruGsOddqA8hPMmlXmcLk,4651
|
|
13
|
+
swcgeom/core/branch_tree.py,sha256=uNkzcg5q99n-Wg3H7eCJQfOE6DP9m-FucCXaFCmBsdc,2443
|
|
14
|
+
swcgeom/core/compartment.py,sha256=QABZiXELtSnsg5u2M2yTOD-9aosg2KB3wRVQvm1ccpY,3851
|
|
15
|
+
swcgeom/core/node.py,sha256=HEFS7pTmGP7xlP0DfvOxbFPAGY87H7uW1exdKKeB6os,4302
|
|
16
|
+
swcgeom/core/path.py,sha256=tkYJttFv_mke9hc_2eqnPC5WJMicQC103W4-Xalo13I,5023
|
|
17
|
+
swcgeom/core/population.py,sha256=IhSZn_2ZKE8nqxpPhVGQU5hedcnkQMBCOCQnfTn5K9Q,10696
|
|
18
|
+
swcgeom/core/swc.py,sha256=AM-KQqVopVTnCpDfVRz6MsjT9Vr8wTEHeqz1aUXGq10,7416
|
|
19
|
+
swcgeom/core/tree.py,sha256=04_HM2lAI-sxQKmarSmXN0obHSD4WHaAPZr0f6nwI5E,13158
|
|
20
|
+
swcgeom/core/tree_utils.py,sha256=tfVDrhxbvGPNOzI4NifWNTzE7ckPWgCziStvYg2hU2A,7859
|
|
21
|
+
swcgeom/core/tree_utils_impl.py,sha256=XK86XX2rX6kq2x_gEjX2uIKHBuAq762C10blWiK2-MA,2156
|
|
22
|
+
swcgeom/core/swc_utils/__init__.py,sha256=oPXmYeFrlDm-rBXhU-5Y4TeKuq_2jbNWqh0_1v7pM3c,1233
|
|
23
|
+
swcgeom/core/swc_utils/assembler.py,sha256=4DahkrtqJKNyFhvrxQVLam1dwjznQ2anAl9X31Hd6LQ,1440
|
|
24
|
+
swcgeom/core/swc_utils/base.py,sha256=98J9R7rAZO685pzIJWfC66T8cfWzepf405cYXWzuuHQ,5273
|
|
25
|
+
swcgeom/core/swc_utils/checker.py,sha256=jCSGEgK9OuVV4ErOq2FStq4AJC4uFDAsnoYHwq-5a6A,3141
|
|
26
|
+
swcgeom/core/swc_utils/io.py,sha256=N90bRWZjtmUrnvlcwD_LTROJUs0OGnYDneGYF6jLnEs,6691
|
|
27
|
+
swcgeom/core/swc_utils/normalizer.py,sha256=LnPw00iiqWeacvXK0hf1_jvK3NkjvgOwrntSAHOaIDc,5576
|
|
28
|
+
swcgeom/core/swc_utils/subtree.py,sha256=kPB2_6DEX147mFNRy2viLqEOms8ypf6a7riLTu-qr_E,2530
|
|
29
|
+
swcgeom/images/__init__.py,sha256=gwBZzrsswJ2hyRQA72khFk2JPo1JfWko4-huuAYNCOU,705
|
|
30
|
+
swcgeom/images/augmentation.py,sha256=3ZWPRee3h1x1v_k2dDpAxCeUApvn2hu0TOPhTwuTe2g,4586
|
|
31
|
+
swcgeom/images/contrast.py,sha256=fLA8snaEJS-0dXkgitDmXepsMgpa4OE9MMGrU5YBz4M,2462
|
|
32
|
+
swcgeom/images/folder.py,sha256=YKJn5M090SKRVf-y5IG7sAmL6d8PsV2QeSquiuzFGHk,6847
|
|
33
|
+
swcgeom/images/io.py,sha256=0vwn1DqfKvXUClsQEseyptAJ4urqkkWyeeGYqtVr448,21011
|
|
34
|
+
swcgeom/transforms/__init__.py,sha256=nE4Uyn5vpYyNiMltTiNHDRkyjYbW6B4ToyZOxUj0TU0,1370
|
|
35
|
+
swcgeom/transforms/base.py,sha256=v1EIpL5Kxg2Q1AfzZ8wSkocjSWHpD9cTeBk8dSmzDRc,4951
|
|
36
|
+
swcgeom/transforms/branch.py,sha256=gWR3lmd5b0PWYypF4WRRQ25O5DSlXok4wfm3Ycmxnbs,7560
|
|
37
|
+
swcgeom/transforms/branch_tree.py,sha256=Sc9gV-BD-KCY0kchID5zs1bIb-XwP0COLsynFPeHbaE,2882
|
|
38
|
+
swcgeom/transforms/geometry.py,sha256=8_v1ifR3taO-hL71fObLOv1jPXu3H1yaeerXkvoNn2k,8140
|
|
39
|
+
swcgeom/transforms/image_preprocess.py,sha256=bp3TIzK8sRetFdoExqfGhFkRSeZ-mv4GQzfxX2otu5c,4296
|
|
40
|
+
swcgeom/transforms/image_stack.py,sha256=SBtyLBWlBxlnt_q2uMXHgQicX5LeDwiKpmf1A-rJRUM,7353
|
|
41
|
+
swcgeom/transforms/images.py,sha256=uYIAwfQqzJwvG_yddeZ0fLXzQQbhF_OrpJ11iFQSPxQ,6264
|
|
42
|
+
swcgeom/transforms/mst.py,sha256=5XW_9R7mKI9HZmKZseTyQbizyaTv_sRybCj_4LmMxfM,6395
|
|
43
|
+
swcgeom/transforms/neurolucida_asc.py,sha256=YR-ycJAUflMFS14gBmdV1wtiSUrY3dixX0FiKd9DPds,14675
|
|
44
|
+
swcgeom/transforms/path.py,sha256=tqwSd6FDcL-xahs1u4r2GdJCdXvpL5BxpTTyQZbIZfs,1738
|
|
45
|
+
swcgeom/transforms/population.py,sha256=I9FqiW5IGlpN8DlED_8JnUx3gm9Y1GlNyEni5W5rNGU,1457
|
|
46
|
+
swcgeom/transforms/tree.py,sha256=TzLYuY9LxjLKFOG34AtlH8S6aO1IcCuRJ0vJYCF5Iso,8237
|
|
47
|
+
swcgeom/transforms/tree_assembler.py,sha256=a46N_XYpyPHoEOVdhyztcilA5e64_pqLtdF__oWF4Rg,5374
|
|
48
|
+
swcgeom/utils/__init__.py,sha256=sduLt0_W5KfoatIQ5Sj26DndwiCQhpPVkZhUVi7akFE,1215
|
|
49
|
+
swcgeom/utils/debug.py,sha256=ZOYLfj32YDjSU1tJrtThWF2SROwYhG2z7j4Fq0q4Dsw,1046
|
|
50
|
+
swcgeom/utils/download.py,sha256=8h1dLJu4Z09g6NgMI-78E1co1ebmKBQoz2TBebTZG9w,4145
|
|
51
|
+
swcgeom/utils/dsu.py,sha256=cci0YXGlOmL1wjqJKyp6la8SuvgBQrEcfuwjLtsGv6o,2267
|
|
52
|
+
swcgeom/utils/ellipse.py,sha256=kKDHTe4ZrVq88HISLyztkEedwR36ItwffB9yOLGCnKQ,4227
|
|
53
|
+
swcgeom/utils/file.py,sha256=Rfn0SDHk0BzHxUIqjFgCPcSTRLADcW3SWAMyPfBe2FI,3080
|
|
54
|
+
swcgeom/utils/neuromorpho.py,sha256=V_L_AU1Jhtg4CCLz_oYfj1mvvFX29DQNDz2BFB8Oetk,19294
|
|
55
|
+
swcgeom/utils/numpy_helper.py,sha256=XrHuG5ac45LhBJyvTm5QsB8CKl-v2dhb4cStcX_Ut0I,2183
|
|
56
|
+
swcgeom/utils/plotter_2d.py,sha256=ZVMQsiTjoHr5FKJfh_DTcsyXTJH4tM0_Zdg5lxnNzJ0,4359
|
|
57
|
+
swcgeom/utils/plotter_3d.py,sha256=lMxvjq51Aj7yBuiw2KOfWkPZwkPHMkaFuORxt2qHaTo,1405
|
|
58
|
+
swcgeom/utils/renderer.py,sha256=ILl9k1sxKK_s2CoKVfJhMKxQrYub1sJvbw4qAX0Ld20,4799
|
|
59
|
+
swcgeom/utils/sdf.py,sha256=wqetIH-7j3TKalIdkgIf-w4CarElvFMFSMJqCPv8IIE,10966
|
|
60
|
+
swcgeom/utils/solid_geometry.py,sha256=YoGDTqCs9lCS8YXrHyKhuA34zOUcPGaRZP_LvjIGSQ8,4578
|
|
61
|
+
swcgeom/utils/transforms.py,sha256=gTT4G6AvmCg2JFDx45OjUQaa4eoWQjP8_iLvk2rE70o,9576
|
|
62
|
+
swcgeom/utils/volumetric_object.py,sha256=fbTU_4rebc7r1dlYNnIeHfLg-vKdXP0ohrINVhe8RRg,15307
|
|
63
|
+
swcgeom-0.19.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
64
|
+
swcgeom-0.19.1.dist-info/METADATA,sha256=7sq8aasLivq_AbuC3LxmFfom0CFvdsvI10QkqeK8jjg,2348
|
|
65
|
+
swcgeom-0.19.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
66
|
+
swcgeom-0.19.1.dist-info/top_level.txt,sha256=hmLyUXWS61Gxl07haswFEKKefYPBVJYlUlol8ghNkjY,8
|
|
67
|
+
swcgeom-0.19.1.dist-info/RECORD,,
|
swcgeom-0.18.3.dist-info/RECORD
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
swcgeom/__init__.py,sha256=7Hjtjg2r_dRP-oUmNX_Zza1NqV6703L0XnpuhKQ3wcs,939
|
|
2
|
-
swcgeom/analysis/__init__.py,sha256=1Bp93CxYzKqnTLzRdy8GpnhhBf6t8S2sgpEIhOJOj6w,945
|
|
3
|
-
swcgeom/analysis/feature_extractor.py,sha256=8hmwwWCZ8c_XcnmyY--vRygo-OAovIoMuVTHnixX8KA,14855
|
|
4
|
-
swcgeom/analysis/features.py,sha256=NnFRUsMO7mPoBNLQ_kwSWHSfaV1BCOYTZz6VuG2Cfi8,6905
|
|
5
|
-
swcgeom/analysis/lmeasure.py,sha256=RLhRIo3VOQFqisBDetP120SntWSTE2rJ-vL5l-QGT40,28688
|
|
6
|
-
swcgeom/analysis/sholl.py,sha256=uGElY5hXILON8uHX9phGwFeKMjWCtA1GTeoyKStkSPE,7203
|
|
7
|
-
swcgeom/analysis/trunk.py,sha256=f6oH2Xlpn76JjKNsC0DKFsnYGn4FP4YRucCeyUaGgjg,6147
|
|
8
|
-
swcgeom/analysis/visualization.py,sha256=dioNW7Y596xhUPySkr-gbcCzLFm4PPsizKAjEXgAdyI,6216
|
|
9
|
-
swcgeom/analysis/visualization3d.py,sha256=OIUEtxPZpwK8eDEuy8_ezh5x2oQishQ3-aj-dGselAY,3094
|
|
10
|
-
swcgeom/analysis/volume.py,sha256=KLEqE5OWKckdw2qsI8Ugmxi-_jePnE9N9ZN6QFC07y8,5197
|
|
11
|
-
swcgeom/core/__init__.py,sha256=s6hYMtFY5HKviiNkENlEy4o3taxN5Ogq04ceKQgGL6o,1223
|
|
12
|
-
swcgeom/core/branch.py,sha256=xu5J12FjxXSNL3Q_Uiy5qLlMozfcdnkIDO-XyDB_CYg,4764
|
|
13
|
-
swcgeom/core/branch_tree.py,sha256=jFDKkBgaTCT6C4ZsGdihxBp3xC2k9v6wxE43UGW2AuY,2424
|
|
14
|
-
swcgeom/core/compartment.py,sha256=neoM4nyZxPnaHDnxr-T5xItrf6gqctbo8dOawlFQRlM,3850
|
|
15
|
-
swcgeom/core/node.py,sha256=ZVhAQeadPNVpVd8LAVF5i7DWkGsjsigrUdMIUDUp8BY,4376
|
|
16
|
-
swcgeom/core/path.py,sha256=_j9GP7fSaDUeUeFGXPaWDyq5BcQURzTCCh9iuQKiYWM,5065
|
|
17
|
-
swcgeom/core/population.py,sha256=k-sIaYC-m2S82h-rJM0iocdFpQDKuEBuaw6_WNgI_0s,11039
|
|
18
|
-
swcgeom/core/swc.py,sha256=SqJdj-auOBuxOoRxg33DFcigIx8_BuWfeHyWYBQY7xk,7384
|
|
19
|
-
swcgeom/core/tree.py,sha256=Hq4KOFvEWcFqFvGC3D-1f_WKRu6p6P_hfJT5vOVGKXY,13150
|
|
20
|
-
swcgeom/core/tree_utils.py,sha256=2cg3HBn7-6S_J64z9F12CLGVDarpn5epCk3icVWtgEY,8192
|
|
21
|
-
swcgeom/core/tree_utils_impl.py,sha256=1G1qZA7kwWifol8h5cBsFuwh6YA0ZTfpzG5brGwBFs0,2178
|
|
22
|
-
swcgeom/core/swc_utils/__init__.py,sha256=B-oJffxjFZIzIG_9Jh3uG6G_DHtqqkMxIOIU4A_dLEQ,1239
|
|
23
|
-
swcgeom/core/swc_utils/assembler.py,sha256=lrW0vWFSpvL3PGjA80mCSR9XH3RHX2wLyZ1v4Tux4Gw,1470
|
|
24
|
-
swcgeom/core/swc_utils/base.py,sha256=bjH8AOclIAXGecUVxDOrk9jD7NAq1OdkvXgIQLj6UP0,5312
|
|
25
|
-
swcgeom/core/swc_utils/checker.py,sha256=xbzUjHPR5sMHRCA1f9MAd_4xUvyb5NRsJWSB7cPXSdw,3182
|
|
26
|
-
swcgeom/core/swc_utils/io.py,sha256=Btyg0w5VsYL3LFBF59ADsWNbD3EthR4pKEBpThaJDDM,7047
|
|
27
|
-
swcgeom/core/swc_utils/normalizer.py,sha256=egYdZAex8h1SninrWkkKpU9Tu9rmB9uaHwa3u4kasO0,5673
|
|
28
|
-
swcgeom/core/swc_utils/subtree.py,sha256=Jgk39eguBIxhrz3AL1X6pzLfo0tXovNes51D7U4Qw9k,2569
|
|
29
|
-
swcgeom/images/__init__.py,sha256=gwBZzrsswJ2hyRQA72khFk2JPo1JfWko4-huuAYNCOU,705
|
|
30
|
-
swcgeom/images/augmentation.py,sha256=6YuQpuWaarc_bD0Pjz42eFreVjhA2qmeUEK84RBcc_g,4748
|
|
31
|
-
swcgeom/images/contrast.py,sha256=f5EqJJ4tGcG46dm9pMeQm_cM1fYcIXC6qYjcOFxThTc,2741
|
|
32
|
-
swcgeom/images/folder.py,sha256=-WpAvCBZ5qYfFZTWI1e-O7jAGLjm_PyZWV91fegP45E,7025
|
|
33
|
-
swcgeom/images/io.py,sha256=dgu69iqb_Bkk8guLt5TYSOz-lG_WemEOFrRmoZsQTg8,21137
|
|
34
|
-
swcgeom/transforms/__init__.py,sha256=nE4Uyn5vpYyNiMltTiNHDRkyjYbW6B4ToyZOxUj0TU0,1370
|
|
35
|
-
swcgeom/transforms/base.py,sha256=l5DEZjZhjH23Axg8ozJTFzSmNNwIlTfm0XxAOIAQtlE,4696
|
|
36
|
-
swcgeom/transforms/branch.py,sha256=L8O7CwLdY-q_b53vrKfA_nlePh5lKx2kA-foVtQd6sQ,7861
|
|
37
|
-
swcgeom/transforms/branch_tree.py,sha256=i2w16ny70oWbJhq5mHX7wgEVGol1AYKB3P-N5Kh3z2I,2820
|
|
38
|
-
swcgeom/transforms/geometry.py,sha256=xA9RN1oWRV0S1OVC_vxGZOq8CjGLERnlR5vM4_wvUG8,8008
|
|
39
|
-
swcgeom/transforms/image_preprocess.py,sha256=lT5ceaE9IzJjq6vIFh0p1YzsyBYAtqz_ElqErvZvDdE,4243
|
|
40
|
-
swcgeom/transforms/image_stack.py,sha256=Zc9p5MGt8zdkla-RnKdsF64NLgS7cfK9j2qG4ggiSgI,6720
|
|
41
|
-
swcgeom/transforms/images.py,sha256=bPJwtwIcHVECHV0qQBVWRFzTWLKEf31V4TiRgjFrGn8,6139
|
|
42
|
-
swcgeom/transforms/mst.py,sha256=spUuXjglCBnZmR6mIyCBJJGmQbfpx7hb1nndT3_iUG4,6832
|
|
43
|
-
swcgeom/transforms/neurolucida_asc.py,sha256=0WyM9B5qpJ5hjVGKpO8atWpaUhJdLQ0lKMhcJkuOsfM,14699
|
|
44
|
-
swcgeom/transforms/path.py,sha256=SqBPYvCnDc1yd8UCBwyelAXnduNAvJ16pWo9lMoZVI0,1670
|
|
45
|
-
swcgeom/transforms/population.py,sha256=kayuwNs8jWTrHZ4sqoH9HUcLqR0OybJbGtb7HvpFIdw,1389
|
|
46
|
-
swcgeom/transforms/tree.py,sha256=qlYISDuT7DlEQ2uaa1Y-vqb2rbs9JHr9Bays546XuCI,8152
|
|
47
|
-
swcgeom/transforms/tree_assembler.py,sha256=rWm7D7tAhk9UkX1PL_QfXw2-98xlI7cF3IsIyW7eOzQ,5743
|
|
48
|
-
swcgeom/utils/__init__.py,sha256=sduLt0_W5KfoatIQ5Sj26DndwiCQhpPVkZhUVi7akFE,1215
|
|
49
|
-
swcgeom/utils/debug.py,sha256=ZOYLfj32YDjSU1tJrtThWF2SROwYhG2z7j4Fq0q4Dsw,1046
|
|
50
|
-
swcgeom/utils/download.py,sha256=VNJCsXty3NrwPv9CzyA_OkHsEQj4LArkoAuPmW-NX6c,4237
|
|
51
|
-
swcgeom/utils/dsu.py,sha256=tU_hBjSFBXiraJphB_qQ7Rt1pKNFUIbh0kvU_zJ1UaI,2016
|
|
52
|
-
swcgeom/utils/ellipse.py,sha256=o8CZmEhJIy2bejDX2nr92H5vootuLoIkk-sSTG19cAo,3815
|
|
53
|
-
swcgeom/utils/file.py,sha256=6P_jSfpUPulJ2PSHGr-maEZotLvM35egEmH4RRO022Y,3096
|
|
54
|
-
swcgeom/utils/neuromorpho.py,sha256=AE3wlDckLFYI9MuQv4XlA0LYMLpGUm8OQLNnym-DQB4,19617
|
|
55
|
-
swcgeom/utils/numpy_helper.py,sha256=wsY8-4naAOMfKQ2O-dVRcblM2NrezhjsUEfUzT2holk,2006
|
|
56
|
-
swcgeom/utils/plotter_2d.py,sha256=ojhEUpMbP9-7XE64CNb4kVoUS6WoFrYlmqumbGr79go,4450
|
|
57
|
-
swcgeom/utils/plotter_3d.py,sha256=6IU_Oyls5chq6ol30R4zp85oK_31yHB6vVp09D6pYGA,1458
|
|
58
|
-
swcgeom/utils/renderer.py,sha256=aDp2HZRUe9GDNdslewLKh6OCTKfz8G_6c4AmK14EajQ,4801
|
|
59
|
-
swcgeom/utils/sdf.py,sha256=C8uH9R2qMYeXgy1icHcaGQnjqQbU-0d6gWNw7tfge10,11156
|
|
60
|
-
swcgeom/utils/solid_geometry.py,sha256=2c8MNCfvkF7HAhmLPQXvHF8uexoNJBeFh6Qa9n6M8CQ,2980
|
|
61
|
-
swcgeom/utils/transforms.py,sha256=UKGeCv8O109mcBk1_opnwABLYVpmfF8sT_f5Mx5APSM,7538
|
|
62
|
-
swcgeom/utils/volumetric_object.py,sha256=Y_rEAzeCozJWwXicerwRElwotTgQwHlz9TChzsG9J1I,15683
|
|
63
|
-
swcgeom-0.18.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
64
|
-
swcgeom-0.18.3.dist-info/METADATA,sha256=jAOt9X1yBoGfypR3HTr0NkiyoHpNPmuQ_rtoqJN1LSo,2301
|
|
65
|
-
swcgeom-0.18.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
66
|
-
swcgeom-0.18.3.dist-info/top_level.txt,sha256=hmLyUXWS61Gxl07haswFEKKefYPBVJYlUlol8ghNkjY,8
|
|
67
|
-
swcgeom-0.18.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|