Parse a VTK XML ImageData (.vti) file into voxel / vector
grids. Handles the two <DataArray> encodings that account for
95% of .vti files in the wild:
format="ascii" — whitespace-separated numbers in the XML
text node.
format="binary" — base64-encoded raw bytes with a 4-byte
UInt32 length-header prefix (VTK's canonical layout).
Does NOT support:
format="appended" — raw bytes after the XML doc. Used for
very large files; trivial to add later when needed.
Compression (zlib, lz4). Same reason — usable but
unimplemented for first cut.
Big-endian byte order. Modern x86 / ARM are little-endian;
90's MIPS workstation files are vanishingly rare.
Component count picks the destination bucket: 1 → scalar
(VoxelGrid); 3 → vector (VectorGrid). Other counts are
skipped and surfaced as a warning in VTIFile.warnings.
Parse a VTK XML ImageData (
.vti) file into voxel / vector grids. Handles the two<DataArray>encodings that account forformat="ascii"— whitespace-separated numbers in the XML text node.format="binary"— base64-encoded raw bytes with a 4-byte UInt32 length-header prefix (VTK's canonical layout).Does NOT support:
format="appended"— raw bytes after the XML doc. Used for very large files; trivial to add later when needed.zlib,lz4). Same reason — usable but unimplemented for first cut.Component count picks the destination bucket:
1→ scalar (VoxelGrid);3→ vector (VectorGrid). Other counts are skipped and surfaced as a warning in VTIFile.warnings.Returns
SDKResult<VTIFile>— never throws.