siibra

Submodules

Attributes

QUIET

VERBOSE

__version__

cache

fetch_ebrains_token

find_regions

from_json

logger

set_ebrains_token

Classes

MapIndex

Identifies a unique region in a ParcellationMap, combining its labelindex (the "color") and mapindex (the number of the 3Dd map, in case multiple are provided).

MapType

Generic enumeration.

Point

A single 3D point in reference space.

PointCloud

A set of 3D points in the same reference space,

Warmup

WarmupLevel

int([x]) -> integer

Functions

__dir__()

__getattr__(attr)

get_map(parcellation, space[, maptype])

get_region(parcellation, region)

get_template(space_spec, **kwargs)

set_cache_size(maxsize_gbyte)

siibra runs maintenance on its local cache to keep it under a predetermined

set_feasible_download_size(maxsize_gbyte)

set_log_level(level)

warm_cache([level])

Preload preconfigured siibra concepts.

Package Contents

class siibra.MapIndex(volume: int = None, label: int = None, fragment: str = None)

Identifies a unique region in a ParcellationMap, combining its labelindex (the “color”) and mapindex (the number of the 3Dd map, in case multiple are provided).

__eq__(other)
__hash__()
__repr__()
__str__()
classmethod from_dict(spec: dict)
fragment = None
label = None
volume = None
class siibra.MapType
Inheritance diagram of siibra.MapType

Generic enumeration.

Derive from this class to define new enumerations.

LABELLED = 1
STATISTICAL = 2
class siibra.Point(coordinatespec, space=None, sigma_mm: float = 0.0, label: int | float | tuple = None)

A single 3D point in reference space.

__add__(other)

Add the coordinates of two points to get a new point representing.

__eq__(other: Point)

Required to provide comparison and making the object hashable

__ge__(other)
__getitem__(index)

Index access to the coefficients of this point.

__gt__(other)
__hash__()
__iter__()

Return an iterator over the location, so the Point can be easily cast to list or tuple.

__le__(other)
__len__()
__lt__(other)
__mul__(number: float)

Return a new point with multiplied coordinates in the same space.

__repr__()
__setitem__(index, value)

Write access to the coefficients of this point.

__sub__(other)

Subtract the coordinates of two points to get a new point representing the offset vector. Alternatively, subtract an integer from the all coordinates of this point to create a new one. TODO this needs to maintain sigma

__truediv__(number: float)

Return a new point with divided coordinates in the same space.

bigbrain_section()

Estimate the histological section number of BigBrain which corresponds to this point. If the point is given in another space, a warping to BigBrain space will be tried.

get_enclosing_cube(width_mm)

Create a bounding box centered around this point with the given width. TODO this should respect sigma (in addition or instead of the offset)

intersection(other: siibra.locations.location.Location) Point

Return the intersection of two BrainStructures, ie. the other BrainStructure filtered by this BrainStructure.

static parse(spec, unit='mm') Tuple[float, float, float]

Converts a 3D coordinate specification into a 3D tuple of floats.

Parameters:
  • spec (Any of str, tuple(float,float,float)) – For string specifications, comma separation with decimal points are expected.

  • unit (str) – specification of the unit (only ‘mm’ supported so far)

Return type:

tuple(float, float, float)

transform(affine: numpy.ndarray, space=None)

Returns a new Point obtained by transforming the coordinate of this one with the given affine matrix. TODO this needs to maintain sigma

Parameters:
  • affine (numpy 4x4 ndarray) – affine matrix

  • space (str, Space, or None) –

    Target reference space which is reached after applying the transform

    Note

    The consistency of this cannot be checked and is up to the user.

warp(space)

Creates a new point by warping this point to another space TODO this needs to maintain the sigma parameter!

property boundingbox
coordinate
property homogeneous

The homogeneous coordinate of this point as a 4-tuple, obtained by appending ‘1’ to the original 3-tuple.

property id: str
label = None
sigma = 0.0
property volume

The volume of a point can be nonzero if it has a location uncertainty.

