A package for extracting facial expressions from SLEAP analyses
Project description
SLEAPyFaces
This is a package for extracting facial expressions from SLEAP analyses.
To Do:
Things that it does:
- iterate (repeatedly) over each mouse and each week (each mouse and each experiment)
- get project files (experimental) structure
- initialize an iterator over project structure
- get daq data from CSV file
- read CSV files
- save each column from CSV file
- Note: CSV columns are of differing lengths
- get “beh_metadata” from json metadata
- read JSON file
- grab the values for key “beh_metadata”
- get the values of sub key “trialArray”
- get the values of subkey “ITIArray”
- get video metadata from *.mp4 file (with ffmpeg.probe)
- read in the *.mp4 metadata
- select the correct video stream
- get the average frames per second
- get SLEAP data from *.h5 file
- open h5 file
- get transposed values of key “tracks” (tracking_locations)
- fill missing locations (linear regress. fit)
- get transposed values of key “edge_inds”
- get values of key “edge_names”
- get transposed values of “instance_scores”
- get transposed values of “point_scores”
- get values of “track_occupancy”
- get transposed values of “tracking_scores”
- get decoded values of “node_names” (make sure theres no encoding issues)
- deconstruct SLEAP points into x and y points (across all frames)
- iterate over each node
- breakup the 4D array “tracks” into 1D array for x and y values respectively
- Note: [frame, node, x/y, color] for greyscale the color dimension is 1D (i.e. essentially the 4D array is 3D because the color dimension is constant)
- iterate over each frame
- assign mouse, week, frame #, and timestamp (using average frames per second)
- Split data into individual trials by trial type using the Speaker and LED data from the CSV daq data
- initialize trial iterators for the consistently documented points from the daq CSV
- iterate over each trial in “trialArray”
- get the index of 10sec before and 13sec after trial start
- for each feature, grab the start and end indices
- store data from each trial in a pd.dataframe
- concatenate all pd.dataframes together for each video
- concatenate the pd.dataframes from each video together for each mouse (base expr split)
- Prepare the data
- (opt.) mean center across all points for a single trial
- mean center across all trials for a single experiment
- mean center across all experiments for a single mouse
- mean center across all mice
- (opt.) z-score mean centered data
- Analyze the data
- Perform 2D and 3D PCAs on all data (raw, centered, by trial, by week, by mouse, etc…)
- apply gaussian kernel to PCA outputs
- Save the data
- write everything to HDF5 file(s)
Table of Contents
Installation
pip install sleapyfaces
License
sleapyfaces
is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sleapyfaces-0.0.1.tar.gz
(14.2 kB
view details)
Built Distribution
File details
Details for the file sleapyfaces-0.0.1.tar.gz
.
File metadata
- Download URL: sleapyfaces-0.0.1.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c6ea6f3ce6505c24e23268fe6ef7d880bc103798e0aee97627e54fd294aa49c |
|
MD5 | fb0cfdf95af6b735854d3a6e631c864f |
|
BLAKE2b-256 | 165b8b398038bb72f7f75ecc70954f3c7557c956d8699e5bfcbc6d6cc05d5e98 |
File details
Details for the file sleapyfaces-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: sleapyfaces-0.0.1-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f32ca27d998768e5ef52ace9df1bd00bc70e69616ad7dd943c5537278fbbebcc |
|
MD5 | 74b199429f279a01be0b82b7fbfca2d1 |
|
BLAKE2b-256 | 23bf4758962234ce7e681710abde33c9a261ab988d9fb8373072411bae2e0be2 |