The C++ branch currently supports two output styles:
legacyparquet
Select them with:
./build/baysor run --output-style legacy ...
./build/baysor run --output-style parquet ...legacy is the default.
For file-by-file definitions, including exact column order, optional fields, and HDF5 / Parquet layout details, see Output Files.
The legacy bundle mirrors the familiar Baysor output set:
segmentation.csvsegmentation_cell_stats.csvsegmentation_polygons_2d.jsonsegmentation_polygons_3d.jsonsegmentation_counts.loomorsegmentation_counts.tsvsegmentation_params.dump.tomlsegmentation_log.log
Optional:
diagnostic_report.htmlsegmentation_plot.html
These files are defined in Output Files.
For Xenium-origin inputs, legacy automatically adds the extra fields needed by
xeniumranger import-segmentation:
segmentation.csv- includes
transcript_id - writes
is_noiseastrue/false
- includes
segmentation_polygons_2d.json- uses GeoJSON
FeatureCollection - includes
properties.cell
- uses GeoJSON
This is the recommended output style when the result will be handed off to Xenium Ranger / Xenium Explorer.
The parquet style is an interop-oriented bundle:
molecules.parquetcells.parquetcell_boundaries.parquetcell_boundaries_3d.parquetfeature_matrix.h5run_params.tomlrun.log
Optional:
diagnostic_report.htmlsegmentation_plot.html
These files are defined in Output Files.
Boundary outputs use GeoParquet-compatible metadata.
The count matrix is written as a 10x-style HDF5 feature-barcode matrix.
These remain meaningful only for legacy output:
--polygon-format--count-matrix-format
For parquet, they are ignored with a warning.
Use legacy when:
- you want the familiar Baysor outputs
- you want Xenium Ranger compatibility
- you need GeoJSON polygons
Use parquet when:
- you want easier downstream analysis in Python / R / DuckDB
- you want GeoParquet boundaries
- you want a 10x-style HDF5 matrix bundle