Skip to content
Snippets Groups Projects
Commit f35c8bef authored by Timo Dickscheid's avatar Timo Dickscheid
Browse files

cleanup neuroglancer mesh fetching code

parent df981a5f
No related branches found
No related tags found
No related merge requests found
......@@ -574,29 +574,32 @@ class NeuroglancerMesh(volume.VolumeProvider, srctype="neuroglancer/precompmesh"
# extract fragment information for the requested mesh
fragment_infos = self._get_fragment_info(label_i)
fragments.extend(fragment_infos.keys())
if fragment is None:
# no fragment specified, return merged fragment meshes
if len(fragment_infos) == 0:
raise RuntimeError(f"Invalid label '{label_i}' for mesh fetching.")
else:
for url, transform in fragment_infos.values():
for name, (url, transform) in fragment_infos.items():
mesh = self._fetch_fragment(url, transform)
mesh['labels'] = np.array([label_i for _ in mesh['verts']])
meshes.append(mesh)
fragments.append(name)
else:
# match fragment to available fragments
matched = [
info for name, info in fragment_infos.items()
(name, url, transform)
for name, (url, transform) in fragment_infos.items()
if fragment.lower() in name
]
if len(matched) == 1:
url, transform = next(iter(matched))
name, url, transform = next(iter(matched))
mesh = self._fetch_fragment(url, transform)
mesh['labels'] = np.array([label_i for _ in mesh['verts']])
meshes.append(mesh)
fragments.append(name)
else:
raise ValueError(
f"The requested mesh fragment name '{fragment}' could not be resolved. "
......
import pytest
import numpy as np
import siibra
......@@ -22,5 +20,3 @@ def test_pli_volume_transform():
== "https://neuroglancer.humanbrainproject.eu/precomputed/data-repo/HSV-FOM"
for p in feat._providers.values()
), "Expect RGB PLI volume to be present"
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment