Quantcast

Re: Unpacking VTP

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unpacking VTP

Andrii Iudin
Dear VTK Developers,

Apologies for the obvious question, of course the data is in blocks as
stated here:
http://www.vtk.org/Wiki/VTK_XML_Formats#Compressed_Data

To avoid any future confusion, it might be worth underlying on this page
that each block is compressed separately and to get the whole data back
it is necessary to parse the VTK header and use its contents to extract
and combine the data from the blocks.

Best regards,
Andrii

On 14/03/2017 13:27, Andrii Iudin wrote:

> Dear VTK Developers,
>
> Apologies for sending this question, if this is a wrong mailing list,
> but there has been no reply from the users list and the issue seems to
> be more to do with the specifics of the format, rather than something
> a general user is expected to know.
>
> We are working on a loader of VTP files into three.js to display these
> files on-line. The VTP files are saved as binary and compressed with
> Zlib. However, when decoding the contents of these files from base64
> and then decompressing, the result is truncated. Only 32768 bytes are
> obtained. This happens in the Javascript implementations of Zlib (both
> pako and zlib.js) and also when decompressing in Python. Please see
> the example files attached.
>
> emd_2557.vtp contains the binary compressed data
> emd_2557_ascii.vtp contains the ASCII data without compression
>
> Both files are perfectly viewable in Paraview, so the data has to be
> there.
>
>
> For example, the procedure in Python is the following:
> import base64
> import zlib
>
> s = "eJyFnXm4V1Pbx8/eKQ1UpnN+DVSKksxJoYkSIhpUFE0nGtC..." # The whole
> string of the first of the Polys except the VTK header
> a = bytearray( base64.b64decode( s ) )
> d = zlib.decompress( bytes( a ) )
> d[-8:-1]
> '\x83\x18\x00\x00\x00\x00\x00'
>
> which is 131 + 256 * 24 = 6275. That is, only first 4096 numbers from
> the first of the Polys are being obtained (as can be seen from the
> ASCII file). Is there a way, maybe a parameter that can be set in Zlib
> to allow obtaining the rest?
>
> Many thanks and best regards,
> Andrii

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Search the list archives at: http://markmail.org/search/?q=vtk-developers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtk-developers

Loading...