siibra 0.4a33__py3-none-any.whl → 0.4a46__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 siibra might be problematic. Click here for more details.

Files changed (64) hide show
  1. siibra/VERSION +1 -1
  2. siibra/__init__.py +2 -0
  3. siibra/commons.py +53 -8
  4. siibra/configuration/configuration.py +21 -17
  5. siibra/configuration/factory.py +95 -19
  6. siibra/core/atlas.py +11 -8
  7. siibra/core/concept.py +41 -8
  8. siibra/core/parcellation.py +94 -43
  9. siibra/core/region.py +160 -187
  10. siibra/core/space.py +44 -39
  11. siibra/features/__init__.py +19 -19
  12. siibra/features/anchor.py +9 -6
  13. siibra/features/connectivity/__init__.py +0 -8
  14. siibra/features/connectivity/functional_connectivity.py +11 -3
  15. siibra/features/{basetypes → connectivity}/regional_connectivity.py +46 -33
  16. siibra/features/connectivity/streamline_counts.py +3 -2
  17. siibra/features/connectivity/streamline_lengths.py +3 -2
  18. siibra/features/{basetypes → dataset}/__init__.py +2 -0
  19. siibra/features/{external → dataset}/ebrains.py +3 -3
  20. siibra/features/feature.py +420 -0
  21. siibra/{samplers → features/image}/__init__.py +7 -1
  22. siibra/features/{basetypes/volume_of_interest.py → image/image.py} +12 -7
  23. siibra/features/{external/__init__.py → image/sections.py} +8 -5
  24. siibra/features/image/volume_of_interest.py +70 -0
  25. siibra/features/{cellular → tabular}/__init__.py +7 -11
  26. siibra/features/{cellular → tabular}/bigbrain_intensity_profile.py +5 -2
  27. siibra/features/{cellular → tabular}/cell_density_profile.py +6 -2
  28. siibra/features/{basetypes → tabular}/cortical_profile.py +48 -41
  29. siibra/features/{molecular → tabular}/gene_expression.py +5 -2
  30. siibra/features/{cellular → tabular}/layerwise_bigbrain_intensities.py +6 -2
  31. siibra/features/{cellular → tabular}/layerwise_cell_density.py +9 -3
  32. siibra/features/{molecular → tabular}/receptor_density_fingerprint.py +3 -2
  33. siibra/features/{molecular → tabular}/receptor_density_profile.py +6 -2
  34. siibra/features/tabular/regional_timeseries_activity.py +213 -0
  35. siibra/features/{basetypes → tabular}/tabular.py +14 -9
  36. siibra/livequeries/allen.py +1 -1
  37. siibra/livequeries/bigbrain.py +2 -3
  38. siibra/livequeries/ebrains.py +3 -9
  39. siibra/livequeries/query.py +1 -1
  40. siibra/locations/location.py +4 -3
  41. siibra/locations/point.py +21 -17
  42. siibra/locations/pointset.py +2 -2
  43. siibra/retrieval/__init__.py +1 -1
  44. siibra/retrieval/cache.py +8 -2
  45. siibra/retrieval/datasets.py +149 -29
  46. siibra/retrieval/repositories.py +19 -8
  47. siibra/retrieval/requests.py +98 -116
  48. siibra/volumes/gifti.py +26 -11
  49. siibra/volumes/neuroglancer.py +35 -19
  50. siibra/volumes/nifti.py +8 -9
  51. siibra/volumes/parcellationmap.py +341 -184
  52. siibra/volumes/sparsemap.py +67 -53
  53. siibra/volumes/volume.py +25 -13
  54. {siibra-0.4a33.dist-info → siibra-0.4a46.dist-info}/METADATA +4 -3
  55. siibra-0.4a46.dist-info/RECORD +69 -0
  56. {siibra-0.4a33.dist-info → siibra-0.4a46.dist-info}/WHEEL +1 -1
  57. siibra/features/basetypes/feature.py +0 -248
  58. siibra/features/fibres/__init__.py +0 -14
  59. siibra/features/functional/__init__.py +0 -14
  60. siibra/features/molecular/__init__.py +0 -26
  61. siibra/samplers/bigbrain.py +0 -181
  62. siibra-0.4a33.dist-info/RECORD +0 -71
  63. {siibra-0.4a33.dist-info → siibra-0.4a46.dist-info}/LICENSE +0 -0
  64. {siibra-0.4a33.dist-info → siibra-0.4a46.dist-info}/top_level.txt +0 -0
