Skip to main content

A package for vibration signal datasets

Project description

Vibdata

MSSP IJPHM Stars Badge

Vibdata is an open-source repository that provides a common interface for developers to manipulate vibrational data . It uses a Python package to store and manipulate data, aiming to facilitate the development of machine learning techniques in the context of intelligent fault diagnosis for rotating machinery.

Paper Versions

For reproducibility purposes, specific versions of this repository were used in published papers:

  • For the exact code used in Mechanical Systems and Signal Processing paper, see tag mssp-similarity-bias-v1 (GitHub Release)
  • For the exact code used in International Journal of Prognostics and Health Management paper, see tag ijphm-towards-vibnet-v1 (GitHub Release)

Features

  • Provides a unified interface for handling vibrational data
  • Includes five public datasets:
    • CWRU - Case Western Reserve University Bearing Dataset;
    • IMS - Intelligent Maintenance System Bearing Dataset;
    • UOC - University of Connecticut Gearbox Dataset;
    • PU - Padeborn University Bearing Dataset ;
    • MFPT - Machinery Failure Prevention Technology Bearing Dataset;
    • HUST - Huazhong University of Science and Technology Bearing Dataset;
    • UORED - University of Ottawa Rolling-element Bearing Dataset.
  • Divided into two main modules:
    • raw: Structures datasets into classes for easy and practical data manipulation
    • deep: Offers a lazy implementation compatible with deep learning frameworks, especially PyTorch

Installation

Installing Vibdata is quick and easy! Just follow these simple steps:

  1. Ensure you have Python installed on your system*.
  2. Install Vibdata using pip:
pip install git+https://github.com/ivarejao/vibdata.git

That's it! You're now ready to start using Vibdata in your projects.

Note: Vibdata requires Python version 3.10 or later, but is not yet compatible with Python 3.12. Please ensure your Python version is within this range for optimal performance.

Usage

Here's a simple example of how to use Vibdata:

from vibdata.raw import MFPT_raw

root_dir = "MY_DATASET_DIR"  # Where to save and load datasets
D = MFPT_raw(root_dir, download=True)  # Downloads the dataset if not available

print(D.getMetaInfo())  # Prints metainfo of the dataset
print("Number of signals:", len(D))

# Get the temporal signal and the respectively sample rate
signal = D[0]
signal_metainfo = D.getMetaInfo().iloc[0]
print("Length of signal:", len(signal))
print("Signal sample rate:", signal_metainfo["sample_rate"])

Transformations

Vibdata provides common transformations used in machinery signal processing. You can implement new transformations using the Transformer interface, which is compatible with scikit-learn pipelines.

Example of using transformations:

from sklearn.pipeline import make_pipeline
from vibdata.raw import MFPT_raw
from vibdata.deep.signal.transforms import Split, FFT, FilterByValue, asType
from vibdata.deep.DeepDataset import convertDataset

transforms = make_pipeline(
    FilterByValue(on_field='sample_rate', values=48828),
    Split(1024),
    FFT(),
    asType(np.float32, on_field='signal'),
)

root_dir = "MY_DATASET_DIR"
D = MFPT_raw(root_dir, download=True)
D_transformed = convertDataset(dataset=D, transforms=transforms, dir_path=root_dir)
print(D_transformed[3]['signal'].shape)

Authors

  • Igor Mattos dos Santos Varejão
  • Luciano Henrique Silva Peixoto
  • Lucas Gabriel de Oliveira Costa
  • Lucas Henrique Sousa Mello

License

Vibdata is released under the MIT License. This means you are free to use, modify, distribute, and sell this software, provided you include the above copyright notice in all copies or substantial portions of the software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibdata-1.1.4.tar.gz (202.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibdata-1.1.4-py3-none-any.whl (212.5 kB view details)

Uploaded Python 3

File details

Details for the file vibdata-1.1.4.tar.gz.

File metadata

  • Download URL: vibdata-1.1.4.tar.gz
  • Upload date:
  • Size: 202.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for vibdata-1.1.4.tar.gz
Algorithm Hash digest
SHA256 42ca70ee8af37f479e9c4027063c2e88c8bb359886a2e822a4598cc55228c6f3
MD5 55f7933c5c6cdae556b4d69a651c2995
BLAKE2b-256 9141681ae5c2d647a8f5fc51945029ad8c7528d394340869d36234eac17b8b15

See more details on using hashes here.

File details

Details for the file vibdata-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: vibdata-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 212.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for vibdata-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6c6f0182d488e5aef7a40f6ac7797e3cb4a4f24dec92a9885370208be5a1c29e
MD5 9db9737f02a2a062e9c965e8febf0673
BLAKE2b-256 07d4e64b80200ee6e658fea04546ac258a2507c8b0e842134db7d4bc1cd72e48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page