New Releases of Rvcg and Morpho: New features, performance improvements and bugfixes
01 Aug 2016I am proudly presenting new new CRAN releases of Rvcg and Morpho: The most significant changes are the optional use of external pointers to allow reusable KD-Trees and different mesh subdivision routines in Rvcg, and im/export of 3DSlicer fiducials and functions to sort curve semilandmarks and to make them equidistant. Below is the complete list of changes:
Morpho 2.4
New features
- added
sortCurveandequidistantCurve - added kappa statistic to
print.classify - added
read/write.fcsvto read write landmark in 3DSlicer format - added
prcompfast, a faster and more memory efficient version of prcomp slider3d: now sliding without specifying surfaces is possible. Surface is estimated by computing normals from point clouds using vcgUpdateNormals- added
plotmethod forslider3d - added
fastKmeansa very fast and efficient way to compute k-means clustering for 2D and 3D data.
bugfixes and minor changes
- fixed C++14 standard requirements
- made index in
rmVertexunique showPC: for single PCs vectors of length> 1 are coerced to matrix- added option
marginindeformGrid3danddeformGrid2d - unified code for creating bending energy matrix
- made
relWarpsmore memory and speed efficient and added option getBasis to disable (computationally expensive) calculation of vector basis. - added dimnames from rownames in
vecx groupPCA: returns Grandmean and Groupmeans as matrix/array for landmark data- correct output in
find.outliersifmahalanobis=TRUEand add probability - added
reflection=FALSEinfind.outliersand corrected reported distances - fixed
read.lmdtafor single configs slider3d: fixed case where all file infos are stored in sur.name- removed dependency yaImpute using
vcgKDtreeinstead - added unit testing for
slider3d - made
CreateLandtps3dmulti-threaded - added options
silenttoslider3dandrelaxLM - ignore missing values when calculating quantiles and mindist in
meshDist - refactored
CVAand added unit test - fixed
predictPLSfromScoresforncomp=1 - fixed correct
lwdpassing indeformGrid3d - fixed
procAOVsymfor 2D case (correct df) - added unit test for
pls2B - speed up
pls2Bby some orders of magnitude, now suitable for very large landmark configurations
Rvcg 0.14
new features
- added
vcgBallPivoting: ball pivoting surface reconstruction - added
vcgKmeansa fast k-means clustering for 2D and 3D point clouds - added
vcgClostOnKDtreeFromBarycenters,vcgCreateKDtree, vcgCreateKDtreeFromBarycenters, vcgSearchKDtreeto allow reusing KD-Trees - added
vcgSubdivideto refine an existing mesh by subidviding faces - added
vcgMetroto compare differences between two meshes using different types of subsampling (thanks to F. Girinion) - added
vcgAreato calculate the surface area of a mesh - added option
keeptovcgIsolatedand allowed options diameter/facenum to be used withsplit=T - updated vcglib to revision 5735
- added
Rvcg::IOMesh::mesh3d2Rvcg<T>, allowing easier conversion from mesh3d to vcglib meshtypes - added
checkFaceOrientationto check whether a the outer layer of a surface mesh points outward
bug fixes
vcgClost: in case distances are beyond threshold, distance values are to NaN and a warning is issued- refactored and simplified C++ code