How to use the @xviz/io/node.FileSink function in @xviz/io

To help you get started, we’ve selected a few @xviz/io examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uber / xviz / examples / converters / kitti / src / transform.js View on Github external
// and delegates to the individual converters
  const converter = new KittiConverter(inputDir, outputDir, {
    cameraSources,
    disabledStreams,
    fakeStreams,
    imageMaxWidth,
    imageMaxHeight
  });

  console.log(`Converting KITTI data at ${inputDir}`); // eslint-disable-line
  console.log(`Saving to ${outputDir}`); // eslint-disable-line

  converter.initialize();

  // This abstracts the details of the filenames expected by our server
  const sink = new FileSink(outputDir);
  let xvizWriter = null;
  if (writeJson) {
    xvizWriter = new XVIZJSONWriter(sink);
  } else if (writeProtobuf) {
    xvizWriter = new XVIZProtobufWriter(sink);
  } else {
    xvizWriter = new XVIZBinaryWriter(sink);
  }

  // Write metadata file
  const xvizMetadata = converter.getMetadata();
  xvizWriter.writeMetadata(xvizMetadata);

  // If we get interrupted make sure the index is written out
  signalWriteIndexOnInterrupt(xvizWriter);
github uber / xviz / examples / converters / nutonomy / src / transform.js View on Github external
const converter = new NuTonomyConverter(inputDir, outputDir, samplesDir, staticData, {
      disabledStreams,
      sceneName,
      fakeStreams,
      imageMaxWidth,
      imageMaxHeight,
      keyframes
    });

    console.log(`Converting NuScenes data scene ${sceneName} at ${inputDir}`); // eslint-disable-line
    console.log(`Saving to ${outputDir}`); // eslint-disable-line

    converter.initialize();

    // This abstracts the details of the filenames expected by our server
    const sink = new FileSink(outputDir);
    const xvizWriter = new XVIZBinaryWriter(sink);

    // Write metadata file
    const xvizMetadata = converter.getMetadata();
    xvizWriter.writeMetadata(xvizMetadata);

    const start = Date.now();

    const limit = Math.min(messageLimit, converter.messageCount());
    for (let i = 0; i < limit; i++) {
      const xvizMessage = await converter.convertMessage(i);
      if (xvizMessage) {
        xvizWriter.writeMessage(i, xvizMessage);
      }
    }
github uber / xviz / modules / ros / src / cmds / convert.js View on Github external
}
  createDir(directory);

  const source = new FileSource(bag);
  const provider = await XVIZProviderFactory.open({
    options: {...args},
    source,
    root: bag
  });

  if (!provider) {
    throw new Error('Failed to create ROSBagProvider');
  }

  // This abstracts the details of the filenames expected by our server
  const sink = new FileSink(directory);

  const iterator = provider.getMessageIterator({startTime: start, endTime: end});
  if (!iterator.valid()) {
    throw new Error('Error creating and iterator');
  }

  const writer = new XVIZFormatWriter(sink, {format});

  const md = provider.xvizMetadata();

  // Augment metadata with timing information
  // if provided
  setMetadataTimes(md.message().data, start, end);
  writer.writeMetadata(md);

  // If we get interrupted make sure the index is written out