cedalion.dataclasses package

Submodules

cedalion.dataclasses.accessors module

class cedalion.dataclasses.accessors.CedalionAccessor(xarray_obj)

Bases: object

freq_filter(fmin, fmax, butter_order=4)

Apply a Butterworth frequency filter.

property sampling_rate
to_epochs(df_stim, trial_types, before, after)
class cedalion.dataclasses.accessors.PointsAccessor(xarray_obj)

Bases: object

add(label, coordinates, type)
Return type:

DataArray

apply_transform(transform)
common_labels(other)

Return labels contained in both LabledPointClouds.

Return type:

List[str]

property crs
remove(label)
rename(translations)
set_crs(value)
to_homogeneous()
class cedalion.dataclasses.accessors.StimAccessor(pandas_obj)

Bases: object

rename_events(rename_dict)

cedalion.dataclasses.geometry module

class cedalion.dataclasses.geometry.PointType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

DETECTOR = 2
LANDMARK = 3
SOURCE = 1
UNKNOWN = 0
class cedalion.dataclasses.geometry.Surface(mesh, crs, units)

Bases: ABC

abstract apply_transform(transform)
crs: str
property kdtree
mesh: Any
abstract property nfaces: int
abstract property nvertices: int
snap(points)
units: Unit
abstract property vertices: Annotated[DataArray, DataArraySchema(dims='label', coords='label', 'label', 'type')]
class cedalion.dataclasses.geometry.TrimeshSurface(mesh, crs, units)

Bases: Surface

apply_transform(transform)
Return type:

TrimeshSurface

decimate(face_count)

Use quadric decimation to reduce the number of vertices.

Parameters:

face_count (int) – the number of faces of the decimated mesh

Return type:

TrimeshSurface

Returns:

The surface with a decimated mesh

fix_vertex_normals()
classmethod from_vtksurface(vtk_surface)
get_vertex_normals(points)

Get normals of vertices closest to the provided points.

mesh: Trimesh
property nfaces: int
property nvertices: int
smooth(lamb)

Apply a Taubin filter to smooth this surface.

Return type:

TrimeshSurface

property vertices: Annotated[DataArray, DataArraySchema(dims='label', coords='label', 'label', 'type')]
class cedalion.dataclasses.geometry.VTKSurface(mesh, crs, units)

Bases: Surface

apply_transform(transform)
decimate(reduction, **kwargs)

Use VTK’s decimate_pro method to reduce the number of vertices.

Parameters:
  • reduction (float) – Reduction factor. A value of 0.9 will leave 10% of the original number of vertices.

  • **kwargs – additional keyword arguments are passed to decimate_pro

Return type:

VTKSurface

Returns:

The surface with a decimated mesh

classmethod from_trimeshsurface(tri_mesh)
mesh: vtkPolyData
property nfaces: int
property nvertices: int
property vertices: Annotated[DataArray, DataArraySchema(dims='label', coords='label', 'label', 'type')]
cedalion.dataclasses.geometry.affine_transform_from_numpy(transform, from_crs, to_crs, from_units, to_units)
Return type:

DataArray

cedalion.dataclasses.schemas module

class cedalion.dataclasses.schemas.DataArraySchema(dims, coords)

Bases: object

coords: tuple[tuple[str, tuple[str]]]
dims: tuple[str]
validate(data_array)
exception cedalion.dataclasses.schemas.ValidationError

Bases: Exception

cedalion.dataclasses.schemas.build_labeled_points(coordinates, crs, units='1', labels=None, types=None)
cedalion.dataclasses.schemas.build_timeseries(data, dims, time, channel, value_units, time_units)
cedalion.dataclasses.schemas.validate_schemas(func)
cedalion.dataclasses.schemas.validate_stim_schema(df)

Module contents

Common classes.