class siibra.PointCloud(coordinates: List[Tuple] | numpy.ndarray, space=None, sigma_mm: int | float | List[int | float] = 0, labels: List[int | float | tuple] = None)

A set of 3D points in the same reference space, defined by a list of coordinates.

__eq__(other: PointCloud)

Required to provide comparison and making the object hashable

__getitem__(index: int)
__hash__()
__iter__()

Return an iterator over the coordinate locations.

__len__()

The number of points in this PointCloud.

__str__()
as_list()

Return the point set as a list of 3D tuples.

find_clusters(min_fraction: float = 1 / 200, max_fraction: float = 1 / 8) List[int]

Find clusters using HDBSCAN (https://dl.acm.org/doi/10.1145/2733381) implementation of scikit-learn (https://dl.acm.org/doi/10.5555/1953048.2078195).

Parameters:
  • min_fraction (min cluster size as a fraction of total points in the PointCloud) –

  • max_fraction (max cluster size as a fraction of total points in the PointCloud) –

Returns:

Returns the cluster labels found by skilearn.cluster.HDBSCAN.

Note

Replaces the labels of the PointCloud instance with these labels.

Return type:

List[int]

Raises:

RuntimeError – If a sklearn version without HDBSCAN is installed.

intersection(other: siibra.locations.location.Location)

Return the subset of points that are inside the given mask.

NOTE: The affine matrix of the image must be set to warp voxels coordinates into the reference space of this Bounding Box.

transform(affine: numpy.ndarray, space=None)

Returns a new PointCloud obtained by transforming the coordinates of this one with the given affine matrix.

Parameters:
  • affine (numpy 4x4 ndarray) – affine matrix

  • space (reference space (id, name, or Space)) – Target reference space which is reached after applying the transform. Note that the consistency of this cannot be checked and is up to the user.

warp(space, chunksize=1000)

Creates a new point set by warping its points to another space

property boundingbox

Return the bounding box of these points, or None in the special case of an empty PointCloud.

property centroid
property coordinates: numpy.ndarray
property has_constant_sigma: bool
property homogeneous

Access the list of 3D point as an Nx4 array of homogeneous coordinates.

property label_colors

return a color for the given label.

labels = None
property sigma: List[int | float]

The list of sigmas corresponding to the points.

property volume
class siibra.Warmup
classmethod deregister_warmup_fn(original_fn)
static fn_eql(wrapped_fn, original_fn)
classmethod is_registered(fn)
classmethod register_warmup_fn(warmup_level: WarmupLevel = WarmupLevel.INSTANCE, *, is_factory=False)
classmethod warmup(warmup_level: WarmupLevel = WarmupLevel.INSTANCE, *, max_workers=4)
class siibra.WarmupLevel
Inheritance diagram of siibra.WarmupLevel

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

DATA = 5
INSTANCE = 1
TEST = -1000
siibra.__dir__()
siibra.__getattr__(attr: str)
siibra.get_map(parcellation: str, space: str, maptype: commons.MapType = MapType.LABELLED, **kwargs)
siibra.get_region(parcellation: str, region: str)
siibra.get_template(space_spec: str, **kwargs)
siibra.set_cache_size(maxsize_gbyte: int)

siibra runs maintenance on its local cache to keep it under a predetermined size of 2 gigabytes. This method changes the cache size.

Parameters:

maxsize_gbyte (int) –

siibra.set_feasible_download_size(maxsize_gbyte)
siibra.set_log_level(level)
siibra.warm_cache(level=WarmupLevel.INSTANCE)

Preload preconfigured siibra concepts.

Siibra relies on preconfigurations that simplify integrating various concepts such as parcellations, reference spaces, and multimodal data features. By preloading the instances, siibra commits all preconfigurations to the memory at once instead of committing them when required.

siibra.QUIET
siibra.VERBOSE
siibra.__version__
siibra.cache = None
siibra.fetch_ebrains_token
siibra.find_regions
siibra.from_json
siibra.logger = None
siibra.set_ebrains_token