{
  "id": 55725,
  "title": "Any good 3d visualisation engine?",
  "url": "/competitions/trackml-particle-identification/discussion/55725",
  "author_name": "",
  "post_date": "2018-05-01T04:14:23.934511300Z",
  "votes": 7,
  "comment_count": 16,
  "views": 0,
  "content": "<p>Is there any good 3d visulisation engine that can support large plotting no of 3d points? I am looking for one that is easy to use and support python 3.6. Thanks!</p>",
  "messages": [
    {
      "id": "321336",
      "postDate": "05/01/2018 04:14:23",
      "content": "<p>Is there any good 3d visulisation engine that can support large plotting no of 3d points? I am looking for one that is easy to use and support python 3.6. Thanks!</p>",
      "rawMarkdown": "Is there any good 3d visulisation engine that can support large plotting no of 3d points? I am looking for one that is easy to use and support python 3.6. Thanks!",
      "votes": null
    },
    {
      "id": "321350",
      "postDate": "05/01/2018 04:40:24",
      "content": "<p>We have a web-based displayer deployed:</p>\n\n<p><a href=\"https://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html\">https://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html</a></p>\n\n<p>To load event data per event, click on ‘Controls’ top right, then ‘Load Event Files’.\nMultiple select hits, particles and truth for the event in question:</p>\n\n<p>eventX-hits.csv\neventX-particles.csv\neventX-truth.csv</p>",
      "rawMarkdown": "We have a web-based displayer deployed:\n\nhttps://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html\n\nTo load event data per event, click on ‘Controls’ top right, then ‘Load Event Files’.\nMultiple select hits, particles and truth for the event in question:\n\neventX-hits.csv\neventX-particles.csv\neventX-truth.csv",
      "votes": null
    },
    {
      "id": "321630",
      "postDate": "05/01/2018 17:24:14",
      "content": "<p>Hi, </p>\n\n<p>I would give ipyvolume a serious look. For large number of points, maybe it is better to do volume density than a 3-D scatter plot. I think this package supports plotting the data with 2-D \"faces\" instead of 3-D glyphs, so you can also try displaying a large number of points with scatter..</p>",
      "rawMarkdown": "Hi, \n\nI would give ipyvolume a serious look. For large number of points, maybe it is better to do volume density than a 3-D scatter plot. I think this package supports plotting the data with 2-D \"faces\" instead of 3-D glyphs, so you can also try displaying a large number of points with scatter..",
      "votes": null
    },
    {
      "id": "321644",
      "postDate": "05/01/2018 17:36:27",
      "content": "<p>I played with plotly <a href=\"https://www.kaggle.com/pliptor/name-only-study-with-interactive-3d-plot\"><strong>here</strong></a>. It is definitely easy but I haven't tested how it scales for a large number of points. It supports interactive rotation, toggling of points etc.</p>",
      "rawMarkdown": "I played with plotly [**here**](https://www.kaggle.com/pliptor/name-only-study-with-interactive-3d-plot). It is definitely easy but I haven't tested how it scales for a large number of points. It supports interactive rotation, toggling of points etc.",
      "votes": null
    },
    {
      "id": "321676",
      "postDate": "05/01/2018 18:18:14",
      "content": "<p>As the author of <a href=\"https://github.com/maartenbreddels/ipyvolume/\">ipyvolume</a> I can honoustly say that ipyvolume is the best ;)\nIt can do a few million points on my laptop, and it is quite simply to use in the Jupyter notebook:</p>\n\n<pre><code>import ipyvolume as ipv\nimport numpy as np\nipv.figure()\nx, y, z = np.random.random((3, 10000))\ns = ipv.scatter(x, y, z)\nipv.show()\n</code></pre>\n\n<p>This will give you a live widget, so you can change properties afterwards, e.g.:</p>\n\n<pre><code>s.size = 1\ns.size_selected = 4\ns.color = 'green'\ns.color_selected = 'red'\ns.selected = np.random.randint(0, 1000, 100)\ns.geo = 'circle_2d'\n</code></pre>\n\n<p>They can also be integrated into webpages, as in the <a href=\"http://ipyvolume.readthedocs.io/en/latest/#built-on-ipywidgets\">documentation</a>\nHope you enjoy using it!</p>",
      "rawMarkdown": "As the author of [ipyvolume][1] I can honoustly say that ipyvolume is the best ;)\nIt can do a few million points on my laptop, and it is quite simply to use in the Jupyter notebook:\n\n\timport ipyvolume as ipv\n\timport numpy as np\n\tipv.figure()\n\tx, y, z = np.random.random((3, 10000))\n\ts = ipv.scatter(x, y, z)\n\tipv.show()\n\nThis will give you a live widget, so you can change properties afterwards, e.g.:\n\n\ts.size = 1\n\ts.size_selected = 4\n\ts.color = 'green'\n\ts.color_selected = 'red'\n\ts.selected = np.random.randint(0, 1000, 100)\n\ts.geo = 'circle_2d'\n\nThey can also be integrated into webpages, as in the [documentation][2]\nHope you enjoy using it!\n\n\n  [1]: https://github.com/maartenbreddels/ipyvolume/\n  [2]: http://ipyvolume.readthedocs.io/en/latest/#built-on-ipywidgets",
      "votes": null
    },
    {
      "id": "321992",
      "postDate": "05/02/2018 09:19:44",
      "content": "<p>I created a simple script that is based on glumpy (<a href=\"http://glumpy.readthedocs.io/\">http://glumpy.readthedocs.io</a>) which shows hits and a random sample of  tracks and allows to rotate and zoom with the mouse (but not move yet), I'm not entirely happy with it yet: <a href=\"https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb\">https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/321992/9339/Screen%20Shot%202018-05-02%20at%2013.08.14.png\" alt=\"Simple OpenGL visualization\"></p>",
      "rawMarkdown": "I created a simple script that is based on glumpy (http://glumpy.readthedocs.io) which shows hits and a random sample of  tracks and allows to rotate and zoom with the mouse (but not move yet), I'm not entirely happy with it yet: https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb\n\n![Simple OpenGL visualization][1]\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/321992/9339/Screen%20Shot%202018-05-02%20at%2013.08.14.png",
      "votes": null
    },
    {
      "id": "322183",
      "postDate": "05/02/2018 14:18:54",
      "content": "<p>Is it possible to highlight a specific particle path in this web based display utility</p>",
      "rawMarkdown": "Is it possible to highlight a specific particle path in this web based display utility",
      "votes": null
    },
    {
      "id": "322230",
      "postDate": "05/02/2018 15:30:36",
      "content": "<p>I will check with the author of the web display if we can implement that. </p>",
      "rawMarkdown": "I will check with the author of the web display if we can implement that.",
      "votes": null
    },
    {
      "id": "322326",
      "postDate": "05/02/2018 19:03:34",
      "content": "<p>Inspired by the excellent example of Konstantin, I tried to make a similar example using ipyvolume and ipywidgets.\nThe interactive result can be <a href=\"https://nbviewer.jupyter.org/urls/gist.githubusercontent.com/maartenbreddels/04575b217aaf527d4417173f397253c7/raw/926a0e57403c0c65eb55bc52d5c7401dc1019fdf/trackml-ipyvolume.ipynb\">seen on Jupyter's nbviewer</a>\nI've also made a screencapure <a href=\"https://twitter.com/maartenbreddels/status/991753065064730624\">on twitter</a> and here: \n<img src=\"http://www.astro.rug.nl/~breddels/ipyvolume/trackml-ipyvolume-demo.gif\" alt=\"Screencapture\"></p>\n\n<p>This uses ipyvolume 0.4.3, <a href=\"https://github.com/maartenbreddels/ipyvolume/\">master on github</a> has features such as zoom/pan and selecting (lasso etc).</p>",
      "rawMarkdown": "Inspired by the excellent example of Konstantin, I tried to make a similar example using ipyvolume and ipywidgets.\nThe interactive result can be [seen on Jupyter's nbviewer](https://nbviewer.jupyter.org/urls/gist.githubusercontent.com/maartenbreddels/04575b217aaf527d4417173f397253c7/raw/926a0e57403c0c65eb55bc52d5c7401dc1019fdf/trackml-ipyvolume.ipynb)\nI've also made a screencapure [on twitter][1] and here: \n![Screencapture][2]\n\nThis uses ipyvolume 0.4.3, [master on github][3] has features such as zoom/pan and selecting (lasso etc).\n\n\n  [1]: https://twitter.com/maartenbreddels/status/991753065064730624\n  [2]: http://www.astro.rug.nl/~breddels/ipyvolume/trackml-ipyvolume-demo.gif\n  [3]: https://github.com/maartenbreddels/ipyvolume/",
      "votes": null
    },
    {
      "id": "323145",
      "postDate": "05/04/2018 13:49:10",
      "content": "<p>As long as 'select' is clicked in the menu, you can click on tracks and get some information below (it's a good idea to disable geometry to make this easier). You can also edit the input files, specifically truth.csv to remove anything except for the track you're interested in. I'll make improvements to this soon though, so you can select a track by its id via a text interface.</p>",
      "rawMarkdown": "As long as 'select' is clicked in the menu, you can click on tracks and get some information below (it's a good idea to disable geometry to make this easier). You can also edit the input files, specifically truth.csv to remove anything except for the track you're interested in. I'll make improvements to this soon though, so you can select a track by its id via a text interface.",
      "votes": null
    },
    {
      "id": "330000",
      "postDate": "05/17/2018 19:47:05",
      "content": "<p>I've created one more viewer which is capable of particle filtering. Deployed at <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">https://grechka.family/dmitry/sandbox/trackML_event_viewer/</a></p>\n\n<p>The code is at <a href=\"https://github.com/dgrechka/TrackML_EventViewer\">https://github.com/dgrechka/TrackML_EventViewer</a></p>\n\n<p>I plan to add drawing of particle trajectory calculated from initial parameters (e.g. magnetic field vector, initial particle position, initial particle velocity, particle charge). This will help to visually cross check the single particle parameters fitting.</p>",
      "rawMarkdown": "I've created one more viewer which is capable of particle filtering. Deployed at https://grechka.family/dmitry/sandbox/trackML_event_viewer/\n\nThe code is at https://github.com/dgrechka/TrackML_EventViewer\n\nI plan to add drawing of particle trajectory calculated from initial parameters (e.g. magnetic field vector, initial particle position, initial particle velocity, particle charge). This will help to visually cross check the single particle parameters fitting.",
      "votes": null
    },
    {
      "id": "330244",
      "postDate": "05/18/2018 11:15:13",
      "content": "<p>@Dmitry\nNice work, fast and does not lag!\nCan I suggest that you add drawing track trajectories (not just the dots when particle idx is used), use particle_id instead of idx and maybe select particular volumes/layers to display corresponding hits ?</p>",
      "rawMarkdown": "Dmitry\nNice work, fast and does not lag!\nCan I suggest that you add drawing track trajectories (not just the dots when particle idx is used), use particle_id instead of idx and maybe select particular volumes/layers to display corresponding hits ?",
      "votes": null
    },
    {
      "id": "330431",
      "postDate": "05/18/2018 19:48:05",
      "content": "<p>@Dmitry Great work!</p>",
      "rawMarkdown": "Dmitry Great work!",
      "votes": null
    },
    {
      "id": "330812",
      "postDate": "05/19/2018 19:11:39",
      "content": "<p>@Riad , I've added filtering by particle_id, <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">redeployed the tool</a>.</p>",
      "rawMarkdown": "Riad , I've added filtering by particle_id, [redeployed the tool](https://grechka.family/dmitry/sandbox/trackML_event_viewer/).",
      "votes": null
    },
    {
      "id": "330996",
      "postDate": "05/20/2018 06:08:36",
      "content": "<p><a href=\"http://docs.enthought.com/mayavi/mayavi/\">http://docs.enthought.com/mayavi/mayavi/</a> is another 3d engine</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/330996/9461/snapshot5.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "http://docs.enthought.com/mayavi/mayavi/ is another 3d engine\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/330996/9461/snapshot5.png",
      "votes": null
    },
    {
      "id": "335535",
      "postDate": "05/29/2018 22:04:58",
      "content": "<p>@Riad, now I've added drawing of a helix trajectory that is calculated from vertex and initial momentum. The <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">tool is redeployed</a>. To see the particle trajectory select the particular particle by filtering ether by particle_id or by particle index, then check \"show helix\" checkbox.</p>",
      "rawMarkdown": "Riad, now I've added drawing of a helix trajectory that is calculated from vertex and initial momentum. The [tool is redeployed][1]. To see the particle trajectory select the particular particle by filtering ether by particle_id or by particle index, then check \"show helix\" checkbox.\n\n\n  [1]: https://grechka.family/dmitry/sandbox/trackML_event_viewer/",
      "votes": null
    },
    {
      "id": "361857",
      "postDate": "07/25/2018 07:50:51",
      "content": "<p>We have developed a TrackML visualization framework. You can find more info in the designated topic <a href=\"https://www.kaggle.com/c/trackml-particle-identification/discussion/61931\">here</a>.</p>\n\n<p><img src=\"http://lgm.fri.uni-lj.si/wp-content/uploads/2018/07/TrackML-Vis.png\" alt=\"TrackML Visualizer\"></p>",
      "rawMarkdown": "We have developed a TrackML visualization framework. You can find more info in the designated topic [here][1].\n\n![TrackML Visualizer][2]\n\n\n  [1]: https://www.kaggle.com/c/trackml-particle-identification/discussion/61931\n  [2]: http://lgm.fri.uni-lj.si/wp-content/uploads/2018/07/TrackML-Vis.png",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 321350,
      "author_name": "asalzburger",
      "author_url": "",
      "post_date": "05/01/2018 04:40:24",
      "content": "<p>We have a web-based displayer deployed:</p>\n\n<p><a href=\"https://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html\">https://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html</a></p>\n\n<p>To load event data per event, click on ‘Controls’ top right, then ‘Load Event Files’.\nMultiple select hits, particles and truth for the event in question:</p>\n\n<p>eventX-hits.csv\neventX-particles.csv\neventX-truth.csv</p>",
      "votes": null,
      "replies": [
        {
          "id": 322183,
          "author_name": "azacharia",
          "author_url": "",
          "post_date": "05/02/2018 14:18:54",
          "content": "<p>Is it possible to highlight a specific particle path in this web based display utility</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 322230,
          "author_name": "asalzburger",
          "author_url": "",
          "post_date": "05/02/2018 15:30:36",
          "content": "<p>I will check with the author of the web display if we can implement that. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 323145,
          "author_name": "edwardmoyse",
          "author_url": "",
          "post_date": "05/04/2018 13:49:10",
          "content": "<p>As long as 'select' is clicked in the menu, you can click on tracks and get some information below (it's a good idea to disable geometry to make this easier). You can also edit the input files, specifically truth.csv to remove anything except for the track you're interested in. I'll make improvements to this soon though, so you can select a track by its id via a text interface.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 330000,
          "author_name": "dgrechka",
          "author_url": "",
          "post_date": "05/17/2018 19:47:05",
          "content": "<p>I've created one more viewer which is capable of particle filtering. Deployed at <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">https://grechka.family/dmitry/sandbox/trackML_event_viewer/</a></p>\n\n<p>The code is at <a href=\"https://github.com/dgrechka/TrackML_EventViewer\">https://github.com/dgrechka/TrackML_EventViewer</a></p>\n\n<p>I plan to add drawing of particle trajectory calculated from initial parameters (e.g. magnetic field vector, initial particle position, initial particle velocity, particle charge). This will help to visually cross check the single particle parameters fitting.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 330244,
          "author_name": "riadsouissi",
          "author_url": "",
          "post_date": "05/18/2018 11:15:13",
          "content": "<p>@Dmitry\nNice work, fast and does not lag!\nCan I suggest that you add drawing track trajectories (not just the dots when particle idx is used), use particle_id instead of idx and maybe select particular volumes/layers to display corresponding hits ?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 330431,
          "author_name": "dskswu",
          "author_url": "",
          "post_date": "05/18/2018 19:48:05",
          "content": "<p>@Dmitry Great work!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 330812,
          "author_name": "dgrechka",
          "author_url": "",
          "post_date": "05/19/2018 19:11:39",
          "content": "<p>@Riad , I've added filtering by particle_id, <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">redeployed the tool</a>.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 335535,
          "author_name": "dgrechka",
          "author_url": "",
          "post_date": "05/29/2018 22:04:58",
          "content": "<p>@Riad, now I've added drawing of a helix trajectory that is calculated from vertex and initial momentum. The <a href=\"https://grechka.family/dmitry/sandbox/trackML_event_viewer/\">tool is redeployed</a>. To see the particle trajectory select the particular particle by filtering ether by particle_id or by particle index, then check \"show helix\" checkbox.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 321630,
      "author_name": "jovanveljanoski",
      "author_url": "",
      "post_date": "05/01/2018 17:24:14",
      "content": "<p>Hi, </p>\n\n<p>I would give ipyvolume a serious look. For large number of points, maybe it is better to do volume density than a 3-D scatter plot. I think this package supports plotting the data with 2-D \"faces\" instead of 3-D glyphs, so you can also try displaying a large number of points with scatter..</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 321644,
      "author_name": "pliptor",
      "author_url": "",
      "post_date": "05/01/2018 17:36:27",
      "content": "<p>I played with plotly <a href=\"https://www.kaggle.com/pliptor/name-only-study-with-interactive-3d-plot\"><strong>here</strong></a>. It is definitely easy but I haven't tested how it scales for a large number of points. It supports interactive rotation, toggling of points etc.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 321676,
      "author_name": "maartenbreddels",
      "author_url": "",
      "post_date": "05/01/2018 18:18:14",
      "content": "<p>As the author of <a href=\"https://github.com/maartenbreddels/ipyvolume/\">ipyvolume</a> I can honoustly say that ipyvolume is the best ;)\nIt can do a few million points on my laptop, and it is quite simply to use in the Jupyter notebook:</p>\n\n<pre><code>import ipyvolume as ipv\nimport numpy as np\nipv.figure()\nx, y, z = np.random.random((3, 10000))\ns = ipv.scatter(x, y, z)\nipv.show()\n</code></pre>\n\n<p>This will give you a live widget, so you can change properties afterwards, e.g.:</p>\n\n<pre><code>s.size = 1\ns.size_selected = 4\ns.color = 'green'\ns.color_selected = 'red'\ns.selected = np.random.randint(0, 1000, 100)\ns.geo = 'circle_2d'\n</code></pre>\n\n<p>They can also be integrated into webpages, as in the <a href=\"http://ipyvolume.readthedocs.io/en/latest/#built-on-ipywidgets\">documentation</a>\nHope you enjoy using it!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 321992,
      "author_name": "lopuhin",
      "author_url": "",
      "post_date": "05/02/2018 09:19:44",
      "content": "<p>I created a simple script that is based on glumpy (<a href=\"http://glumpy.readthedocs.io/\">http://glumpy.readthedocs.io</a>) which shows hits and a random sample of  tracks and allows to rotate and zoom with the mouse (but not move yet), I'm not entirely happy with it yet: <a href=\"https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb\">https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/321992/9339/Screen%20Shot%202018-05-02%20at%2013.08.14.png\" alt=\"Simple OpenGL visualization\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 322326,
      "author_name": "maartenbreddels",
      "author_url": "",
      "post_date": "05/02/2018 19:03:34",
      "content": "<p>Inspired by the excellent example of Konstantin, I tried to make a similar example using ipyvolume and ipywidgets.\nThe interactive result can be <a href=\"https://nbviewer.jupyter.org/urls/gist.githubusercontent.com/maartenbreddels/04575b217aaf527d4417173f397253c7/raw/926a0e57403c0c65eb55bc52d5c7401dc1019fdf/trackml-ipyvolume.ipynb\">seen on Jupyter's nbviewer</a>\nI've also made a screencapure <a href=\"https://twitter.com/maartenbreddels/status/991753065064730624\">on twitter</a> and here: \n<img src=\"http://www.astro.rug.nl/~breddels/ipyvolume/trackml-ipyvolume-demo.gif\" alt=\"Screencapture\"></p>\n\n<p>This uses ipyvolume 0.4.3, <a href=\"https://github.com/maartenbreddels/ipyvolume/\">master on github</a> has features such as zoom/pan and selecting (lasso etc).</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 330996,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/20/2018 06:08:36",
      "content": "<p><a href=\"http://docs.enthought.com/mayavi/mayavi/\">http://docs.enthought.com/mayavi/mayavi/</a> is another 3d engine</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/330996/9461/snapshot5.png\" alt=\"enter image description here\"></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 361857,
      "author_name": "cirilbohak",
      "author_url": "",
      "post_date": "07/25/2018 07:50:51",
      "content": "<p>We have developed a TrackML visualization framework. You can find more info in the designated topic <a href=\"https://www.kaggle.com/c/trackml-particle-identification/discussion/61931\">here</a>.</p>\n\n<p><img src=\"http://lgm.fri.uni-lj.si/wp-content/uploads/2018/07/TrackML-Vis.png\" alt=\"TrackML Visualizer\"></p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "321336": "Is there any good 3d visulisation engine that can support large plotting no of 3d points? I am looking for one that is easy to use and support python 3.6. Thanks!",
    "321350": "We have a web-based displayer deployed:\n\nhttps://emoyse.web.cern.ch/emoyse/WebEventDisplay/jsdisplay_TrackML.html\n\nTo load event data per event, click on ‘Controls’ top right, then ‘Load Event Files’.\nMultiple select hits, particles and truth for the event in question:\n\neventX-hits.csv\neventX-particles.csv\neventX-truth.csv",
    "321630": "Hi, \n\nI would give ipyvolume a serious look. For large number of points, maybe it is better to do volume density than a 3-D scatter plot. I think this package supports plotting the data with 2-D \"faces\" instead of 3-D glyphs, so you can also try displaying a large number of points with scatter..",
    "321644": "I played with plotly [**here**](https://www.kaggle.com/pliptor/name-only-study-with-interactive-3d-plot). It is definitely easy but I haven't tested how it scales for a large number of points. It supports interactive rotation, toggling of points etc.",
    "321676": "As the author of [ipyvolume][1] I can honoustly say that ipyvolume is the best ;)\nIt can do a few million points on my laptop, and it is quite simply to use in the Jupyter notebook:\n\n\timport ipyvolume as ipv\n\timport numpy as np\n\tipv.figure()\n\tx, y, z = np.random.random((3, 10000))\n\ts = ipv.scatter(x, y, z)\n\tipv.show()\n\nThis will give you a live widget, so you can change properties afterwards, e.g.:\n\n\ts.size = 1\n\ts.size_selected = 4\n\ts.color = 'green'\n\ts.color_selected = 'red'\n\ts.selected = np.random.randint(0, 1000, 100)\n\ts.geo = 'circle_2d'\n\nThey can also be integrated into webpages, as in the [documentation][2]\nHope you enjoy using it!\n\n\n  [1]: https://github.com/maartenbreddels/ipyvolume/\n  [2]: http://ipyvolume.readthedocs.io/en/latest/#built-on-ipywidgets",
    "321992": "I created a simple script that is based on glumpy (http://glumpy.readthedocs.io) which shows hits and a random sample of  tracks and allows to rotate and zoom with the mouse (but not move yet), I'm not entirely happy with it yet: https://gist.github.com/lopuhin/b11cd94ad441b3f45df8168e33cb9bfb\n\n![Simple OpenGL visualization][1]\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/321992/9339/Screen%20Shot%202018-05-02%20at%2013.08.14.png",
    "322183": "Is it possible to highlight a specific particle path in this web based display utility",
    "322230": "I will check with the author of the web display if we can implement that.",
    "322326": "Inspired by the excellent example of Konstantin, I tried to make a similar example using ipyvolume and ipywidgets.\nThe interactive result can be [seen on Jupyter's nbviewer](https://nbviewer.jupyter.org/urls/gist.githubusercontent.com/maartenbreddels/04575b217aaf527d4417173f397253c7/raw/926a0e57403c0c65eb55bc52d5c7401dc1019fdf/trackml-ipyvolume.ipynb)\nI've also made a screencapure [on twitter][1] and here: \n![Screencapture][2]\n\nThis uses ipyvolume 0.4.3, [master on github][3] has features such as zoom/pan and selecting (lasso etc).\n\n\n  [1]: https://twitter.com/maartenbreddels/status/991753065064730624\n  [2]: http://www.astro.rug.nl/~breddels/ipyvolume/trackml-ipyvolume-demo.gif\n  [3]: https://github.com/maartenbreddels/ipyvolume/",
    "323145": "As long as 'select' is clicked in the menu, you can click on tracks and get some information below (it's a good idea to disable geometry to make this easier). You can also edit the input files, specifically truth.csv to remove anything except for the track you're interested in. I'll make improvements to this soon though, so you can select a track by its id via a text interface.",
    "330000": "I've created one more viewer which is capable of particle filtering. Deployed at https://grechka.family/dmitry/sandbox/trackML_event_viewer/\n\nThe code is at https://github.com/dgrechka/TrackML_EventViewer\n\nI plan to add drawing of particle trajectory calculated from initial parameters (e.g. magnetic field vector, initial particle position, initial particle velocity, particle charge). This will help to visually cross check the single particle parameters fitting.",
    "330244": "Dmitry\nNice work, fast and does not lag!\nCan I suggest that you add drawing track trajectories (not just the dots when particle idx is used), use particle_id instead of idx and maybe select particular volumes/layers to display corresponding hits ?",
    "330431": "Dmitry Great work!",
    "330812": "Riad , I've added filtering by particle_id, [redeployed the tool](https://grechka.family/dmitry/sandbox/trackML_event_viewer/).",
    "330996": "http://docs.enthought.com/mayavi/mayavi/ is another 3d engine\n\n  ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/330996/9461/snapshot5.png",
    "335535": "Riad, now I've added drawing of a helix trajectory that is calculated from vertex and initial momentum. The [tool is redeployed][1]. To see the particle trajectory select the particular particle by filtering ether by particle_id or by particle index, then check \"show helix\" checkbox.\n\n\n  [1]: https://grechka.family/dmitry/sandbox/trackML_event_viewer/",
    "361857": "We have developed a TrackML visualization framework. You can find more info in the designated topic [here][1].\n\n![TrackML Visualizer][2]\n\n\n  [1]: https://www.kaggle.com/c/trackml-particle-identification/discussion/61931\n  [2]: http://lgm.fri.uni-lj.si/wp-content/uploads/2018/07/TrackML-Vis.png"
  },
  "source": "meta"
}