/
NEWS
115 lines (89 loc) · 7.62 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Lithics3D v0.5.2 (Release date: 2024-02-07)
==============
New features:
* edge_angles_yw: A function to calculate edge angles based on the method proposed by Yezzi-Woodley et al. (2021)
Other changes:
* added private helper functions and unit tests for the edge_angles_yw function.
* Fixed warning triggered by calls to deprecated functions from the igraph (v2) package.
* Disabled an unreliable test for the edge_angles_vis2d function.
Lithics3D v0.5.1 (Release date: 2023-12-22)
==============
New features:
* Two new functions added: edge_angles_vis2d and edge_angles_vis3d. These help visualize and plot the output of the edgeAngles function.
Other changes:
* Reduced the included demoFlake1, demoFlake2, and demoFlake3 meshes to bring the package size under 5MB in preparation for upcoming CRAN submission.
* Changed the output of e2sIntersect in case of no intersections to an empty dataframe (from NA), so that output type is always consistent.
* Renamed ptOnSeg to coords_onseg and changed parameter names to something less cryptic. ptOnSeg can still be used but it will generate a deprecation warning.
* Fixed bug with coords_onseg/ptOnSeg (see Issue #10) and substantially improved the performance of the function, which should translate to a faster edgeAngles function.
* Fixed a bug with e2sIntersect (see Issue #15).
* Fixed a bug with split_pts.
* Improved test coverage from ca. 55% to ca. 70% (added unit tests for e2sIntersect, edgesOnPlane, edge_angles_vis3d, edge_angles_vis2d, coords_onseg)
* Fully updated documentation for edgesOnPlane.
* Updated documentation for e2sIntersect.
Lithics3D v0.5.0 (Release date: 2023-12-01)
==============
This version includes substantial changes to facilitate future development, including code cleanup (e.g., linted main code, testing framework switched to testthat 3rd edition, new unit tests were added) and enhanced documentation for many of the included functions (all function documentation has been modified to some extent due to a switch to markdown support). It also includes major new features, as outlined below.
New features:
* Interactive 3D landmarking/POI (point of interest) selection: New functions
mesh_mark_pois and drop_poi enable the interactive selection of points of
interest on a mesh surface. These functions are listed as experimental for now,
but they are expected to work as advertised.
* Ray tracing: New function mesh_intersect_rays (and a helper function
trace_ray) for determining exact intersection points between rays and a mesh
surface.
* New function split_pts to split a point cloud by a 3D plane. The function
encapsulates code from the edgesOnPlane and is similar to Morpho::cutSpace, but
runs substantially faster.
Other changes:
* Documentation: Added support for markdown and migrated existing documentation to the new format.
* Documentation: Added support for lifecycle badges.
* Documentation: Updated descriptions for several functions.
* Documentation: Added additional information on package author and updated README (minor changes only).
* Tests: Changed testing framework to testthat 3rd edition.
* Tests: Added new unit tests and fixed some of the old ones, improving coverage from 29.73% in version 0.4.2 to ca. 55%.
* Split edgesOnPlane function, moving code into the new split_pts function.
* Added unit test for the new split_pts function.
* mesh_volume and getTVol: The return on bad input changed from NaN to NA.
* Compressed the demo data to reduce the size of the package.
* Updated package requirements.
Lithics3D v0.4.2 (Release date: 2019-04-20)
==============
New features:
* sPathQuery now has an option to request closed curves. The documentation has also been improved.
Other changes:
* mesh_segment_by_path now takes input of sPathConnect as argument (mesh.path) instead of calling that function internally. The former functionality still exists, but is being deprecated and using the old
lms argument will result in a warning.
* mapOnMesh now outputs target vertices as a column (named vertex). Rownames will continue working, but should not be relied on.
* Changed the behaviour of sPathQuery - it will now fail if path.choice is not one of the valid options, instead of silently picking "any". This behaviour was properly documented, but made little sense.
* Added unit test for sPathQuery
* alignMesh.PCA: Deprecated in favour of the pcAlign function provided by the Morpho package; It offered no additional functionality. Note
that while both functions will produce identical values for the PCA aligned mesh coordinates, the sign of these values may be different (e.g.
a biface may point left with meshAlign.PCA, and right with pcAlign).
* proj_pt2p: Changed the name of the distance column in output to 'dist' (from -d), explicitly made output a data.frame, updated docs, and added unit tests.
* Updated readme with links to external tools and clearer warning regarding current status.
* Changed functions that rely on geomorph::digit.curves to use an old version (2015) of that function, copied into this package and made available internally as digit.curves.old. This change will have to be reverted once the bug in the current version of digit.curves is fixed.
Lithics3D v0.4.1 (Release date: 2018-09-24)
==============
New features:
* Added function to compute interior angles of polygons (poly_angles)
* Added function to orient 3D data based on two vectors (orient_by_vectors).
* Replaced alignAxis with rotate_v2v, a new function that addresses the limitations of the former and provides
a more generalized, less buggy, and much faster implementation. alignAxis is still available but generates a
warning indicating that it is obsolete.
Other changes:
* Re-added vignette
* Consolidated rotate_v2v, alignAxis, and rotatePt_2D into a single file (geom_rotate)
* Improved documentation (ongoing)
* Added unit tests for several functions (ongoing)
Lithics3D v0.4.0 (Release date: 2018-09-02)
==============
First public release! Note that this package incorporates functions written over several years, and as a result there are unfortunate inconsistencies in the naming conventions as well as in the level of testing and documentation. These are issues that I hope will be fixed by the next release.
Major new features:
* Added functions to automatically measure edge angles along a given path. See `edgeAngles`
* Added functions to generate thickness maps See `mesh_tmap` and `mesh_tmap_plot`
* Added functions to connect landmarks following shortest paths along ridges and valleys on the mesh surface. This can be used, among other things, to simplify the landmarking process, since fewer landmarks are needed along artifact edges for example. See `sPathConnect`.
* Added functions to segment an object into multiple isolated components based on a closed path. This is useful, for example, in separating the ventral from the dorsal surface of flakes, or individual flake scars, for further analysis. See `mesh_segment_by_path`
* Added functions for volume and area calculations. For area I actually recommend using the Rvcg function `vcgArea` - this functionality is included here for historical reasons.
* Added ability to align objects based on a curve (e.g. landmarks along the ventral surface, or defining the platform). See `mesh_orient_by_contour_pca`.
* Added a variety of useful geometric functions, which can be used to measure lithic attributes or to build more complex functions to investigate lithic morphology. An example of this is the `proj_pt2p` function, which projects points onto, and computes their distances from, a plane.
* Added demo 3D scans provided by Pop Geological Consulting Services LTD (PGCS)