Skip to content

Commit 2c4b7d8

Browse files
authored
Merge pull request #168 from fcollman/process=False-option
Process=false option
2 parents 2c3c842 + 090d125 commit 2c4b7d8

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

navis/utils/cv.py

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,22 @@ def patch_cloudvolume():
5656

5757
# If CV not installed do nothing
5858
if not cv:
59-
logger.info('cloud-volume appears to not be installed?')
59+
logger.info("cloud-volume appears to not be installed?")
6060
return
6161

62-
for ds in [cv.datasource.graphene.mesh.sharded.GrapheneShardedMeshSource,
63-
cv.datasource.graphene.mesh.unsharded.GrapheneUnshardedMeshSource,
64-
cv.datasource.precomputed.mesh.unsharded.UnshardedLegacyPrecomputedMeshSource,
65-
cv.datasource.precomputed.mesh.multilod.UnshardedMultiLevelPrecomputedMeshSource,
66-
cv.datasource.precomputed.mesh.multilod.ShardedMultiLevelPrecomputedMeshSource,
67-
cv.datasource.precomputed.skeleton.sharded.ShardedPrecomputedSkeletonSource,
68-
cv.datasource.precomputed.skeleton.unsharded.UnshardedPrecomputedSkeletonSource]:
62+
for ds in [
63+
cv.datasource.graphene.mesh.sharded.GrapheneShardedMeshSource,
64+
cv.datasource.graphene.mesh.unsharded.GrapheneUnshardedMeshSource,
65+
cv.datasource.precomputed.mesh.unsharded.UnshardedLegacyPrecomputedMeshSource,
66+
cv.datasource.precomputed.mesh.multilod.UnshardedMultiLevelPrecomputedMeshSource,
67+
cv.datasource.precomputed.mesh.multilod.ShardedMultiLevelPrecomputedMeshSource,
68+
cv.datasource.precomputed.skeleton.sharded.ShardedPrecomputedSkeletonSource,
69+
cv.datasource.precomputed.skeleton.unsharded.UnshardedPrecomputedSkeletonSource,
70+
]:
6971
ds.get_navis = return_navis(ds.get, only_on_kwarg=False)
7072
ds.get = return_navis(ds.get, only_on_kwarg=True)
7173

72-
logger.info('cloud-volume successfully patched!')
74+
logger.info("cloud-volume successfully patched!")
7375

7476

7577
def return_navis(func, only_on_kwarg=False):
@@ -82,12 +84,15 @@ def return_navis(func, only_on_kwarg=False):
8284
only_on_kwarg : bool
8385
If True, will look for a `as_navis=True` (default=False)
8486
keyword argument to determine if results should be converted
85-
to navis neurons.
87+
to navis neurons. If 'process' is set to False, the neuron
88+
will not be processed by TriMesh (remove nan, duplicate vertices,etc)
8689
8790
"""
91+
8892
@functools.wraps(func)
8993
def wrapper(*args, **kwargs):
90-
ret_navis = kwargs.pop('as_navis', False)
94+
ret_navis = kwargs.pop("as_navis", False)
95+
process = kwargs.pop("process", False)
9196
res = func(*args, **kwargs)
9297

9398
if not only_on_kwarg or ret_navis:
@@ -99,18 +104,20 @@ def wrapper(*args, **kwargs):
99104

100105
for k, v in res.items():
101106
if isinstance(v, cv.Mesh):
102-
n = core.MeshNeuron(v, id=k, units='nm')
107+
n = core.MeshNeuron(v, id=k, units="nm", process=process)
103108
neurons.append(n)
104109
elif isinstance(v, cv.Skeleton):
105110
swc_str = v.to_swc()
106111
n = io.read_swc(swc_str)
107112
n.id = k
108-
n.units = 'nm'
113+
n.units = "nm"
109114
neurons.append(n)
110115
else:
111-
logger.warning(f'Skipped {k}: Unable to convert {type(v)} to '
112-
'navis Neuron.')
116+
logger.warning(
117+
f"Skipped {k}: Unable to convert {type(v)} to " "navis Neuron."
118+
)
113119

114120
return core.NeuronList(neurons)
115121
return res
122+
116123
return wrapper

0 commit comments

Comments
 (0)