cadCAD/notebooks/test.ipynb

201 lines
28 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"single_proc: [<SimCAD.configuration.Configuration object at 0x110fb1198>]\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>elapsed_time</th>\n",
" <th>mech_step</th>\n",
" <th>mirror</th>\n",
" <th>run</th>\n",
" <th>signal</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.000000</td>\n",
" <td>1</td>\n",
" <td>0.000000</td>\n",
" <td>0</td>\n",
" <td>2018-01-01 00:00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0.000000</td>\n",
" <td>1</td>\n",
" <td>0.000000</td>\n",
" <td>1</td>\n",
" <td>2018-01-01 00:00:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.0</td>\n",
" <td>1</td>\n",
" <td>0.000000</td>\n",
" <td>1</td>\n",
" <td>0.125333</td>\n",
" <td>2</td>\n",
" <td>2018-01-01 00:00:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.0</td>\n",
" <td>1</td>\n",
" <td>0.125333</td>\n",
" <td>1</td>\n",
" <td>0.248690</td>\n",
" <td>3</td>\n",
" <td>2018-01-01 00:00:03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.0</td>\n",
" <td>1</td>\n",
" <td>0.248690</td>\n",
" <td>1</td>\n",
" <td>0.368125</td>\n",
" <td>4</td>\n",
" <td>2018-01-01 00:00:04</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" elapsed_time mech_step mirror run signal time_step \\\n",
"0 0.0 0 0.000000 1 0.000000 0 \n",
"1 1.0 1 0.000000 1 0.000000 1 \n",
"2 2.0 1 0.000000 1 0.125333 2 \n",
"3 3.0 1 0.125333 1 0.248690 3 \n",
"4 4.0 1 0.248690 1 0.368125 4 \n",
"\n",
" timestamp \n",
"0 2018-01-01 00:00:00 \n",
"1 2018-01-01 00:00:01 \n",
"2 2018-01-01 00:00:02 \n",
"3 2018-01-01 00:00:03 \n",
"4 2018-01-01 00:00:04 "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"from tabulate import tabulate\n",
"\n",
"from SimCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
"from simulations.demo import simple_tracker\n",
"from SimCAD import configs\n",
"\n",
"exec_mode = ExecutionMode()\n",
"\n",
"single_config = [configs[0]]\n",
"single_proc_ctx = ExecutionContext(exec_mode.single_proc)\n",
"run1 = Executor(single_proc_ctx, single_config)\n",
"run1_raw_result = run1.main()[0]\n",
"result = pd.DataFrame(run1_raw_result)\n",
"result.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x111e56da0>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"result.plot('timestamp', ['signal','mirror'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}