@@ -1,14 +0,0 @@
1
- # Copyright 2018-2021
2
- # Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH
3
-
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
-
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
@@ -1,14 +0,0 @@
1
- # Copyright 2018-2021
2
- # Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH
3
-
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
-
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
@@ -1,26 +0,0 @@
1
- # Copyright 2018-2021
2
- # Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH
3
-
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
-
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from .receptor_density_profile import ReceptorDensityProfile
17
- from .receptor_density_fingerprint import ReceptorDensityFingerprint
18
- from .gene_expression import GeneExpressions
19
-
20
-
21
- def __dir__():
22
- return [
23
- "ReceptorDensityProfile",
24
- "ReceptorDensityFingerprint",
25
- "GeneExpressions",
26
- ]
@@ -1,181 +0,0 @@
1
- # Copyright 2018-2021
2
- # Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH
3
-
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
-
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
-
17
- from ..commons import logger
18
- from ..configuration.configuration import REGISTRY
19
- from ..locations import Point, PointSet
20
-
21
- from ctypes import ArgumentError
22
- import numpy as np
23
- from skimage import measure
24
- from nilearn import image
25
- from tqdm import tqdm
26
-
27
-
28
- class BigBrainCortexSampler:
29
- """Sample layerwise grayvalue statistics from BigBrain cortex.
30
-
31
- Given a coordinate in BigBrain space, the sampler centers a fixed-size box
32
- near the given location in BigBrain cortex and extracts layerwise grayvalue
33
- statistics. The center is found by identifying the closest point in Layer IV
34
- which is inside a specified maximum distance (default 1mm) from the given point.
35
- """
36
-
37
- def __init__(self, boxwidth_mm=3, maxdist_mm=1):
38
- """Create a new cortex sample for BigBrain.
39
-
40
- Arguments
41
- ---------
42
- boxwidth_mm : float
43
- Sidelength of the boxes used for grayvalue sampling (default: 3mm)
44
- maxdist_mm : float
45
- Maximum distance allowed to shift given sampling locations towards the
46
- mid surface of the cortex. If the mid surface is not found within
47
- this distance, no data will be sampled.
48
- """
49
-
50
- self.space = REGISTRY.Space["bigbrain"]
51
- self._layermask = REGISTRY.Parcellation["layers"].get_map(self.space)
52
- self._template = self.space.get_template()
53
- self.boxwidth_mm = boxwidth_mm
54
- self.maxdist_mm = maxdist_mm
55
-
56
- def sample(self, location):
57
- """
58
- Given sample locations in BigBrain space, the sampler centers a fixed-size box
59
- near the given location in BigBrain cortex and extracts layerwise grayvalue
60
- statistics. The center is found by identifying the closest point in Layer IV
61
- which is inside a specified maximum distance (default 1mm) from the given point.
62
- If the location is not close enough to the cortical midsurface, the data sample
63
- will be empty and a warning will be printed.
64
-
65
- Parameters
66
- ----------
67
- location: Point, or PointSet
68
- Candidate location(s) for sampling
69
-
70
- Return
71
- ------
72
- List of dicts, one per sample point, with keys:
73
- - 'center': the physical coordinate of the cube used as a region of interest
74
- - 'boxsize': sidelenght in mm f the cube used as a region of interest
75
- - 'space': name of the space (bigbrain)
76
- - 'layers': Dict of layer-wise statistics with mean gray value, standard deviation, and volume in mm
77
- """
78
- if location.space != self.space:
79
- logger.info(
80
- f"Warping sample locations from {location.space.name} to {self.space.name}"
81
- )
82
- loc_bb = location.warp(self.space)
83
- else:
84
- loc_bb = location
85
-
86
- result = []
87
- if isinstance(loc_bb, Point):
88
- result.append(self._sample_single_point(loc_bb))
89
- elif isinstance(loc_bb, PointSet):
90
- for p in tqdm(
91
- loc_bb,
92
- total=len(loc_bb),
93
- unit="locations",
94
- desc=f"Sampling from {len(loc_bb)} locations",
95
- disable=logger.level > 20,
96
- ):
97
- result.append(self._sample_single_point(p))
98
- else:
99
- raise ArgumentError(
100
- f"Invalid location specification {location.__class__.__name__} BigBrain sampling."
101
- )
102
-
103
- return result
104
-
105
- def _sample_single_point(self, point):
106
- """
107
- Given a coordinate in BigBrain space, the sampler centers a fixed-size box
108
- near the given location in BigBrain cortex and extracts layerwise grayvalue
109
- statistics. The center is found by identifying the closest point in Layer IV
110
- which is inside a specified maximum distance (default 1mm) from the given point.
111
-
112
- Parameters
113
- ----------
114
- point: Point
115
- Candidate location for sampling
116
-
117
- Return
118
- ------
119
- dict with keys:
120
- - 'center': the physical coordinate of the cube used as a region of interest
121
- - 'boxsize': sidelenght in mm f the cube used as a region of interest
122
- - 'space': name of the space (bigbrain)
123
- - 'layers': Dict of layer-wise statistics with mean gray value, standard deviation, and number of voxels
124
-
125
- """
126
- result = {
127
- "center": tuple(point),
128
- "boxsize": self.boxwidth_mm,
129
- "space": self.space.name,
130
- "layers": {},
131
- }
132
-
133
- # find closest point in layer 4, i.e. towards the mid surface,
134
- # to make sure the box is well centered in the cortex.
135
- voi = point.get_enclosing_cube(2 * self.maxdist_mm + 1)
136
- voimask = self._layermask.fetch(voi=voi, resolution_mm=-1)
137
- L = np.asanyarray(voimask.dataobj)
138
- XYZ_ = np.array(np.where(L == 4)).T
139
- if XYZ_.shape[0] == 0:
140
- logger.warn(
141
- f"The point {tuple(point)} seems too far away from Layer IV in BigBrain. "
142
- f"No data sampled."
143
- )
144
- return result
145
- XYZ = np.dot(voimask.affine, np.c_[XYZ_, np.ones(XYZ_.shape[0])].T)[:3, :].T
146
- D = np.sum(np.sqrt((XYZ - tuple(point)) ** 2), axis=1)
147
- p_mid = Point(XYZ[np.argmin(D), :], self.space)
148
-
149
- # Load cube of fixed size at this cortica position
150
- # from BigBrain and cortical layer maps,
151
- # using maximum available resolution.
152
- voi = p_mid.get_enclosing_cube(self.boxwidth_mm)
153
- voidata = self._template.fetch(voi=voi, resolution_mm=-1)
154
- voimask = image.resample_to_img(
155
- self._layermask.fetch(voi=voi, resolution_mm=-1),
156
- voidata,
157
- interpolation="nearest",
158
- )
159
-
160
- # Get layer mask with possible additional segmentation
161
- # components at box borders suppressed (e.g. from neighboring
162
- # sulcal walls)
163
- L = np.asanyarray(voimask.dataobj)
164
- M = measure.label(L > 0)
165
- cx, cy, cz = np.array(M.shape) // 2
166
- L[M != M[cx, cy, cz]] = 0
167
-
168
- # extract layerwise grayvalues, excluding value 255
169
- # which we assume to belong to background.
170
- result["center"] = tuple(p_mid)
171
- arr = np.asanyarray(voidata.dataobj)
172
- for layer in range(1, 7):
173
- mask = (L == layer) & (arr != 255)
174
- values = arr[mask].ravel()
175
- result["layers"][layer] = {
176
- "mean": values.mean(),
177
- "std": values.std(),
178
- "num_voxels": np.count_nonzero(mask),
179
- }
180
-
181
- return result
@@ -1,71 +0,0 @@
1
- siibra/VERSION,sha256=otffEPjs2TV1fUHqCjiUSfy2O22dsizcWDp9ufoyYWI,7
2
- siibra/__init__.py,sha256=DT38YlkHdUP8Nfl6mB0cINOT4-iRSIxWJ34_4e43bj4,3771
3
- siibra/commons.py,sha256=L0lrTgOuacQSdCrf-qh3bGuFXJJSzERX3fbQ2xltFNM,22896
4
- siibra/configuration/__init__.py,sha256=gXtcw2wbHCJ1o6jnd_HBudpaptHWBke71gcBd3ze7zE,688
5
- siibra/configuration/configuration.py,sha256=P2G2bKhTHxeIXZEYMKMb8Tse1rhfK7iaINCnlXvHM-c,6686
6
- siibra/configuration/factory.py,sha256=9vvlFNEdRd-HaHTNo82VCYURbRYYxVkJyMcAVwplNDo,16214
7
- siibra/core/__init__.py,sha256=YQkeqGqpOT3aH-PPHeGb1kxSyMbgR3ZHqDCy2I0Zlsk,735
8
- siibra/core/atlas.py,sha256=-5BLxhFBh8WVBWfZ8t10n6UEIQcWBux-up2ej1NeZGk,7702
9
- siibra/core/concept.py,sha256=oFiTAuhwRIIAkZAkLraxjMV8hjuvtGFnNQORVNknADU,7197
10
- siibra/core/parcellation.py,sha256=5ogKnV0rGpSRh5EeWV2HluVSZjz2EpSkRpiz_6sLad8,11462
11
- siibra/core/region.py,sha256=SZBFFGH3hP1FZIReaKg3qxvQ5ZEizyhmSMKiz8_8uFw,26181
12
- siibra/core/space.py,sha256=wJC_v-qmoDnh7UL6xcLhGqrT6npk796LF46OedLXwb4,5728
13
- siibra/features/__init__.py,sha256=GG3AgOK63dia9Rl6HklnGbWajOjVgKh-gF1OY7MWnh8,1250
14
- siibra/features/anchor.py,sha256=l3nZ6jMQnbEvgpDGym3F-PO9pC01jwsXN5yl_rYEI4U,15874
15
- siibra/features/basetypes/__init__.py,sha256=VtO-iWy5C74vNDxBHL07av9yH9WD56gKkD0O0PRm0Bs,646
16
- siibra/features/basetypes/cortical_profile.py,sha256=tKnFX17lnB_FQjhJbdWtaheDAEG1xfmfgkOyXE2RynU,7947
17
- siibra/features/basetypes/feature.py,sha256=GM66iDHvIX2zRdNvdPLAfPCs92pC18D2VrqrZReJFB4,9182
18
- siibra/features/basetypes/regional_connectivity.py,sha256=CRQWOgsvMyNgGl9UUDoo-snXyWwIk9YddfieJnddPI4,11869
19
- siibra/features/basetypes/tabular.py,sha256=fhj-QMQ5LPR1MibMEYfl1KaYU_iLa8PCaG8IoSzQDWk,3078
20
- siibra/features/basetypes/volume_of_interest.py,sha256=FEOAZR0uWWTZK85jyAGMU6_9U-7qo3E2hBPWNM2P1Dc,2827
21
- siibra/features/cellular/__init__.py,sha256=1sI-t1XNXSODJvGAEXAyOoiqVQY4TNn3py4imYeHowc,1069
22
- siibra/features/cellular/bigbrain_intensity_profile.py,sha256=fPnsvoIg2MSK4hCM_oz28wLOLkb1FL6IbZfUWZGXC1U,2194
23
- siibra/features/cellular/cell_density_profile.py,sha256=U46vA8eTTO_yy7XnAk9olf_ltCWZLS8xyJRuDVS8Wsg,9055
24
- siibra/features/cellular/layerwise_bigbrain_intensities.py,sha256=iWH6HljR12U9bTw1AB-iLikSCnhDu0OfW9nNfXpSbSM,2104
25
- siibra/features/cellular/layerwise_cell_density.py,sha256=PinmHAoN_VdHZrEMBSas-HDqJD61_pl8SnD6xr-PzrI,4157
26
- siibra/features/connectivity/__init__.py,sha256=Ub3O9pvXdwIf6ZMXl6Y0JTtEJmIonkCsCTR1jExU-VM,932
27
- siibra/features/connectivity/functional_connectivity.py,sha256=oYbTz0BSKLVB32cAhCdpNksDdCmXd762B1bKxhGK9WM,1069
28
- siibra/features/connectivity/streamline_counts.py,sha256=Gaxg4c38OxKtdvkDAcviUYXNu2ER6TaQM6-I1rKUf3Y,1042
29
- siibra/features/connectivity/streamline_lengths.py,sha256=C7c6CtnuD-XJaIs9yrWEQFuQ_2kMlNB63qr0lYrADo0,1045
30
- siibra/features/external/__init__.py,sha256=v1ZjjL4T2LWMbll_CrWubw_SpAbUAkG_5j7ZJW5pWcs,753
31
- siibra/features/external/ebrains.py,sha256=E9DBMpAeN-Uprhm3PUDa6gPFGox7l6sXgUP2SVj06QM,2697
32
- siibra/features/fibres/__init__.py,sha256=VtO-iWy5C74vNDxBHL07av9yH9WD56gKkD0O0PRm0Bs,646
33
- siibra/features/functional/__init__.py,sha256=VtO-iWy5C74vNDxBHL07av9yH9WD56gKkD0O0PRm0Bs,646
34
- siibra/features/molecular/__init__.py,sha256=EBamcceBrBXBo8nIuNtfrourh8ikRJ7kpOV4boV1mKw,957
35
- siibra/features/molecular/gene_expression.py,sha256=CjCTGYsbkAhpxXLcotXOJHFyG8tNjSDr4XOFdMVwGKo,4776
36
- siibra/features/molecular/receptor_density_fingerprint.py,sha256=9V7aAFKMsUQsO8RUyNX-yBfkPqRvgwFc2A8g_skkuuA,5986
37
- siibra/features/molecular/receptor_density_profile.py,sha256=dlJ42H8k1dy9ms61JU4EYddSZsRPJ0axXVt0k55y6oQ,3535
38
- siibra/livequeries/__init__.py,sha256=b5qKiJt_SrgSzy4abRYqvnbLSo01vUHrK8-K2zbnKIo,804
39
- siibra/livequeries/allen.py,sha256=0myo_W2oTB1Df5ov4djsg8TXnZsJU6PTwSIB0-v7c9A,12181
40
- siibra/livequeries/bigbrain.py,sha256=xdWP79J0zsF31h5kF1Oyy3nRNUvbKDbdWRu8DUwEdsY,6827
41
- siibra/livequeries/ebrains.py,sha256=-2mdyB3HjA5S9V4puzDlILFx4qKd-t6nVuJLK4Gwr6I,6016
42
- siibra/livequeries/query.py,sha256=lzXfQZVE-WQ8D61Zxb3xIb1brK11dTTI7vusmOnvIxQ,1796
43
- siibra/locations/__init__.py,sha256=ItA2BnaaqP9wdXUH78mMhPFR0dSDxnz66o-y9vJH2Ag,773
44
- siibra/locations/boundingbox.py,sha256=Oh2FxRFcDIh3a59ko1wbp5LQBVgLPhJx8Tkn4R3z_MQ,16824
45
- siibra/locations/location.py,sha256=i5EY6gt-rHZOYCAkCSOJzz4iABsBR6XOZ_yYBBJCL3o,4503
46
- siibra/locations/point.py,sha256=IpEx3zeMipf8_Q-jqiwn6LAqejV3fHHNTgtMaezNNng,12543
47
- siibra/locations/pointset.py,sha256=1KizkqAN4uESdCjUtJ-P3qVwRhQwRT-Cf3OsD4-Dc0M,7082
48
- siibra/retrieval/__init__.py,sha256=7IadP90DyeR68Lo2hpLT0ujM2XHMA_El1ZQz1jXQQTQ,1044
49
- siibra/retrieval/cache.py,sha256=SqbUoGBPlO0uuEhubJJR8rA5BTzYf3tT5arO_wbE2RA,4625
50
- siibra/retrieval/datasets.py,sha256=iQNodF0xmeOnAuWSn1xGk3VRPDoA2swXj_jTsDf6dYc,4228
51
- siibra/retrieval/repositories.py,sha256=kBNd7k566i0TyVdgEGmo2nQVGqfjCjlasx-UyiJh1lk,26023
52
- siibra/retrieval/requests.py,sha256=sKhpHj0THYdkj4lC85Iwwftxt0u_yE98IZPKjBBSMvo,21567
53
- siibra/retrieval/exceptions/__init__.py,sha256=STIPOyunBN2f7d26NTElLTL3xM1KoB3U7jLhNBivguA,173
54
- siibra/samplers/__init__.py,sha256=cZbuM1FAubGmBjKzk-sZ88eY0y6el5JanTzePNwZJwk,691
55
- siibra/samplers/bigbrain.py,sha256=5wLn-CN1npPcG3j_olI7HgDhbhtX7G99eEvicS9TtTc,7228
56
- siibra/vocabularies/__init__.py,sha256=I_tTB-3xYAdVzRGP0CCVGgd3dP6QiltoJqEZFTr-lkI,1261
57
- siibra/vocabularies/gene_names.json,sha256=i-gnh753GyZtQfX_dWibNYr_d5ccDPHooOwsdeKUYqE,1647972
58
- siibra/vocabularies/receptor_symbols.json,sha256=F6DZIArPCBmJV_lWGV-zDpBBH_GOJOZm67LBE4qzMa4,5722
59
- siibra/vocabularies/region_aliases.json,sha256=RFxH36D3JS-T6lGlATthcNbPkKINjiqZxFoeb7OTtJY,8449
60
- siibra/volumes/__init__.py,sha256=b6O5aWKfFU0JGT8PMTUF6OewCti7aRyOno_kjJ4es_U,830
61
- siibra/volumes/gifti.py,sha256=MxTrXZjwEa8AzrfVkgry9_EByIQupswebVPnn-FQgc0,5289
62
- siibra/volumes/neuroglancer.py,sha256=sWdGw2SF17TpihZTi4Swcw6GCA4EdENYKjsRBs6sUIo,23462
63
- siibra/volumes/nifti.py,sha256=ObdIilFRhvkbmD0DixSGmVZeZAxafrNYZ6qrII25Pv0,8937
64
- siibra/volumes/parcellationmap.py,sha256=3uRreZEGImX8zKWImBJZgVFBW6NRHODvCSGjFn9eDJc,38349
65
- siibra/volumes/sparsemap.py,sha256=ZxDxbILzTD2j2OASh6gaAfjoJ8qWGFUG1cf7G8i-40o,17605
66
- siibra/volumes/volume.py,sha256=DSwhKolU8oAoXW74Oq7et3fU5q3Ji9Wyw6PauZMWBEQ,9758
67
- siibra-0.4a33.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
68
- siibra-0.4a33.dist-info/METADATA,sha256=0eSaR5EBZRnTd6e9RszHfWdHKavcmu01j57cYDJ2yeo,9224
69
- siibra-0.4a33.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
70
- siibra-0.4a33.dist-info/top_level.txt,sha256=NF0OSGLL0li2qyC7MaU0iBB5Y9S09_euPpvisD0-8Hg,7
71
- siibra-0.4a33.dist-info/RECORD,,