{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using ClickPoints for Visualizing Simulation Results" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. figure:: ../images/example_simulation.png\n", " :alt: An example simulation\n", "\n", " Left: Tracks of the random walk simulation in ClickPoints. Right: Tracks plotted all starting from (0, 0).\n", "\n", "Here we show how ClickPoints can be apart from viewing and analyzing images also be used to store simulation results in a ClickPoints Project file. This has the advantages that the simulation can later be viewed in ClickPoints, with all the features of playback, zooming and panning. Also the coordinates of the objects used in the simulation can later be accessed through the ClickPoints database file.\n", "\n", "This simple example simulates the movement of 10 object which follow a random walk.\n", "\n", "First some imports:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import clickpoints" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Then we define the basic parameters for the simulation." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Simulation parameters\n", "N = 10\n", "size = 100\n", "size = 100\n", "frame_count = 100" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We create a new database. The attribute \"w\" stands for write, which ensures that we create a new database." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "path sim.cdb\n" ] } ], "source": [ "# create new database\n", "db = clickpoints.DataFile(\"sim.cdb\", \"w\")" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We define a new marker type with the name \"point\" the color red (\"#FF0000\") and the type TYPE_Track. Then we create N track instances for it." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Create a new marker type\n", "type_point = db.setMarkerType(\"point\", \"#FF0000\", mode=db.TYPE_Track)\n", "\n", "# Create track instances\n", "tracks = [db.setTrack(type_point) for i in range(N)]" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We create some random initial positions for the tracks. We now iterate over the amout if frames we want to simulate. For each iteration we add a new image to the database using :py:meth:`~.DataFile.setImage`, then we add some random movement to the positions and store the new positions for the tracks using :py:meth:`~.DataFile.setMarkers`. Here we have to provide the current image and the list of :py:class:`Track` objects." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Fix the seed\n", "np.random.seed(0)\n", "\n", "# Create initial positions\n", "points = np.random.rand(N, 2)*size\n", "\n", "# iterate\n", "for i in range(frame_count):\n", " # Create a new frame\n", " image = db.setImage(\"frame_%03d\" % i, width=size, height=size)\n", "\n", " # Move the positions\n", " points += np.random.rand(N, 2)-0.5\n", "\n", " # Save the new positions\n", " db.setMarkers(image=image, x=points[:, 0], y=points[:, 1], track=tracks)" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "After the simulation, we want to access the tracks again to plot them. From every track we query the points and plot them." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the results\n", "for track in tracks:\n", " plt.plot(track.points[:, 0], track.points[:, 1], '-')\n", "# adjust the plot ranges\n", "plt.xlim(0, size)\n", "plt.ylim(size, 0)\n", "# and adjust the scaling to equal\n", "plt.axis(\"equal\")\n", "plt.show()" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We now plot the tracks in a different fashion, as a \"rose\" plot, where all the tracks start at the same position." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the results\n", "for track in tracks:\n", " # get the points\n", " points = track.points\n", " # substract the inital point\n", " points = points-points[0, :]\n", " # plot the track from the new origin\n", " plt.plot(points[:, 0], points[:, 1], '-')\n", "# and adjust the scaling to equal\n", "plt.axis(\"equal\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Raw Cell Format", "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.0" } }, "nbformat": 4, "nbformat_minor": 0 }