E57 laser scan import failing

I am trying to import a point cloud file (e57 format) with scanner positions and rotations into RC, which is not working. I have read in other posts, that only ordered pointclouds are supported. In my understanding this is the case. The import is working perfectly fine with other programs. Maybe someone here has an idea about what I am doing wrong.

The attached the e57 xml dump and a screenshot showing the structure of the e57 file in CloudCompare.

<?xml version=“1.0” encoding=“UTF-8”?>

<e57Root type=“Structure”

         xmlns:nor=“http://www.libe57.org/E57_EXT_surface_normals.txt

         xmlns=“http://www.astm.org/COMMIT/E57/2010-e57-v1.0”>

  <formatName type=“String”><![CDATA[ASTM E57 3D Imaging Data File]]></formatName>

  <guid type=“String”><![CDATA[{83c0e5ad-e28f-400d-8e01-4b20ac5f3d5b}]]></guid>

  <versionMajor type=“Integer”>1</versionMajor>

  <versionMinor type=“Integer”/>

  <data3D type=“Vector” allowHeterogeneousChildren=“1”>

    <vectorChild type=“Structure”>

      <pose type=“Structure”>

        <translation type=“Structure”>

          <x type=“Float”>-2.49739198388063022e+00</x>

          <y type=“Float”>-5.18590094965574941e-02</y>

          <z type=“Float”>1.51754240328540946e+00</z>

        </translation>

        <rotation type=“Structure”>

          <x type=“Float”>2.65213776327361320e-04</x>

          <y type=“Float”>1.88758325537900220e-03</y>

          <z type=“Float”>7.11126775138681166e-01</z>

          <w type=“Float”>7.03061218082726036e-01</w>

        </rotation>

      </pose>

      <cartesianBounds type=“Structure”>

        <xMinimum type=“Float”>-3.11373772221779754e+00</xMinimum>

        <xMaximum type=“Float”>2.60659224202166806e+00</xMaximum>

        <yMinimum type=“Float”>-2.81947058296062680e+00</yMinimum>

        <yMaximum type=“Float”>2.39182678517313807e+00</yMaximum>

        <zMinimum type=“Float”>-1.95981886915621240e-01</zMinimum>

        <zMaximum type=“Float”>1.32235927922414298e+01</zMaximum>

      </cartesianBounds>

      <intensityLimits type=“Structure”>

        <intensityMaximum type=“Float”>1.00000000000000000e+00</intensityMaximum>

        <intensityMinimum type=“Float”/>

      </intensityLimits>

      <points type=“CompressedVector” fileOffset=“48” recordCount=“186976”>

        <prototype type=“Structure”>

          <cartesianX type=“Float”/>

          <cartesianY type=“Float”/>

          <cartesianZ type=“Float”/>

          <intensity type=“Float”/>

          <nor:normalX type=“Float”/>

          <nor:normalY type=“Float”/>

          <nor:normalZ type=“Float”/>

        </prototype>

        <codecs type=“Vector” allowHeterogeneousChildren=“1”>

        </codecs>

      </points>

    </vectorChild>

    <vectorChild type=“Structure”>

      <pose type=“Structure”>

        <translation type=“Structure”>

          <x type=“Float”>-1.00439279185116148e+00</x>

          <y type=“Float”>1.04708649516251873e+00</y>

          <z type=“Float”>1.77243272683692399e+00</z>

        </translation>

        <rotation type=“Structure”>

          <x type=“Float”>-1.44407149270458644e-03</x>

          <y type=“Float”>1.85740533321239216e-04</y>

          <z type=“Float”>3.88109827087794346e-01</z>

          <w type=“Float”>9.21611980323531088e-01</w>

        </rotation>

      </pose>

      <cartesianBounds type=“Structure”>

        <xMinimum type=“Float”>-2.80020105069878555e+00</xMinimum>

        <xMaximum type=“Float”>2.66182617112078868e+00</xMaximum>

        <yMinimum type=“Float”>-2.82436388998956822e+00</yMinimum>

        <yMaximum type=“Float”>2.81295298796282101e+00</yMaximum>

        <zMinimum type=“Float”>-4.99038459260275069e-02</zMinimum>

        <zMaximum type=“Float”>1.33323325451012700e+01</zMaximum>

      </cartesianBounds>

      <intensityLimits type=“Structure”>

        <intensityMaximum type=“Float”>1.00000000000000000e+00</intensityMaximum>

        <intensityMinimum type=“Float”/>

      </intensityLimits>

      <points type=“CompressedVector” fileOffset=“10515972” recordCount=“654516”>

        <prototype type=“Structure”>

          <cartesianX type=“Float”/>

          <cartesianY type=“Float”/>

          <cartesianZ type=“Float”/>

          <intensity type=“Float”/>

          <nor:normalX type=“Float”/>

          <nor:normalY type=“Float”/>

          <nor:normalZ type=“Float”/>

        </prototype>

        <codecs type=“Vector” allowHeterogeneousChildren=“1”>

        </codecs>

      </points>

    </vectorChild>

  </data3D>

</e57Root>

  

Hi,

it seems, that your point cloud should be ordered (you have TLS/GBL scan positions under your scans). What are your laser scan import settings? What scanner did you used? What error did you get in RealityCapture?

 

The kind of scanner that was used I dont know. And I have tried every possible combination of import settings. The result is always the same. RealityCapture crashes with an exception (Error Code 0xC0000005):

“The thread tried to read from or write to a virtual address for which it does not have the appropriate access rights.”

Did you try import other format (like PTX)? Where are your data saved? Please, try to clear cache (manually and in application) and also start RC with pushed SHIFT and choose Make it like a clean install. Then try to import laser scans again.

Is it possible to share your data with us to test them?

Unfortunately I dont have PTX files and no tools available to convert the data. The e57 file is saved on a local SSD and there is still sufficient free space left on it. I tried importing the file directly after the installation and also tried the “SHIFT” method… still the same result.

I could send you a link to the file. Is there a way to send it to you privately?

Yes, you can send it to address trhond@capturingreality.com. If it is too big for mail, you can use some storage website.

Are you importing .e57 in a UE application in runtime ?
If yes, where did you find a documentation that explain how to do this.
Thanks!

Open the .e57 with cloudcompare and check if there is some scan with problems. Fix that problems and export again to import in RC