- Removed rgeos dependency so that Momocs can resurect on CRAN
- Fixed several minor bugs, mostly with plotting.
- coo_slide duplicated the initial point in some cases. Now fixed.
- coo_likely_clockwise (and friends) now uses complex numbers and is much more robust.
- removed some annoying messages.
- slice(..., 1) now returns a matrix for $coe, not a numeric ([,,drop=FALSE])
- I'm currently out of academia and I'm looking for funding to develop MomX. I plan to give some of my time in 2022 and after but if you have any ideas, either directly or through hiring me for consulting, ring my bell!
plot_PCA
andplot_LDA
did not consistently work within egpdf()
. Thanks to Bill fof pointing this. (214)- coo_shearx/y did not return the Coo. Fixed.
- Turned remaining
return
forreturn()
to please R CMD check as_df
now usestibble
verbs everywhere- printing Coo is faster now at the price of sampling 100 shapes on which to calculate the mean number of coordinates and their sd.
- Removed the (quite) annoying startup message. I will not have time for MomX until 2021 anyway
- Changed all
dplyr::as_data_frame
fortibble::as_tibble
- This version will be the last major one released on CRAN. Momocs is now retired and will no longer be maintained. See momx.github.io. As of April 15, 2020 it satisifies all available testing approaches.
- new multivariate method:
KMEDOIDS
on top ofcluster::pam
. Added aplot_silhouette
to go with this friend. Now dependscluster
. - new multivariate method:
NMDS
on top ofvegan::metaMDS
; useplot_NMDS
to plot it andvegan::stressplot
for a Shepard plot. Now dependsvegan
. - new multivariate method:
MDS
on top ofcmdscale
; useplot_MDS
to plot it. mshapes
is nowMSHAPES
to stick with other capitalized "multivariate" methods.mshapes
now just announces its future deprecation.MSHAPES
now just returns data_frame of PCs or LDs when used onPCA
orLDA
objects.- Consequently,
plot_MSHAPES
is the new method for plotting it. Works on lists and on the result ofMSHAPES
. plot_CV
has been refreshed, and is better now at plotting either small or very big matrices.fac_dispatcher
supportsNULL
which eases a lot multivariate plots (notably Momecs side)- new handling method
rm_missing
to deal with missing data in$fac
boxplot
methods on Coe have been refreshedhist
methods on Coe deprecatedcoo_plot
no longer a method and gains acex.first.point
argument- new method:
coo_scalars
that gather all scalar descriptors of shape TraCoe
class properlydata_frame
ize fac when build fromTraCoe()
CLUST
methods have been rewrote and now wraps arounddendextend
.- Consequently released
ape
dependency. - all morphometrics methods now accepts
list
s which is more elegant when working withchop
+combine
LDA
methods have been partly rewritten and now handles constant and collinear variables by dropping them and storing them in the returned list- morphospace on LDAs are (finally) back, yet still quite experimental.
coo_untiltx
now removes (residual) rotational biases aftercoo_slidedirection
and should be used after it.plot_LDA
now on. Pretty much the same asplot_PCA
(which was expected yet nice)..layerize_LDA
as an internal to prepare the previous- new vignettes:
Momocs_coo
andMomocs_FAQ
; others refreshed. morphospace_position
andchullfilled
inplot_PCA
now properly workingverify
replacesvalidate
to avoid conflict withshiny::validate
(for Momecs)subsetize
now exported (again)def_ldk
gains aclose
andpoints
argument- no more printing of Coo errors that was due to some forgotten
data.frame
rather thandata_frame
- all
Coo
builders gain a.data.frame
method, notably to ease compatibility with Momit as_df
now returns more usefuldata_frame
everywhere and gain aretain
argument- deprecated
coo_angle_edge1
and friends, now incoo_angle_edges
see 1.2.9. - fixed minor bugs (see GitHub history of commits)
- Started a general review of Momocs (including #184) to prepare for MomX. For my convenience, all changes will stack on 1.2.5 on GitHub but will appear, in the end, as 1.9.0 on CRAN to both reflect proximity with 2.0 and the huge quantity of changes since 1.2
- Moved everything to
github.com/MomX/Momocs
- ongoing complete review of code
- ongoing complete review of manual pages: lots of grouping, more and better
- graphics is not dead (aka grindr): pipe-friendly base layers for biplots and shape drawing on cartesian coordinates. Is used to replace all multivariate plotters (eg
plot.PCA
), family pictures (egstack
will be replace bypile
and remove an annoying conflict withutils::stack
,panel
) and single shape plotters (egldk_plot
,coo_plot
). This strategy is faster, much more generic and will ease further development and maintenance compared to previous Momocs graphs. - A vignette details
grindr
rationale and use.
- new functions:
andnow
andandnow_method
class tells you what to do with this object, and which classes are supported by this function/method. - new
coo_*
methods:coo_range
,coo_range_enlarge
,coo_diffrange
,coo_template_relatively
. The latter will prepare ground for proper size handling, notably for morphospaces. - Many
coo
functions ported to methods and now supporting.Coo
directly:coo_angle_edges
,coo_angle_tangent
,coo_boundingbox
,coo_calliper
,coo_chull
,coo_chull_onion
,coo_circularity
,coo_circularityharalick
,coo_circularity_norm
,coo_convexity
,coo_dxy
,coo_eccentricityboundingbox
,coo_eccentricityeigen
,coo_elongation
,coo_intersect_angle
,coo_intersect_direction
,coo_intersect_segment
,coo_perim
,coo_perimcum
,coo_perimpts
,coo_rectangularity
,coo_rectilinearity
,coo_scalex
,coo_scaley
,coo_solidity
,coo_truss
. - Palettes are now those colorblind-friendly from RColorBrewer and those, state of the art, virids palettes. See also
pal_manual
,pal_qual_solarized
andpal_seq_grey
. dispatch_fac
is now behind allfac
argumentsfgProcrustes
now accepts listsefourier
with defaultnorm=TRUE
now messages about how wrong it may bedplyr::tibble()
everywhere pertinent
- All
is.*
aliases foris_*
methods - Deprecated
classify
for a while - All
calibrate_*(..., method)
have been renamed tocalibrate_*_method
. See?calibrate_reconstructions
and friends. - Deprecated
plot3.PCA
(will be replaced in further versions) Ntable
now splitted into ofplot_table
+table
coo_tangle
now incoo_angle_tangent
coo_theta3
now incoo_angle_edges
truss
now incoo_truss
and a method of its ownplot.Coo
is nowinspect
pos.shapes
is nowmorphospace_positions
is_closed
is deprecated, nowcoo_is_closed
; same foris_open
nowcoo_is_open
, to comply with allcoo_*
friends naming schemeis_clockwise
is deprecated, nowcoo_likely_clockwise
; same foris_anticlockwise
nowcoo_likely_anticlockwise
. Better reflect the incertainty and gather withcoo_*
friends- Deprecated
table
(poor shortcut anyway and avoid this boring startup message) - Deprecated
stack2
andpanel2
before their rewriting - Deprecated
as_Out
, that should have beenefourier_i.OutCoe
anyway. - Consequently deprecated
panel.OutCoe
method that was additionnaly the onlyCoe
method. May be back in further versions. - Some non-exported functions (ie internals) now homegeneously begin with a
.
, eg.is.error
(tryMomocs:::. + <Tab>
for a complete list). - Some previously exported functions are now internals (
function_foo
renamed to.function_foo
):.coo_angle_edge1
,.vecs_param
,.refactor
NEWS
is now a decent NEWS file- Online doc has been moved to [http://momx.github.io/Momocs/]
- Released
reshape2
,plyr
dependencies - Now depends
RColorBrewer
,progress
- Proper indications of external functions with
::
. A nice side effect is to remove annoying messages when attaching Momocs. Another is the removal of mostimportFrom
.
- Besides deprecated/renamed functions there should be no breaking changes.
- Future breaking changes are announced within concerned functions.
- Waiting for a cleaner fix,
subset
is nowsubsetize
... - Fixed a bug in
LDA
whenretain=1
(#e7704eb) - Messages homogeneity
- Internals have been lightened
- verbosity and progress bar are now handled via
options("verbose")
- Various minor bugs fixes, see GitHub
- New functions/methods:
coo_intersect_segment
,coo_intersect_direction
,coo_intersect_angle
,def_ldk_direction
,def_ldk_angle
,def_ldk
,def_ldk_tips
,coo_sample_prop
coo_slice.Opn
now supportsldk
argument.- Now depends rgeos for intersecting methods.
- Lightened
nsfishes
andcharring
to comply R CMD CHECK. - Various minor bugs fixes, see GitHub
- Built with R 3.4.3
coo_slice
now suportsldk
argument- Various minor bugs fixes, see GitHub
MANOVA_PW
now returns p-values- New dataset
nsfishes
- minor debugging, see GitHub
- Introduced testing with
testthat
- Minor debugging, see GitHub
sfourier
family implementation- new datasets:
apodemus
andmouse
plot2.PCA
deprecated due to ggplot2 2.2.0 breaking changes- Few minor changes that can be followed on GitHub commits
- Release on CRAN that replaces the now completely obsolete
0.2.6
(the one from the JSS paper. - It consists of the last version pushed to CRAN.
- Started to routinely use GitHub (and
NEWS
) - a complete rewriting of the package, and the inclusion of new morphometrics approches (open outlines, configuration of landmarks, global shape descriptors).
- New design with classes
Out
,Opn
andLdk
to handle (closed) outlines, open outlines and configuration of landmarks.Coo
becomes a "super class" encompassing the three others. - S4 -> S3 rewriting. Maybe less orthodox but much more easy to understand, code, extend which is probably the most required for Momocs at this step.
- Renaming of functions/methods in a more consistent scheme
- New/partial rewriting of multivariate methods:
MANOVA
,MANOVA_PW
,LDA
,KMEANS
,CLUST
. - Graphics have been refreshed:
panel
,stack
,plot.PCA
- New datasets:
chaff
,flowers
,oak
,olea
,molars
,shapes
,wings
, - General review of the helpfiles
- Many issues fixed, see GitHub
- Momocs speed dating: a tutorial as a vignette (see
browseVignette("Momocs")
is available