{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "%matplotlib inline"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n# Filters examples\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "import pandas as pd\nimport toto\nfrom toto.filters import despike_phasespace3d,lanczos_filter,bandpass_filter\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n# Create a panda timeseries of elevation\n\nn = 86400\nsignal = np.random.normal(0, 0.5, n) \\\n          + np.sin(np.linspace(0, 5*np.pi, n))**2\n\nsignal[60000:60005]=5\nsignal[30000:30005]=4 \n\ntimestamp= pd.date_range(\"2018-01-01\", periods=n, freq=\"60s\")\ndf = pd.DataFrame({'time':timestamp,'signal':signal}).set_index('time')\n\n## Apply a despike_phasespace3d\ndf['phasespace3d']=despike_phasespace3d.despike_phasespace3d(\n\tdf['signal'].copy())\n\n## Interpolate the gap\ndf['phasespace3d']=df['phasespace3d'].interpolate()\n\n## Apply a lanczos_filter\ndf['lanczos_filter']=lanczos_filter.lanczos_filter(\n\tdf['phasespace3d'].copy(),\\\n\targs={'window':30,\n\t      'Type':'lanczos lowpas 1st order'})\n\n## Apply a bandpass filter\ndf['bandpass']=bandpass_filter.bandpass_filter(\n\tdf['phasespace3d'].copy(),\\\n\targs={'lower cut-off (s)':3600*30,\n\t      'upper cut-off (s)':24*3600*30})\n\n# Plot the results\nfig, ax = plt.subplots(1)\nax.plot(df.index,df['signal'],label='raw')\nax.plot(df.index,df['phasespace3d'],label='phasespace3d')\nax.plot(df.index,df['lanczos_filter'],label='lanczos_filter')\nax.plot(df.index,df['bandpass'],label='bandpass')\nax.legend()\n#ax.set_xlim(df.index[1000],df.index[2000])\nfig.autofmt_xdate()\nplt.show()"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.8.10"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}