{
  "id": 42439,
  "title": "a3daps from a3d",
  "url": "/competitions/passenger-screening-algorithm-challenge/discussion/42439",
  "author_name": "",
  "post_date": "2017-10-30T23:56:41.820730900Z",
  "votes": 2,
  "comment_count": 4,
  "views": 0,
  "content": "<p>According to the Data page</p>\n\n<blockquote>\n  <p>For visualization purposes, an 'Angle Sequence File' is rendered from\n  the previously described 'Combined Image 3D' data. A projection\n  through the 3D data at sequential angular increments is written\n  contiguously into a single file.</p>\n</blockquote>\n\n<p>Has anyone had any luck doing this projection themselves to get the .a3daps image from the .a3d image who would be willing to explain how they did it and/or share code for doing so? I've tried taking the mean and max along the axis but that didn't work well at all (not that I was really expecting it to in the first place). </p>",
  "messages": [
    {
      "id": "237776",
      "postDate": "10/30/2017 23:56:41",
      "content": "<p>According to the Data page</p>\n\n<blockquote>\n  <p>For visualization purposes, an 'Angle Sequence File' is rendered from\n  the previously described 'Combined Image 3D' data. A projection\n  through the 3D data at sequential angular increments is written\n  contiguously into a single file.</p>\n</blockquote>\n\n<p>Has anyone had any luck doing this projection themselves to get the .a3daps image from the .a3d image who would be willing to explain how they did it and/or share code for doing so? I've tried taking the mean and max along the axis but that didn't work well at all (not that I was really expecting it to in the first place). </p>",
      "rawMarkdown": "According to the Data page\n\n&gt; For visualization purposes, an 'Angle Sequence File' is rendered from\n&gt; the previously described 'Combined Image 3D' data. A projection\n&gt; through the 3D data at sequential angular increments is written\n&gt; contiguously into a single file.\n\nHas anyone had any luck doing this projection themselves to get the .a3daps image from the .a3d image who would be willing to explain how they did it and/or share code for doing so? I've tried taking the mean and max along the axis but that didn't work well at all (not that I was really expecting it to in the first place).",
      "votes": null
    },
    {
      "id": "237959",
      "postDate": "10/31/2017 11:43:23",
      "content": "<p>Cumulative max produces similar images.  Deciding depth is the thorny part.</p>\n\n<pre><code>from cukierski import read_data\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nx=read_data('00360f79fd6e02781457eda48f85da90.a3d')\nx0=np.maximum.accumulate(x,axis=1)[:,320,:]\ny=read_data('00360f79fd6e02781457eda48f85da90.a3daps')\ny0=y[:,:,0]\n\nf, axarr = plt.subplots(1,2)\naxarr[0].imshow(x0)\naxarr[1].imshow(y0)\nf.show()\n</code></pre>\n\n<p><em>*</em> edit: reduced consonant count slightly, apologies to William</p>",
      "rawMarkdown": "Cumulative max produces similar images.  Deciding depth is the thorny part.\n\n    from cukierski import read_data\n    import numpy as np\n    import matplotlib.pyplot as plt\n    \n    x=read_data('00360f79fd6e02781457eda48f85da90.a3d')\n    x0=np.maximum.accumulate(x,axis=1)[:,320,:]\n    y=read_data('00360f79fd6e02781457eda48f85da90.a3daps')\n    y0=y[:,:,0]\n    \n    f, axarr = plt.subplots(1,2)\n    axarr[0].imshow(x0)\n    axarr[1].imshow(y0)\n    f.show()\n*** edit: reduced consonant count slightly, apologies to William",
      "votes": null
    },
    {
      "id": "237990",
      "postDate": "10/31/2017 13:33:51",
      "content": "<pre><code>from curkierski import read_data\n</code></pre>\n\n<p><img src=\"https://media.giphy.com/media/p26ylSePJM12g/giphy.gif\" alt=\"enter image description here\" title=\"\"></p>",
      "rawMarkdown": "from curkierski import read_data\n\n![enter image description here][1]\n\n\n  [1]: https://media.giphy.com/media/p26ylSePJM12g/giphy.gif",
      "votes": null
    },
    {
      "id": "238007",
      "postDate": "10/31/2017 14:03:29",
      "content": "<p>Branden\nI tried converting .a3d to .vts and defining threshold at various depth's using paraview, I can share the script to convert to .vts to explore it in paraview.  I am not sure how to go forward from there. may be someone can help.</p>",
      "rawMarkdown": "Branden\nI tried converting .a3d to .vts and defining threshold at various depth's using paraview, I can share the script to convert to .vts to explore it in paraview.  I am not sure how to go forward from there. may be someone can help.",
      "votes": null
    },
    {
      "id": "238232",
      "postDate": "10/31/2017 22:55:44",
      "content": "<p>Thanks. This is similar to a method I implemented after making this post except much simpler and more efficient. </p>",
      "rawMarkdown": "Thanks. This is similar to a method I implemented after making this post except much simpler and more efficient.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 237959,
      "author_name": "speculation",
      "author_url": "",
      "post_date": "10/31/2017 11:43:23",
      "content": "<p>Cumulative max produces similar images.  Deciding depth is the thorny part.</p>\n\n<pre><code>from cukierski import read_data\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nx=read_data('00360f79fd6e02781457eda48f85da90.a3d')\nx0=np.maximum.accumulate(x,axis=1)[:,320,:]\ny=read_data('00360f79fd6e02781457eda48f85da90.a3daps')\ny0=y[:,:,0]\n\nf, axarr = plt.subplots(1,2)\naxarr[0].imshow(x0)\naxarr[1].imshow(y0)\nf.show()\n</code></pre>\n\n<p><em>*</em> edit: reduced consonant count slightly, apologies to William</p>",
      "votes": null,
      "replies": [
        {
          "id": 237990,
          "author_name": "wcukierski",
          "author_url": "",
          "post_date": "10/31/2017 13:33:51",
          "content": "<pre><code>from curkierski import read_data\n</code></pre>\n\n<p><img src=\"https://media.giphy.com/media/p26ylSePJM12g/giphy.gif\" alt=\"enter image description here\" title=\"\"></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 238232,
          "author_name": "brandenkmurray",
          "author_url": "",
          "post_date": "10/31/2017 22:55:44",
          "content": "<p>Thanks. This is similar to a method I implemented after making this post except much simpler and more efficient. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 238007,
      "author_name": "chandoo7",
      "author_url": "",
      "post_date": "10/31/2017 14:03:29",
      "content": "<p>Branden\nI tried converting .a3d to .vts and defining threshold at various depth's using paraview, I can share the script to convert to .vts to explore it in paraview.  I am not sure how to go forward from there. may be someone can help.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "237776": "According to the Data page\n\n&gt; For visualization purposes, an 'Angle Sequence File' is rendered from\n&gt; the previously described 'Combined Image 3D' data. A projection\n&gt; through the 3D data at sequential angular increments is written\n&gt; contiguously into a single file.\n\nHas anyone had any luck doing this projection themselves to get the .a3daps image from the .a3d image who would be willing to explain how they did it and/or share code for doing so? I've tried taking the mean and max along the axis but that didn't work well at all (not that I was really expecting it to in the first place).",
    "237959": "Cumulative max produces similar images.  Deciding depth is the thorny part.\n\n    from cukierski import read_data\n    import numpy as np\n    import matplotlib.pyplot as plt\n    \n    x=read_data('00360f79fd6e02781457eda48f85da90.a3d')\n    x0=np.maximum.accumulate(x,axis=1)[:,320,:]\n    y=read_data('00360f79fd6e02781457eda48f85da90.a3daps')\n    y0=y[:,:,0]\n    \n    f, axarr = plt.subplots(1,2)\n    axarr[0].imshow(x0)\n    axarr[1].imshow(y0)\n    f.show()\n*** edit: reduced consonant count slightly, apologies to William",
    "237990": "from curkierski import read_data\n\n![enter image description here][1]\n\n\n  [1]: https://media.giphy.com/media/p26ylSePJM12g/giphy.gif",
    "238007": "Branden\nI tried converting .a3d to .vts and defining threshold at various depth's using paraview, I can share the script to convert to .vts to explore it in paraview.  I am not sure how to go forward from there. may be someone can help.",
    "238232": "Thanks. This is similar to a method I implemented after making this post except much simpler and more efficient."
  },
  "source": "meta"
}