Releases: RockRobotic/copc-lib
Releases · RockRobotic/copc-lib
Version 2.2.2
[2.2.2] - 2022-01-31
Fixed
- [Python/C++] Fix bug with handling of non-existant path in FileWriter.
- [Python/C++] Fix test causing i686 tests to fail.
- [Python] Fix python ctest.
Version 2.2.1
[2.2.1] - 2022-01-24
Added
- [Python] Pip release workflow
Changed
- [Python] Python build uses scikit-build instead of custom solution
Commit History
Version 2.2.0
Library is now compatible with lazperf's new conda release (3.0.0).
[2.2.0] - 2022-01-10
Added
- [Python/C++] Add
UnscaledX
,UnscaledY
,UnscaledZ
properties tolas::Points
Changed
- [Python/C++] Add
point_format_id
argument toWriter
constructor to allow update of the point format between reader and writer. - [Python/C++] Implement
CopcExtentVlr
for compatibility with lazperf 3.0.0 - [Python/C++] Update lazperf dependency version to 3.0.0
Commit History
- [pre-commit.ci] pre-commit autoupdate (#80) (35b15a3)
- COPCv1.0 and Laz-perf 3.0.0 compatibility (#79) (12765cf)
- [pre-commit.ci] pre-commit autoupdate (#78) (dcc6490)
- Add unscaled x,y,z to python Points bindings (#77) (3b0f2b2)
- FEAT-580: Add point_format_id argument to Writer constructor. (#76) (49bd852)
- [pre-commit.ci] pre-commit autoupdate (#74) (20e6d74)
Version 2.1.3
[2.1.3] - 2021-11-17
Changed
- [Python/C++] Update
CopcFileWriter
constructor to provide optional arguments to update information when using aCopcConfig
object from aReader
. Optional arguments arescale
,offset
,wkt
,extra_bytes_vlr
, andhas_extended_stats
. - [Python/C++] Make
LasHeader
'sscale
andoffset
read-only.
Version 2.1.2
Version 2.1.1
Version 2.1.0
[2.1.0] - 2021-11-11
Added
- [Python/C++] Add
PageExists(VoxelKey key)
toWriter
- [Python/C++] Add
GetParentAtDepth(int32_t depth)
toVoxelKey
- [Python/C++] Add
GetPageList()
toReader
- [Python/C++] Add
page
member toNode
- [Python/C++] Add
ChangeNodePage
toWriter
Changed
- [Python/C++] Write WKT as EVLR instead of VLR to align with laspy
- [Python/C++] Remove the error when scan angle is not within LAS specs [-30000,30000]
- [Python/C++] !!!Potential Breakage!!! Replaced
Page page
argument with optionalVoxelKey page_key
inWriter
'sAddNode
andAddNodeCompressed
. If nopage_key
is provided the node is added to the root page, if apage_key
is provided then the node is added to that page. If the requested page doesn't exist, it is created using the nearest existing hierarchical parent as page parent.
Version 2.0.0
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
andCopcExtents
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 toCopcConfig
- [Python/C++] Add
GetCopcExtents
andSetCopcExtents
functions toWriter
- [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 toBaseIO
- [Python/C++] Support COPC Extents, WKT, and Extra Bytes as VLR or EVLR
- [Python/C++] Add
SetCopcExtents
andSetCopcInfo
toWriter
- [Python/C++] Add
LasHeaderBase
class - [Python/C++] Add
ToString
toLasHeader
class - [Python/C++] Add
VlrHeader
class - [Python/C++] Add a check for
WKT
byte inLasHeader::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
, andversion
fromLasHeader
- [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
toCopcInfo::spacing
- [Python/C++] Change
CopcConfig::GetWkt
return type fromlas::WktVlr
tostd::string
- [Python/C++] Rename
CopcConfig::GetCopc
toCopcConfig::GetCopcInfo
and now returns aCopcInfo
class - [Python/C++] Rename
Reader::GetCopcHeader
toReader::GetCopcInfo
and now returns aCopcInfo
class - [Python/C++]
VoxelKey::Resolution
andVoxelKey::GetResolutionAtDepth
now takeCopcInfo
argument instead oflas::CopcVlr
- [Python/C++] Remove
Writer::LasConfig
, now usingCopcConfig
instead. - [Python/C++]
Writer
andFileWriter
constructors now takes aCopcConfig
class as argument - [Python/C++] Rename
NumExtraBytes
toEbByteSize
- [Python] Change
reader.GetCopcHeader()
function toreader.copc_info
property - [Python] Change
reader.CopcConfig().LasHeader()
function toreader.las_header
property - [Python] Change
reader.CopcConfig().Wkt()
function toreader.wkt
property - [Python] Change
reader.CopcConfig().ExtraBytesVlr()
function toreader.extra_bytes_vlr
property - [C++] Add
create_test_data.py
andcreate_test_data.sh
to create data forwriter_node_test.cpp
- [Python] Make
VoxelKey.BaseKey
andVoxelKey.InvalidKey
static functions - [Python] Update
Point
andPoints
property names fromCamelCase
tounder_score
- [Python/C++] Rename
Reader::GetAllChildren(VoxelKey)
toReader::GetAllChildrenOfPage(VoxelKey)
- [Python/C++] Rename
Reader::GetAllChildren()
toReader::GetAllNodes()
- [C++] Rename
PointFormatID
toPointFormatId
- [C++] Rename
PointSourceID
toPointSourceId
- [C++] Rename
HasRGB
andHasNIR
toHasRgb
andHasNir
respectively - [C++] Rename
NIR
toNir
- [Python/C++] Rename
ScanAngleFloat
toScanAngleDegrees
- [Python] Rename
unscaled_x
,unscaled_y
,unscaled_z
tox
,y
,z
- [General] Rename CMake flag
WITH_TESTS_AND_EXAMPLES
toWITH_TESTS
- [Python/C++] Rename
Box::ZeroBox
toBox::EmptyBox
- [Python/C++] Rename
VoxelKey::BaseKey
toVoxelKey::RootKey
Version 1.3.1
Added
- [Python/C++] Add spatial function
Crosses
toVoxelKey
- [Python/C++] Add resolution function
Resolution
andGetResolutionAtDepth
toVoxelKey
- [Python/C++] Add
Vector3
operators toVector3
- [Python/C++] Add resolution query functions
GetDepthAtResolution
,GetNodesAtResolution
andGetNodesWithinResolution
toReader
- [Python/C++] Add
BoundsTrimFileExample
andResolutionTrimFileExample
to example-writer files - [Python/C++] Add
Classification
andPointSourceID
getter and setter toPoints
- [Python/C++] Add
GetChildren
toVoxelKey
- [Python] Make
Node
andVoxelKey
picklable - [Python/C++] Add a new constructor to
Box
usingVector3
- [Python/C++] Add scaling functions to
LasHeader
- [Python/C++] Add
ValidateSpatialBounds
function toReader
Changed
- [Python/C++] Change order of arguments in
VoxelKey
spatial functionsIntersects
,Contains
, andWithin
- [Python/C++] Add optional
resolution
argument toReader
spatial query functionsGetNodesWithinBox
,GetNodesIntersectBox
,GetPointsWithinBox
, andGetAllPoints
.resolution
can be used to limit the resolution during spatial queries - [Python/C++] Update
span
ofautzen-classified.copc.laz
test file from 0 to 128
Fixed
- [Python] Fix typo in pickling of
Node
- [Python] Fix scale error and reformat
NewFileExample()
in example_writer.py and .cpp
Commit History
- FEAT-472: Spatial bounds check. (#60) (a303231)
- FEAT-458: General Improvements (#59) (61c16e6)
- FEAT-449: Resolution query functions (#48) (e9b7c5e)
- Pin clang format version (#57) (89f5404)
- "fix" formatting (ba94e0d)
- disable mdformat, tracking: hukkin/mdformat#273 (e6d865a)
- Update CHANGELOG.md (113b910)
Version 1.3.0
[1.3.0] - 2021-10-04
Added
- [Python/C++] Indexing directly on Points object in C++/python, including slicing support in python
- [Python] Pickle support for
LasHeader
,Vector3
- [Python/C++] Update header min, max, and points by return after the writer has been created
- [Python/C++] Add spatial functions
Intersect
,Contains
,Within
toBox
,VoxelKey
- [Python/C++] Add spatial function
Within
toPoint
,Points
- [Python/C++] Add query functions
GetNodesWithinBox
andGetPointsWithinBox
to Reader - [C++] Support for Windows build
Changed
- [Python]
VoxelKey
is implicitly convertible to a python tuple - [Python/C++]
las::Points
can be indexed directly with[]
- [Python/C++]
las::Points
holds shared pointers of point objects, so changes to thePoint
object within thePoints
container are properly reflected - [Python]
points.Size()
has been removed in python, replaced bylen(points)
- [Python]
points.Get()
andpoints.Get(i)
have been replaced by__getitem__
and__iter__
- [C++]
las::Point
objects are now solely referenced by shared pointers, so pointer accessors must be used - [C++] CMakeLists have been restructured to allow for building python/test/examples independently of the main library
- [C++] The copc-lib library now must be referenced with the
COPCLIB::
namespace in CMake
Commit History
- update (79ded84)
- Update sh permissions (916094d)
- Create generate-release-notes.sh (5384898)
- Update .release-it.json (ae39f66)
- Update release.yml (ecefdb8)
- Create CHANGELOG.md (ef9a5a3)
- Restructure cmake lists (#50) (b008d24)
- FEAT-390: Spatial Queries (#39) (573dd6c)
- Python Shared Pointers (#41) (29a34fd)
- Fix pickling of char vector byte data (#46) (49c5f02)
- Add pickle support to LasHeader with tests. (#45) (3aca30d)
- Allow users to update header min/max/points by return (#44) (24d061d)
- Add decompressor helper functions (#42) (60e7c2d)
- [pre-commit.ci] pre-commit autoupdate (#40) (4696e37)