{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mockup Data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To test the `FeatureExtractor` class from the `time_domain_features.py` script with a simple mockup dataset of 5 to 10 data points directly in a Python notebook."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Importing Modules\n",
"\n",
"Use relative imports or modify the path to include the directory where the module is stored. In this example, we’ll simulate the relative import setup."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"import numpy as np\n",
"import pandas as pd\n",
"# Assuming the src directory is one level up from the notebooks directory\n",
"sys.path.append('../src/features')\n",
"\n",
"from time_domain_features import FeatureExtractor"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Create Mockup Data\n",
"\n",
"Create a small dataset with 5 to 10 data points. Simulate importing the `FeatureExtractor` from its relative path in the notebooks directory."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" SampleData \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0.496714 \n",
" \n",
" \n",
" 1 \n",
" -0.138264 \n",
" \n",
" \n",
" 2 \n",
" 0.647689 \n",
" \n",
" \n",
" 3 \n",
" 1.523030 \n",
" \n",
" \n",
" 4 \n",
" -0.234153 \n",
" \n",
" \n",
" 5 \n",
" -0.234137 \n",
" \n",
" \n",
" 6 \n",
" 1.579213 \n",
" \n",
" \n",
" 7 \n",
" 0.767435 \n",
" \n",
" \n",
" 8 \n",
" -0.469474 \n",
" \n",
" \n",
" 9 \n",
" 0.542560 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SampleData\n",
"0 0.496714\n",
"1 -0.138264\n",
"2 0.647689\n",
"3 1.523030\n",
"4 -0.234153\n",
"5 -0.234137\n",
"6 1.579213\n",
"7 0.767435\n",
"8 -0.469474\n",
"9 0.542560"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create mockup data\n",
"np.random.seed(42) # For reproducibility\n",
"mock_data = np.random.randn(10) # Generate 10 random data points\n",
"\n",
"# Convert to DataFrame (simulating processed data input)\n",
"mock_df = pd.DataFrame(mock_data, columns=['SampleData'])\n",
"mock_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Visualize Data Points"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3oe/v5jZLYyiiJlgf3/zHs8am8d16NABDRo0wNJcPwguLi745JNPcPToUSxYsAAbN27Eq6++CgBo1aoV5syZAz8/PyQkJCAhIQH//Oc/AYitkWfMmIFDhw7h999/x/nz5zFy5MgSx+Tl5ZXdM/mJJ57AnTt3sGXLFsTGxuLcuXMYNGhQkffftGkTzp49i02bNmHBggWYP39+dmK/dOlSVK5cGdOnT8+OHwDGjh2LtLQ0bN26FYcPH8Y777wDHx+fEsduLm5gQUREZCPq6fVHZwjV0+tLlgD9+smJjeSLjIzEX3/9lf35hAkTssfh4eF466238Pzzz+OLL76Au7s7/P39YTAYEBISkudxRo8enT2uVq0aPvnkEzRr1ix717jiZGVl4ccff8Rff/2Fv/3tb9iwYQMOHz6M+Ph4hIWFAQC+++47PPbYY9i7dy+aNWtW4OMEBgbis88+g9FoRGRkJHr27IkNGzZgzJgxKFu2LIxGY/astOrixYvo378/6tWrlx2/LXHGl4iIyAayssTp86JOr0+YwK4ClvL2BpKTzfsw98z5qlXmPZ61No9TFCXP1svr169Hx44dUalSJfj6+uKZZ57B7du3kVrMFPP+/fvRu3dvVKlSBb6+vmjXrh0AkVQW5YsvvoCPjw+8vLwwZswYvPTSS/j73/+O48ePIywsLDvpBYCoqCgEBATg+PHjhT7eY489BqPRmP15xYoViy25GDduHN566y20bt0aU6ZMyfNGwBaY+BIREdnAtm35F1LlpijApUvidlRyBgNQpox5H126AJUri/sU9lhhYeJ25jxeYY9TUsePH0dERAQA4Pz58+jVqxfq16+PX3/9Ffv378fnn38OQGzZXJiUlBR07doVfn5++OGHH7B371789ttvxd4PAIYNG4a4uDjEx8cjJSUFH374Yal2R3Nzc8vzucFgKLZzxXPPPYdz587hmWeeweHDh9G0aVN8+umnFsdQHCa+RERENvC/Ekar3Y4sZzQCH38sxo8mrernc+aI29nLxo0bcfjwYfTv3x+AmLU1mUz44IMP8Pjjj6NWrVq4evVqnvu4u7sj65FTBCdOnMDt27fx9ttvIzo6GpGRkWYtbAMAf39/1KhRA5UqVcqT8NapUweXLl3CpUuXsq87duwY7t27h6ioKEtfcoHxA0BYWBief/55LF26FC+//DK+/vpr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mZnAzp15v6Ymvn362D0syoWJLxEREZGVFFTnm5iYU/7A+l65mPgSERERWUlBdb7r1hmQmQnUrg3UrCknLhKY+BIRERFZiZr47tkDpKaK8YoVIt1imYN8THyJiIiIrKR6daBSJSAjA9i924CsLAPWrBF7E7PMQT4mvkRERERWYjDkzPpu3WrAiRNlcfeuAWXLAi1byo2NmPgSERERWVXuxHfPnhAAQI8egKurxKAIAMBDQERERGRFauL7558GeHlVBgD06iUxIMrGxJeIiIjIio4cAVxcgIwMAzIyPAEAEycCbm5Av36Sg9M5ljoQERERWcnSpcBTTwEmU97rExKAAQPE10keJr5EREREVpCVBYwfDyhK/q+p102YIG5HcjDxJSIiIrKCbduAy5cL/7qiAJcuiduRHEx8iYiIiKwgIcG6tyPrY+JLREREZAUVK1r3dmR9mkl879y5g2HDhsHPzw8BAQF49tlnkZycXOR9YmJiYDAY8nw8//zzdoqYiIiI9CQ6GqhcWWxiURCDAQgLE7cjOTST+A4bNgxHjx5FbGwsVqxYga1bt+Jvf/tbsfcbM2YMEhISsj/effddO0RLREREemM0Ah9/LMaPJr/q53PmiNuRHJpIfI8fP441a9bgm2++QYsWLdCmTRt8+umn+Omnn3D16tUi7+vt7Y2QkJDsDz8/PztFTURERHrTrx+wZAlQqVLe6ytXFtezj69cmtjAYteuXQgICEDTpk2zr+vUqRNcXFywe/du9O3bt9D7/vDDD/j+++8REhKC3r1749///je8vb0LvX1aWhrS0tKyP09KSgIAZGRkICMjwwqvpmjqc9jjucgx8JjrD4+5PvG460fv3mKL4s2bsxAbewSdO9dFTIwRRiPAw28b5v5eaSLxvXbtGoKDg/Nc5+rqirJly+LatWuF3m/o0KGoWrUqQkND8ddff+Ff//oXTp48iaVFdI+ePXs2pk2blu/6devWFZkwW1tsbKzdnoscA4+5/vCY6xOPu760bQukpV3B2rWyI3FuqampZt1OauL72muv4Z133inyNsePH7f48XPXANerVw8VK1ZEx44dcfbsWVSvXr3A+0yaNAkTJ07M/jwpKQlhYWHo0qWLXcokMjIyEBsbi86dO8PNzc3mz0fy8ZjrD4+5PvG46w+Puf2oZ+iLIzXxffnllzFy5Mgib1OtWjWE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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Plotting the data points\n",
"plt.figure(figsize=(8, 6))\n",
"plt.plot(mock_df.index, mock_df['SampleData'], marker='o', color='blue', label='Data Points')\n",
"plt.title('Scatter Plot of Data Points')\n",
"plt.xlabel('Time')\n",
"plt.ylabel('SampleData')\n",
"plt.legend()\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Print Time-domain Features"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Mean \n",
" Max \n",
" Peak (Pm) \n",
" Peak-to-Peak (Pk) \n",
" RMS \n",
" Variance \n",
" Standard Deviation \n",
" Power \n",
" Crest Factor \n",
" Form Factor \n",
" Pulse Indicator \n",
" Margin \n",
" Kurtosis \n",
" Skewness \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0.448061 \n",
" 1.579213 \n",
" 1.579213 \n",
" 2.048687 \n",
" 0.819284 \n",
" 0.470467 \n",
" 0.723008 \n",
" 0.671226 \n",
" 1.927553 \n",
" 1.828509 \n",
" 3.524548 \n",
" 2.067638 \n",
" 1.917716 \n",
" 0.412307 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Mean Max Peak (Pm) Peak-to-Peak (Pk) RMS Variance \\\n",
"0 0.448061 1.579213 1.579213 2.048687 0.819284 0.470467 \n",
"\n",
" Standard Deviation Power Crest Factor Form Factor Pulse Indicator \\\n",
"0 0.723008 0.671226 1.927553 1.828509 3.524548 \n",
"\n",
" Margin Kurtosis Skewness \n",
"0 2.067638 1.917716 0.412307 "
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"# Extract features using our class\n",
"extracted = FeatureExtractor(mock_df['SampleData'])\n",
"\n",
"# Format with pandas DataFramw\n",
"features = pd.DataFrame(extracted.features, index=[0])\n",
"features\n"
]
}
],
"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.10.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}