From 00fb285bfcb659f8e4d2fc308b0b09c647c97289 Mon Sep 17 00:00:00 2001 From: "Olivier J.N. Bertrand" <olivier.bertrand@uni-bielefeld.de> Date: Mon, 18 Jun 2018 21:56:19 +0200 Subject: [PATCH] Add tutorials ipyynb --- doc/source/conf.py | 4 +- doc/source/tutorials/01-building-arena.ipynb | 104 ++++++++ .../02-recording-animal-trajectory.ipynb | 225 ++++++++++++++++++ .../03-rendering-along-trajectory.ipynb | 176 ++++++++++++++ setup.py | 19 +- 5 files changed, 521 insertions(+), 7 deletions(-) create mode 100644 doc/source/tutorials/01-building-arena.ipynb create mode 100644 doc/source/tutorials/02-recording-animal-trajectory.ipynb create mode 100644 doc/source/tutorials/03-rendering-along-trajectory.ipynb diff --git a/doc/source/conf.py b/doc/source/conf.py index b5ac6ee..94f146e 100755 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -19,9 +19,7 @@ # import os import sys -sys.path.insert(0, os.path.abspath('../../src/')) -sys.path.insert(0, os.path.abspath('../../src/database/')) - +sys.path.insert(0, os.path.abspath('../../tutorials')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. diff --git a/doc/source/tutorials/01-building-arena.ipynb b/doc/source/tutorials/01-building-arena.ipynb new file mode 100644 index 0000000..ae0ce66 --- /dev/null +++ b/doc/source/tutorials/01-building-arena.ipynb @@ -0,0 +1,104 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Building an arena\n", + "\n", + "## Check list. \n", + "\n", + "1. Design of the arena (for example in blender)\n", + "2. Generating patterns\n", + "3. Setting up cameras\n", + " * Calibrating camera intrinsics\n", + " * Calibrating camera extrinsics\n", + " * Validating camera calibration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Design the arena" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generetting random patterns\n", + "\n", + "### rectangular" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from navipy.arenatools.patterns import rectangular_pattern, gray2red, norm_img\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.image import imsave\n", + "\n", + "length = 1000 # mm\n", + "width = 250 # mm\n", + "beta = 1.4\n", + "pixel_per_mm = 1\n", + "pattern = rectangular_pattern(width, length, beta, pixel_per_mm)\n", + "pattern=norm_img(pattern)\n", + "pattern=gray2red(pattern)\n", + "plt.imshow(pattern)\n", + "imsave('rectangular_pattern.png', pattern)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pattern uses and convertions\n", + "\n", + "The image saved as a png image can be used in blender for example to cover the objects with pattern.\n", + "\n", + "A printer shop or facility would like to have a pdf of the image to print. We, thus, need to convert the png to a pdf. To obtain the correct dimension, we need to specify to the png to pdf converter the density, i.e. the number of pixel per mm (often pixel per inch). In linux, you can use the convert command:\n", + "```bash\n", + "convert pathtoimage.png -density mydensity pathtoimage.pdf\n", + "```\n", + "here, ```pathtoimage``` has to be replaced by the path to your image to be converted, and ```mydensity``` the number of pixel per inch. In our example we used 1 pixel per mm, and thus 25.4 pixel per inch. " + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/doc/source/tutorials/02-recording-animal-trajectory.ipynb b/doc/source/tutorials/02-recording-animal-trajectory.ipynb new file mode 100644 index 0000000..76e812d --- /dev/null +++ b/doc/source/tutorials/02-recording-animal-trajectory.ipynb @@ -0,0 +1,225 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Recording animal trajectory\n", + "\n", + "## Conversion to navipy trajectories\n", + "\n", + "### From Matlab to navipy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dict_keys(['__header__', '__version__', '__globals__', 'trajectory', 'nests', 'cylinders'])\n", + "(7661, 4)\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 tr th {\n", + " text-align: left;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr>\n", + " <th></th>\n", + " <th colspan=\"3\" halign=\"left\">location</th>\n", + " <th colspan=\"3\" halign=\"left\">rzyx</th>\n", + " </tr>\n", + " <tr>\n", + " <th></th>\n", + " <th>x</th>\n", + " <th>y</th>\n", + " <th>z</th>\n", + " <th>alpha_0</th>\n", + " <th>alpha_1</th>\n", + " <th>alpha_2</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>3.056519</td>\n", + " <td>-214.990482</td>\n", + " <td>9.330593</td>\n", + " <td>2.79751</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>4.611665</td>\n", + " <td>-215.020314</td>\n", + " <td>8.424138</td>\n", + " <td>2.80863</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>4.556650</td>\n", + " <td>-214.593236</td>\n", + " <td>9.185016</td>\n", + " <td>2.81407</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4.643091</td>\n", + " <td>-213.829769</td>\n", + " <td>10.542035</td>\n", + " <td>2.82704</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4.647302</td>\n", + " <td>-214.431592</td>\n", + " <td>7.461187</td>\n", + " <td>2.82896</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " location rzyx \n", + " x y z alpha_0 alpha_1 alpha_2\n", + "0 3.056519 -214.990482 9.330593 2.79751 0 0\n", + "1 4.611665 -215.020314 8.424138 2.80863 0 0\n", + "2 4.556650 -214.593236 9.185016 2.81407 0 0\n", + "3 4.643091 -213.829769 10.542035 2.82704 0 0\n", + "4 4.647302 -214.431592 7.461187 2.82896 0 0" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from scipy.io import loadmat\n", + "import numpy as np\n", + "import os\n", + "from navipy.tools.trajectory import Trajectory\n", + "import pkg_resources\n", + "# Use the trafile from the resources\n", + "# You can adapt this code, by changing trajfile \n", + "# with your own trajectory file\n", + "trajfile = pkg_resources.resource_filename(\n", + " 'navipy',\n", + " 'resources/sample_experiment/Lobecke_JEB_2018/Y101_OBFlight_0001.mat')\n", + "csvtrajfile, _ = os.path.splitext(trajfile)\n", + "csvtrajfile = csvtrajfile+'.csv'\n", + "mymat = loadmat(trajfile)\n", + "# matlab files are loaded in a dictionary\n", + "# we need to identify, under which key the trajectory has been saved\n", + "print(mymat.keys())\n", + "key = 'trajectory'\n", + "# Arrays are placed in a tupple. We need to access the level\n", + "# of the array itself.\n", + "mymat = mymat[key][0][0][0]\n", + "# The array should be a numpy array, and therefore as the .shape function\n", + "# to display the array size:\n", + "print(mymat.shape)\n", + "# In this example the array has 7661 rows and 4 columns\n", + "# the columns are: x,y,z, yaw. Therefore pitch and roll were assumed to be constant (here null)\n", + "# We can therefore init a trajectory with the convention for rotation\n", + "# often yaw-pitch-roll (i.e. 'rzyx') and with indeces the number of sampling points we have \n", + "# in the trajectory\n", + "rotconvention = 'rzyx'\n", + "indeces = np.arange(0,mymat.shape[0])\n", + "mytraj = Trajectory(rotconv = rotconvention, indeces=indeces)\n", + "# We now can assign the values\n", + "mytraj.x = mymat[:,0]\n", + "mytraj.y = mymat[:,1]\n", + "mytraj.z = mymat[:,2]\n", + "mytraj.alpha_0 = mymat[:,3]\n", + "mytraj.alpha_1 = 0\n", + "mytraj.alpha_2 = 0\n", + "# We can then save mytraj as csv file for example\n", + "mytraj.to_csv(csvtrajfile)\n", + "mytraj.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### From csv to navipy\n", + "\n", + "Navipy can read csv files with 7 columns and a two line headers\n", + "\n", + "<table>\n", + "<tr>\n", + "<td>location</td>\n", + "<td>location</td>\n", + "<td>location</td>\n", + "<td>rzyx</td>\n", + "<td>rzyx</td>\n", + "<td>rzyx</td>\n", + "</tr>\n", + "<tr>\n", + "<td>x</td>\n", + "<td>y</td>\n", + "<td>z</td>\n", + "<td>alpha_0</td>\n", + "<td>alpha_1</td>\n", + "<td>alpha_2</td>\n", + "</tr>\n", + "</table>\n", + "\n", + "But you may have csv file with a different format.\n", + "\n", + "Here we are going to show, how to convert your csv file format to the one required by navipy" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/doc/source/tutorials/03-rendering-along-trajectory.ipynb b/doc/source/tutorials/03-rendering-along-trajectory.ipynb new file mode 100644 index 0000000..332b5f6 --- /dev/null +++ b/doc/source/tutorials/03-rendering-along-trajectory.ipynb @@ -0,0 +1,176 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Recording along a trajectory\n", + "\n", + "In this tutorial, you will learn to take advantage of navipy and the rendering modules (blender) to render what has been seen by the animal along its trajectory. \n", + "\n", + "To render along a trajectory, you will need to have:\n", + "* the environment (a blender file)\n", + "* the trajectory formatted for navipy (see 02-recording-animal-trajectory)\n", + "\n", + "## Checking the position of the animal within the environment\n", + "\n", + "Rendering a trajectory will take time, and thus we want to check - prior to rendering - the correctness of the animal within the environment. The best way to check, is to overlay the trajectory within the blender world, and by rotating the environment, one could look for: part of the trajectory crossing objects, a wrong height, etc... \n", + "\n", + "To overlay the trajectory within your blender environment you can use the following command:\n", + "\n", + "```bash\n", + "blendoverlaytraj --blenderworld='pathtomyworld.blend' \n", + " --trajectory='pathtomytrajectory.csv'\n", + "```\n", + "\n", + "here ```pathtomyworld.blend``` and ```'pathtomytrajectory.csv'``` are the path to your blender environment and your trajectory respectively.\n", + "\n", + "> The overlayed trajectory will not be rendered, because it is a simple line and its rendering is disable. If you want\n", + "> to render the trajectory, you can bevel the trajectory with a circle for example. It will create a extrude the circle\n", + "> along the trajectory and thus creating a 3D shaped. (Don't forget to enable rendering)\n", + "\n", + "## Rendering the trajectory in a database\n", + "\n", + "Once we know that the trajectory is correctly placed within the environment, it is time to render along the trajectory. We, however, recommand to render only the first view frame of your trajectory first in order to check for the orientation. Indeed we only checked the position of the animal, but not its orientation. Navipy supports all 24 Euler convention, and also quaternion. You need to figure out which one you used. Sadly we did not find until now an easy way to do it... Having said that, if you \"only\" tracked the yaw of the animal, you can safely use the 'rzyx' convention, here alpha_0 of your trajectory correspond to the yaw of the animal and all other angles are set to 0. \n", + "\n", + "```bash\n", + "blendalongtraj --output-file='pathtodatabase.db' \n", + " --blenderworld='pathtomyworld.blend' \n", + " --trajectory='pathtomytrajectory.csv'\n", + "```\n", + "\n", + "here ```pathtomyworld.blend```, ```'pathtomytrajectory.csv'```, ```pathtodatabase.db``` are the path to your blender environment, to your trajectory, and to the file to store the iamges respectively.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Database to list of images\n", + "\n", + "The database store all position-orientation and images along the trajectory in a single file. On the one hand, it is convenient, because you always know at which position and in which orientation an image has been rendered. On the other hand, we can not easily visualise the images. \n", + "\n", + "To convert the database into an image sequence or list, you can run the following script in a ipython notebook (Don't forget to change the variable ```database``` to the path of your trajectory" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Load the necessary modules\n", + "from navipy.database import DataBaseLoad\n", + "from matplotlib.image import imsave\n", + "import numpy as np\n", + "import os\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Load the database, and specify the\n", + "# the output directory to save the list\n", + "# of images\n", + "import pkg_resources\n", + "# Use the trafile from the resources\n", + "# You can adapt this code, by changing trajfile \n", + "# with your own trajectory file\n", + "database = pkg_resources.resource_filename(\n", + " 'navipy',\n", + " 'resources/database.db')\n", + "database_dir, _ = os.path.splitext(database)\n", + "if not os.path.exists(database_dir):\n", + " os.makedirs(database_dir)\n", + "database_template = os.path.join(database_dir, 'frame_{}.png')\n", + "mydb = DataBaseLoad(database)\n", + "\n", + "for rowid in mydb.posorients.index:\n", + " my_scene = mydb.scene(rowid=rowid)\n", + " \n", + " to_plot_im = my_scene[:, :, :3, 0]\n", + " to_plot_im -= to_plot_im.min()\n", + " to_plot_im /= to_plot_im.max()\n", + " to_plot_im = to_plot_im * 255\n", + " \n", + " to_plot_im = to_plot_im.astype(np.uint8)\n", + " \n", + " to_plot_dist = my_scene[:, :, 3, 0]\n", + " \n", + " imsave(database_template.format(rowid), to_plot_im[::-1,...] )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plotting an image from the database" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/bolirev/.virtualenv/toolbox-navigation/lib/python3.6/site-packages/matplotlib-2.1.0-py3.6-linux-x86_64.egg/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + " \"matplotlib is currently using a non-GUI backend, \"\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3AAAADhCAYAAACJOFesAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3X+QJGd52PHv0zs7u7d3Ok73Syfd\nSUgCCZCFAHktZCAYJIyETFmyI6dEEltxcCm2cfCPOLYIruBUhSqbJDh2bOzIRpaICZgQO1A2DsYC\nR3ESBAcGISHJHAJLh2TuJHE63e3tzs70mz+6e2e07N3e7ezsTO99P1VT2/N298z7bu++bz/9vv12\npJSQJEmSJI2+bNgZkCRJkiSdHAM4SZIkSaoJAzhJkiRJqgkDOEmSJEmqCQM4SZIkSaoJAzhJkiRJ\nqgkDOEmSJEmqCQM4SZIkSaoJAzhJkiRJqgkDOEmSJEmqicawMwAQcUaCneW7BETPylQkFW+W3mZh\ngzjO8lLrqv0yIO9Zv3i/xfuc6HOPpze/i5d7P3+p/C+Vr8Vlj7IMvYJv1/s5Gc2J4AUXb6bZHFsm\n/9L6MjeX89DfPM18q9OTerz/5cX1zVKqfXu37f6vPfv/s0pbzuK6IltiXfW50bNtlZb1bNdbthOV\nZ6l6tTf9ePXr8dKW+swAHn4ipbTjOJnQIs2YSJNsHHY2TksXXzYz7CxIQ/E3904NOwunpVmO0kpz\ny510jEYAB2fB+LuANqTyZCcySDmQFctQvI/q5GQSmIeUKIoxCzFe7EsOabzcbp6lT5iqoK0DjJXv\nO+V2WbmuXaaP9ewD3V9bp+ez58rtqvdLBYHtnu+q0o8XePWedKVy3+pEMO85B2uWafPlfmPluhwY\nL/bLgHy+3DYrszPLrj3b+NM/vZ49ezwx0OnlkUeO8qrX/lf2PzILzFL8U2ygqG/aZf1R1QlNiGOQ\nJoqdowNpFmJDuc1EsV+aL//vAmhR/P9NlJ9R/T92KOqPqn5qlT+bdOuqTrm+NxDrzU/5f73w3ZTL\nWc/2VX3RW1dF+b4KWht067lK6m4XZV5TVZ/1Bm9VPqq0qq7Oux+zULdmdOvW+SKtfdPfopM2yUZe\nHlcPOxunpY9//AvDzoI0FNec89JhZ+G0dE+666S2G40ALqqTgGY38EjlyUP0BFBBd12UJyjRpjgB\n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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f8a37bd5eb8>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "my_scene = mydb.scene(rowid=2)\n", + "f, axarr = plt.subplots(1, 2, figsize=(15, 4))\n", + "\n", + "to_plot_im = my_scene[:, :, :3, 0].astype(float)\n", + "to_plot_im -= to_plot_im.min()\n", + "to_plot_im /= to_plot_im.max()\n", + "to_plot_im = to_plot_im * 255\n", + "to_plot_im = to_plot_im.astype(np.uint8)\n", + "to_plot_dist = my_scene[:, :, 3, 0]\n", + "\n", + "ax = axarr[0]\n", + "ax.imshow(to_plot_im)\n", + "ax.invert_yaxis()\n", + "\n", + "ax = axarr[1]\n", + "ax.imshow(to_plot_dist)\n", + "ax.invert_yaxis()\n", + "\n", + "f.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.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/setup.py b/setup.py index 4068f78..44587fd 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,8 @@ (called navipy) """ from setuptools import setup, find_packages +import glob +import os excluded = [] @@ -22,6 +24,18 @@ def create_package_list(base_package): if not exclude_package(pkg)]) +def package_data_files(base_package): + os.chdir(base_package) + filelist = glob.glob(os.path.join('resources', + '*')) + filelist.extend(glob.glob(os.path.join('resources', + '**', '*'), + recursive=True)) + os.chdir('../') + print(filelist) + return filelist + + setup_dict = {'name': 'navipy', 'version': '0.1', 'author': "Olivier J.N. Bertrand", @@ -50,10 +64,7 @@ setup_dict = {'name': 'navipy', 'Pillow', 'tables'], 'package_data': {'navipy': - ['resources/*.db', - 'resources/*.blend', - 'resources/*.csv', - 'resources/configs/*.yaml']}, + package_data_files("navipy")}, 'include_package_data': True, 'entry_points': { 'console_scripts': [ -- GitLab