Skip to content

Tools

Tools

Building software tools is a key research theme at the Affective Data Science Lab (ADSL). The increasing volume of data generated by modern experimental methods, combined with the availability of open datasets, has created a growing demand for tools that can extract meaningful, data-driven insights. Our goal is to develop tools that work “out of the box,” allowing researchers from any discipline to seamlessly integrate them into their workflow. To achieve this, our tools are designed to be easy to install, simple to use, and supported by clear, comprehensive documentation.

All of our tools are freely available for non-commercial use and are released under a variety of open-source licenses.

EMGFlow: A Python package for pre-processing and feature extraction of electromyographic signals

Description

EMGFlow is a Python package for researchers and clinicians to engage in signal processing. EMGFlow provides a broad range of functions to meet your EMG signal processing needs, without prescribing a specific workflow. EMGFlow follows open standards of data processing, such as CSV files and Pandas data frames to allow easy integration. With functions to extract 32 different features according to your needs, EMGFlow provides a uniquely deep feature extraction.

EMGFlow signal processing windowEMGFlow

Access

Citation

Licensing

PyFAME: A Python package for facial masking, occlusion, colorization, and analysis

Description

The Facial Analysis and Manipulation Environment (PyFAME) is a Python package designed for manipulating and analyzing faces in videos and images. PyFAME supports dynamic region occlusion, skin colorization, and feature masking, all of which can be layered to create various facial manipulations. These layers can be applied to predefined regions such as the eyes, nose, cheeks, mouth, or hemi-face along the sagittal and transverse axes, or to custom regions selected from 468 facial landmarks. Available manipulations include colorization using industry-standard color spaces (CIELAB, HSV, BGR), occlusion, and masking, allowing for selective isolation of facial regions from the background.

Facial modifications can be smoothly transitioned on and off using a range of timing functions, offering precise control over the manipulation layers. For instance, transitions like fades can follow different patterns (e.g., linear, sigmoid, Gaussian).

PyFAME can also analyse facial skin colour over the video timecourse, reporting timeseries values in standard colour spaces (CIELAB, HSV, BGR).

PyFAME Facial manipulation typesPyFAME

Access

Citation

Licensing

PyOcclussion: A python package for adding occlusionary noise to videos

Description

PyOcclusion is a Python package designed to add occlusion-type noise to video files. It offers a wide range of parameters that allow users to adjust factors such as occlusion density, occlusion shape, and coverage percentage. The process is fully automated and well suited to processing of large datasets and individual videos.

PyOcclusion visual noise overlaysPyOcclusion

Access

Citation

Licensing

Audiomorph: A python package for adding auditory noise

Description

Audiomorph is a Python package designed to introduce noise into sound files. It provides granular control, allowing users to specify the desired signal-to-noise ratio or overall noise percentage. The package supports two types of noise: white noise and rainfall.

Audiomorph spectogram-amplitude visualisationAudiomorph

Access

Citation

Licensing