Skip to content

Version 2.0.0

Compare
Choose a tag to compare
@clee-ai clee-ai released this 28 Oct 16:28
· 77 commits to main since this release

This release brings copc-lib up to current COPC.io spec at commit a6e8654. This includes removing support for PRDF 1-5 and adding support for CopcExtents. Additionally, the means of interacting with the LasHeader, CopcInfo, and other COPC elements were simplified under one CopcConfig object. Other existing functions and variables were renamed, and the style format was explicitly defined.

[2.0.0] - 2021-10-28

Added

  • [Python/C++] Add CopcExtent and CopcExtents classes
  • [Python/C++] Add extended stats (mean/var) to CopcExtent using an additional Lazperf extents VLR (see README.md for more info).
  • [Python/C++] Add GetCopcExtents function to CopcConfig
  • [Python/C++] Add GetCopcExtents and SetCopcExtents functions to Writer
  • [Python] Add reader.extents property
  • [Python/C++] Add CopcInfo class
  • [Python/C++] Add vector(c++)/list(python) constructor to VoxelKey
  • [Python/C++] Add CopcConfig class
  • [Python/C++] Add GetCopcConfig function to BaseIO
  • [Python/C++] Support COPC Extents, WKT, and Extra Bytes as VLR or EVLR
  • [Python/C++] Add SetCopcExtents and SetCopcInfo to Writer
  • [Python/C++] Add LasHeaderBase class
  • [Python/C++] Add ToString to LasHeader class
  • [Python/C++] Add VlrHeader class
  • [Python/C++] Add a check for WKT byte in LasHeader::FromLazPerf

Changed

  • [Python/C++] Supported LAS point formats are now strictly 6 to 8 throughout the library
  • [Python/C++] Remove point_count_14, points_by_return_14, header_size_, wave_offset, and version from LasHeader
  • [Python/C++] Change lazperf version requirement to > 2.1.0
  • [Python/C++] Update autzen-classified.copc.laz test file to be latest official
  • [Python/C++] Change use of las::CopcVlr::span to CopcInfo::spacing
  • [Python/C++] Change CopcConfig::GetWkt return type from las::WktVlr to std::string
  • [Python/C++] Rename CopcConfig::GetCopc to CopcConfig::GetCopcInfo and now returns a CopcInfo class
  • [Python/C++] Rename Reader::GetCopcHeader to Reader::GetCopcInfo and now returns a CopcInfo class
  • [Python/C++] VoxelKey::Resolution and VoxelKey::GetResolutionAtDepth now take CopcInfo argument instead of las::CopcVlr
  • [Python/C++] Remove Writer::LasConfig, now using CopcConfig instead.
  • [Python/C++] Writer and FileWriter constructors now takes a CopcConfig class as argument
  • [Python/C++] Rename NumExtraBytes to EbByteSize
  • [Python] Change reader.GetCopcHeader() function to reader.copc_info property
  • [Python] Change reader.CopcConfig().LasHeader() function to reader.las_header property
  • [Python] Change reader.CopcConfig().Wkt() function to reader.wkt property
  • [Python] Change reader.CopcConfig().ExtraBytesVlr() function to reader.extra_bytes_vlr property
  • [C++] Add create_test_data.py and create_test_data.sh to create data for writer_node_test.cpp
  • [Python] Make VoxelKey.BaseKey and VoxelKey.InvalidKey static functions
  • [Python] Update Point and Points property names from CamelCase to under_score
  • [Python/C++] Rename Reader::GetAllChildren(VoxelKey) to Reader::GetAllChildrenOfPage(VoxelKey)
  • [Python/C++] Rename Reader::GetAllChildren() to Reader::GetAllNodes()
  • [C++] Rename PointFormatID to PointFormatId
  • [C++] Rename PointSourceID to PointSourceId
  • [C++] Rename HasRGB and HasNIR to HasRgb and HasNir respectively
  • [C++] Rename NIR to Nir
  • [Python/C++] Rename ScanAngleFloat to ScanAngleDegrees
  • [Python] Rename unscaled_x, unscaled_y, unscaled_z to x, y, z
  • [General] Rename CMake flag WITH_TESTS_AND_EXAMPLES to WITH_TESTS
  • [Python/C++] Rename Box::ZeroBox to Box::EmptyBox
  • [Python/C++] Rename VoxelKey::BaseKey to VoxelKey::RootKey
Commit History
  • copc-lib v2 (update to latest spec, incl. extents and prdf 6-8) (#51) (6b8e92c)
  • Add RGB getter setter to Points. (#63) (1fae509)