Utilities Module
Utility functions for DRIADA.
This module provides various utility functions for data manipulation, plotting, matrix operations, and other common operations.
General utility functions for data manipulation, visualization, signal processing, and other common operations in neural data analysis.
Module Components
Quick Links
- Data Manipulation
Data Utilities - Data structures and I/O utilities
rescale()- Rescale data to rangeget_hash()- Generate data hashes
- Visualization
Visualization Utilities - Advanced plotting functions
plot_embedding_comparison()- Compare embeddingsmake_beautiful()- Style matplotlib plotscreate_default_figure()- Standard figure setup
- Signal Processing
Signal Processing Utilities - Signal analysis and generation
brownian()- Generate Brownian motionapproximate_entropy()- Compute ApEnfilter_signals()- Apply filters
- Spatial Analysis
Spatial Analysis Utilities - Spatial visualization and evaluation metrics
compute_rate_map()- Firing rate mapscompute_occupancy_map()- Occupancy mapscompute_spatial_information()- Spatial MIcompute_spatial_decoding_accuracy()- Position decoding
Note
For place cell detection, use
driada.intense(MI-based with shuffle testing)- Matrix Operations
Matrix Utilities - Matrix utilities
nearestPD()- Nearest positive definite matrixis_positive_definite()- Check PD property
Usage Example
from driada.utils import (
rescale, make_beautiful,
compute_rate_map, brownian
)
# Data manipulation - rescales 1D data to [0, 1]
import numpy as np
data = np.random.randn(1000)
normalized_data = rescale(data)
# Visualization
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
make_beautiful(ax)
# Spatial analysis
from driada.utils import compute_occupancy_map, compute_rate_map
# First compute occupancy
positions = np.random.randn(1000, 2) # x,y positions
neural_signal = np.random.randn(1000) # neural activity
occupancy, x_edges, y_edges = compute_occupancy_map(
positions,
bin_size=0.1,
fps=30.0
)
# Then compute rate map
rate_map = compute_rate_map(
neural_signal,
positions,
occupancy,
x_edges,
y_edges,
fps=30.0
)
# Signal generation
random_walk = brownian(x0=0.0, n=1000, dt=0.1)