Skip to content
/ ts2img Public

Notebook script that converts time-series data to images using pyts and nilmtk.

Notifications You must be signed in to change notification settings

jenkoj/ts2img

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Time Series to Image Converter for Energy Data

Notebook uses pyts to transform time series image data to:

  • Gramian angular summation fields
  • Gramian angular difference fields
  • recurrence plots

For easier data handling NILMTK was used.

The converter offers a variety of parameters to set such as:

  • input time series window size
  • output image size
  • resample period
  • stacking n images as a video
  • adding brightness to the GAF images
  • choosing between Gramian angular fields or recurrence plots
  • using only a selected building
  • manually selecting the appliances
  • saving the source time series

environment

Works with all datasets supported by NILMTK. Tested on:

  • REFIT
  • UKDALE
  • iAWE
  • REDD
  • ECO

Example Output

Examples below are Gramian angle summation filed images transformed using UKDALE dataset over a 60-minute window.

Computer monitor and washing machine examples:

Examples for selected appliances:

Install Instructions

❗️ If possible, install on a Linux machine.

  1. Install Anaconda by following instructions here.

  2. Clone this repository and change directory to conda:

        git clone https://github.com/jenkoj/ts2img && cd ts2img/conda
  3. Create a new environment by running:

        conda env create --name ts2img --file=ts2img.yml 
  4. Activate the newly created environment:

        conda activate ts2img
  5. Get hold of a dataset converted to NILMTK format or convert your dataset.

    • Check if your dataset has supported converter link, if not you can write your own dataset converter by following instructions here.

    • Convert your dataset by following notebook here.

  6. Place converted dataset in datasets directory.

  7. Set parameters.

  8. Finally, run:

        ipython -c "%run converter.ipynb"

When adjusting the parameters start with iAWE. Since it is small, it is easy to handle.