Skip to content

A Python script that filters C3D files containing motion capture data and converts them into CSV file format.

Notifications You must be signed in to change notification settings

mmh181/C3D-File-Processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

C3D File Processor

C3D File Processor is a GUI program written in Python that allows users to process C3D files by applying various filters to the data and converting it to CSV format. Users can also select CSV files to plot the data.

Installation

You will need to have Python 3 installed on your computer. You can download Python 3 from the official website at https://www.python.org/downloads/

Once you have Python 3 installed, you will need to install the required libraries. You can do this by running the following command in your terminal or command prompt:

pip install tkinter os matplotlib ezc3d pandas scipy pywt

Usage

To use the C3D File Processor, run the C3DFileProcessor.py script. This will open the GUI.

  1. Click on the “Select C3D Files” button to select the C3D files you want to process.

  2. Click on the “Select Output Directory” button to specify the directory where the output CSV files will be saved.

  3. In the “Filter Options” section, you can choose a filter design and specify its parameters. The available filter designs are:

  • Butterworth: This filter design uses a Butterworth filter which has a maximally flat frequency response in the passband.
  • Chebyshev Type I: This filter design uses a type I Chebyshev filter which has a steeper rolloff than a Butterworth filter but has ripples in the passband.
  • Chebyshev Type II: This filter design uses a type II Chebyshev filter which has a steeper rolloff than a Butterworth filter but has ripples in the stopband.
  • Elliptic (Cauer): This filter design uses an elliptic (Cauer) filter which has the steepest rolloff of all the filters but has ripples in both the passband and stopband.
  • Bessel: This filter design uses a Bessel filter which has a maximally flat group delay (linear phase response) but has a slower rolloff than other filters.
  • Wavelet Transform (Discrete): This filter design uses a discrete wavelet transform to decompose the signal into different frequency components and applies thresholding to remove noise or small coefficients.
  1. Depending on the chosen filter design, you may need to specify additional parameters such as filter order, sampling frequency, filter type (low pass, high pass, or band pass), cutoff frequencies, passband ripple, stopband attenuation, wavelet family and wavelet type, level of decomposition and reconstruction, thresholding method and threshold value.

  2. Click on the “Process Files” button to process the selected C3D files and save the output CSV files to the specified directory.

  3. If you want to plot data from CSV files: Click on the “Select CSV Files to Plot” button. Select one or more CSV files that were generated by this program. A new window will open for each selected file displaying a plot of its data.

About

A Python script that filters C3D files containing motion capture data and converts them into CSV file format.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages