cedalion package
Subpackages
- cedalion.data package
- Module contents
get()get_ninja_cap_probe()get_ninja_uhd_cap_probe()get_snirf_test_data()get_colin27_segmentation()get_colin27_parcel_file()get_icbm152_segmentation()get_icbm152_parcel_file()get_fingertapping()get_fingertappingDOT()get_fingertapping_snirf_path()get_multisubject_fingertapping_snirf_paths()get_multisubject_fingertapping_path()get_photogrammetry_example_scan()get_precomputed_fluence()get_precomputed_sensitivity()get_nn22_resting_state()get_snirf2bids_example_dataset()get_fieldtrip_colin27_landmarks()
- Module contents
- cedalion.dataclasses package
- Submodules
- cedalion.dataclasses.accessors module
- cedalion.dataclasses.geometry module
PointTypeSurfaceVoxelsTrimeshSurfaceTrimeshSurface.meshTrimeshSurface.crsTrimeshSurface.unitsTrimeshSurface.meshTrimeshSurface.verticesTrimeshSurface.nverticesTrimeshSurface.nfacesTrimeshSurface.apply_transform()TrimeshSurface.decimate()TrimeshSurface.smooth()TrimeshSurface.get_vertex_normals()TrimeshSurface.fix_vertex_normals()TrimeshSurface.from_vtksurface()
VTKSurfaceSimpleMeshPycortexSurfacePycortexSurface.meshPycortexSurface.verticesPycortexSurface.nverticesPycortexSurface.nfacesPycortexSurface.apply_transform()PycortexSurface.decimate()PycortexSurface.get_vertex_normals()PycortexSurface.pptsPycortexSurface.connectedPycortexSurface.adjPycortexSurface.face_normalsPycortexSurface.vertex_normalsPycortexSurface.face_areasPycortexSurface.cotangent_weightsPycortexSurface.laplace_operatorPycortexSurface.avg_edge_lengthPycortexSurface.surface_gradient()PycortexSurface.geodesic_distance()PycortexSurface.geodesic_path()PycortexSurface.graphPycortexSurface.iter_surfedgesPycortexSurface.from_trimeshsurface()PycortexSurface.from_vtksurface()
affine_transform_from_numpy()
- cedalion.dataclasses.recording module
RecordingRecording.timeseriesRecording.masksRecording.geo3dRecording.geo2dRecording.stimRecording.aux_tsRecording.aux_objRecording.head_modelRecording.meta_dataRecording.timeseriesRecording.masksRecording.geo3dRecording.geo2dRecording.stimRecording.aux_tsRecording.aux_objRecording.head_modelRecording.meta_dataRecording.get_timeseries()Recording.set_timeseries()Recording.get_mask()Recording.set_mask()Recording.get_timeseries_type()Recording.source_labelsRecording.detector_labelsRecording.wavelengthsRecording.trial_types
- cedalion.dataclasses.schemas module
- Module contents
- cedalion.dot package
- Submodules
- cedalion.dot.forward_model module
- cedalion.dot.head_model module
TwoSurfaceHeadModelTwoSurfaceHeadModel.segmentation_masksTwoSurfaceHeadModel.brainTwoSurfaceHeadModel.scalpTwoSurfaceHeadModel.landmarksTwoSurfaceHeadModel.t_ijk2rasTwoSurfaceHeadModel.t_ras2ijkTwoSurfaceHeadModel.voxel_to_vertex_brainTwoSurfaceHeadModel.voxel_to_vertex_scalpTwoSurfaceHeadModel.crsTwoSurfaceHeadModel.apply_transform()TwoSurfaceHeadModel.save()TwoSurfaceHeadModel.load()TwoSurfaceHeadModel.align_and_snap_to_scalp()TwoSurfaceHeadModel.segmentation_masksTwoSurfaceHeadModel.brainTwoSurfaceHeadModel.scalpTwoSurfaceHeadModel.landmarksTwoSurfaceHeadModel.t_ijk2rasTwoSurfaceHeadModel.t_ras2ijkTwoSurfaceHeadModel.voxel_to_vertex_brainTwoSurfaceHeadModel.voxel_to_vertex_scalpTwoSurfaceHeadModel.from_segmentation()TwoSurfaceHeadModel.from_surfaces()TwoSurfaceHeadModel.crsTwoSurfaceHeadModel.apply_transform()TwoSurfaceHeadModel.save()TwoSurfaceHeadModel.load()TwoSurfaceHeadModel.align_and_snap_to_scalp()TwoSurfaceHeadModel.snap_to_scalp_voxels()TwoSurfaceHeadModel.scale_to_landmarks()TwoSurfaceHeadModel.scale_to_headsize()
get_standard_headmodel()
- cedalion.dot.image_recon module
- cedalion.dot.tissue_properties module
- cedalion.dot.utils module
- Module contents
- cedalion.geometry package
- cedalion.io package
- Submodules
- cedalion.io.anatomy module
- cedalion.io.bids module
read_events_from_tsv()check_for_bids_field()get_snirf2bids_mapping_csv()find_files_with_pattern()create_bids_standard_filenames()copy_rename_snirf()search_for_acq_time_in_scan_files()search_for_acq_time_in_snirf_files()search_for_sessions_acq_time()create_scan_files()create_session_files()create_data_description()check_coord_files()create_participants_tsv()create_participants_json()create_participants_files()edit_events()sort_events()save_source()
- cedalion.io.forward_model module
- cedalion.io.nirs module
- cedalion.io.photogrammetry module
- cedalion.io.probe_geometry module
- cedalion.io.snirf module
DataTypeDataType.CW_AMPLITUDEDataType.CW_FLUORESCENCE_AMPLITUDEDataType.FD_AC_AMPLITUDEDataType.FD_PHASEDataType.FD_FLUORESCENCE_AMPLITUDEDataType.FD_FLUORESCENCE_PHASEDataType.TDG_AMPLITUDEDataType.TDG_FLUORESCENCE_AMPLITUDEDataType.TDM_AMPLITUDEDataType.TDM_FLUORESCENCE_AMPLITUDEDataType.DCS_G2DataType.DCS_BFIDataType.PROCESSED
DataTypeLabelDataTypeLabel.DODDataTypeLabel.DMEANDataTypeLabel.DVARDataTypeLabel.DSKEWDataTypeLabel.MUADataTypeLabel.MUSPDataTypeLabel.HBODataTypeLabel.HBRDataTypeLabel.HBTDataTypeLabel.H2ODataTypeLabel.LIPIDDataTypeLabel.BFIDataTypeLabel.HRF_DODDataTypeLabel.HRF_DMEANDataTypeLabel.HRF_DVARDataTypeLabel.HRF_DSKEWDataTypeLabel.HRF_HBODataTypeLabel.HRF_HBRDataTypeLabel.HRF_HBTDataTypeLabel.HRF_BFIDataTypeLabel.RAW_SATORIDataTypeLabel.RAW_NIRXDataTypeLabel.MOMENTS_KERNEL
assign_data_type_group()parse_data_type()parse_data_type_label()parse_data_type_index()reduce_ndim_sourceLabels()labels_and_positions()geometry_from_probe()measurement_list_to_dataframe()meta_data_tags_to_dict()stim_to_dataframe()read_aux()add_number_to_name()read_data_elements()read_nirs_element()read_snirf()denormalize_measurement_list()measurement_list_from_stacked()write_snirf()
- cedalion.io.utils module
- Module contents
- cedalion.math package
- cedalion.models package
- cedalion.nirs package
- cedalion.sigdecomp package
- cedalion.sigproc package
- cedalion.sim package
- cedalion.vis package
Submodules
cedalion.errors module
Cedalion-specific exceptions.
cedalion.physunits module
Builds on pint_xarray’s unit registry.
cedalion.plots module
cedalion.tasks module
cedalion.testing module
Utilitiy functions for tests.
- cedalion.testing.temporary_filename(suffix: str = None) Iterator[Path][source]
Context that creates a temporary file, returns its name and deletes it on exit.
Using this context to create a temporay files works around the problem that on Windows an open temporary files may not be reopened again.
Adapted from https://stackoverflow.com/a/57701186.
- Parameters:
suffix – filename extension
- Yields:
The path of the temporary file.
cedalion.typing module
Type aliases for Cedalion dataclasses.
Cedalion relies as much as possible on generic data types (like xarray DataArrays). We then use type aliases and annotations to augment these data types with additional information about the data they carry. For DataArrays there is a basic mechanism to specify and validate data schemas that specify dimension and coordinate names. This way we can distinguish between time series DataArrays (NDTimeSeries) and DataArrays representing points in space (LabeledPoints). By using these aliases in type hints we indicate to user which kind of DataArray is expected.
Parameters with physical units are represented by cedalion.Quantity. Aliases are defined to indicate the dimensionality of quantities.
- cedalion.typing.LabeledPoints[source]
DataArrays representing labeled points in space.
alias of
Annotated[DataArray,DataArraySchema(dims=(‘label’,), coords=((‘label’, (‘label’, ‘type’)),))]
- cedalion.typing.NDTimeSeries[source]
DataArrays representing time series.
alias of
Annotated[DataArray,DataArraySchema(dims=(‘time’,), coords=((‘time’, (‘time’, ‘samples’)),))]
- cedalion.typing.QLength[source]
Quantities with units of length
alias of
Annotated[Quantity, ‘[length]’]
cedalion.utils module
Utility functions.
cedalion.validators module
Validators for common data structures.
cedalion.vtktutils module
cedalion.xrutils module
Utility functions for xarray objects.
- cedalion.xrutils.pinv(array: DataArray) DataArray[source]
Calculate the pseudoinverse of a 2D xr.DataArray.
- FIXME: handles unitless and quantified DataArrays but not
DataArrays with units in their attrs.
- Parameters:
array (xr.DataArray) – Input array
- Returns:
Pseudoinverse of the input array
- Return type:
array_inv (xr.DataArray)
- cedalion.xrutils.norm(
- array: DataArray,
- dim: str,
Calculate the vector norm along a given dimension.
Extends the behavior of numpy.linalg.norm to xarray DataArrays.
- Parameters:
array (xr.DataArray) – Input array
dim (str) – Dimension along which to calculate the norm
- Returns:
Array with the norm along the specified dimension
- Return type:
normed (xr.DataArray)
- cedalion.xrutils.mask(
- array: DataArray,
- initval: bool,
Create a boolean mask array with the same shape as the input array.
- cedalion.xrutils.apply_mask(
- data_array: DataArray,
- mask: DataArray,
- operator: str,
- dim_collapse: str,
Apply a boolean mask to a DataArray according to the defined “operator”.
- Parameters:
data_array – NDTimeSeries, input time series data xarray
mask – input boolean mask array with a subset of dimensions matching data_array
operator – operators to apply to the mask and data_array “nan”: inserts NaNs in the data_array where mask is False “drop”: drops value in the data_array where mask is False
dim_collapse – Mask dimension to collapse to, merging boolean masks along all other dimensions. Can be skipped with “none”. Example: collapsing to “channel” dimension will drop or nan a channel if it is “False” along any other dimensions
- Returns:
Input data_array with applied mask masked_elements: List of elements in data_array that were masked (e.g.
dropped or set to NaN)
- Return type:
masked_data_array
- cedalion.xrutils.convolve(
- data_array: DataArray,
- kernel: ndarray,
- dim: str,
Convolve a DataArray along a given dimension “dim” with a “kernel”.
- cedalion.xrutils.other_dim(data_array: DataArray, *dims: str) str[source]
Get the dimension name not listed in *dims.
Checks that there is only one more dimension than given in dims and returns its name.
- Parameters:
data_array – an xr.DataArray
*dims – names of dimensions
- Returns:
The name of the dimension of data_array.
- cedalion.xrutils.coords_from_other(
- source: DataArray,
- dims: list[str] = None,
- **aux_coords,
Create a dictionary of coordinates from source for matching dims in target.
- Parameters:
source – the DataArray to copy the coordinates from.
dims – a list of dimensions names. If specified, copy only coords for those dims.
aux_coords – additional key-value pairs to add to the resulting coords dict.
- Returns:
A dictionary that can be passed to DataArray.assign_coords.
- cedalion.xrutils.drop_duplicate_dimensions(
- array: DataArray,
Remove dimensions in which all array values are identical.
During stacking and unstacking of dimensions, coordinate arrays can occur that are attributed to multiple dimensions although their values change only along a single dimensions. This function reduces the array to that single dimension.
- cedalion.xrutils.unstack(
- array: DataArray,
- unstack_dim: str,
- stacked_dims: tuple[str],
Unstack a stacked DataArray.
This function unstacks a DataArray in which dimensions ‘stacked_dims’ have been stacked into the dimension ‘unstack_dim’. The function further processes unstacked coordinate arrays, so that they are attributed only to their respective dimension.
- Parameters:
array – the stacked DataArray
unstack_dim – the dimension to unstack
stacked_dims – The dimensions that were stacked together in the order given to DataArray.stack.
- Returns:
The unstacked array.
- cedalion.xrutils.contract(
- a1: DataArray,
- a2: DataArray,
- dim: str | list[str],
Apply xr.dot after asserting compatible shapes.
xr.dot will silently multiply arrays along dimensions which differ in shape if these arrays have an overlap in coordinates. This function requires an exact match in coordinates before calling xr.dot.
- Parameters:
a1 – first operand
a2 – second operand
dim – dimension(s) to contract over
- Returns:
the result of xr.dot.
- cedalion.xrutils.transpose_like(
- a: DataArray,
- target: DataArray,
- dim_map: dict[str, str] | None = None,
Transpose the dims in a to match the ordering in target.