Skip to content

qualpalr 1.0.0

Choose a tag to compare

@jolars jolars released this 18 Aug 20:03
66c172a

New or Modified Features

  • qualpal() now uses the CIEDE2000 metric instead of the DIN99d one
    by default. Users can still specify the DIN99d metric by passing
    metric = "din99d" to qualpal().
  • The character method of the qualpal() function now accepts
    a name for a predefined palette, such as "ColorBrewer::Set1" or
    "Tableau::10", which will use the corresponding palette's
    colors as input. Passing one of the old colorspace names
    now throws a warning and will be removed in the next major release.
  • qualpal() now accepts a background color through the bg argument,
    which is considered when generating the palette, but not included in the
    final palette.
  • The color difference metric in qualpal() can now be specified
    using the metric argument, which accepts either "din99d" (the default),
    "ciede2000", or "cie76". Expect slower performance for "ciede2000".
  • The autopal() function is now deprecated and will be removed int the next major
    release. There is no direct replacement.
  • There's a new function, analyze_palette(), which analyzes a categorical
    color palette.
  • qualpal() now has a extend method that allows the user to extend
    an existing palette by adding more colors to it. This is useful for
    expanding an existing palette to include more colors.
  • The color space (list) method of qualpal() now accepts
    a specification in the LCHab (HCL) color space, which is
    a cylindrical representation of the Lab color space. This is mostly
    added to simplify comparisons with other packages that use LCHab
    as input. We still recommend using the HSL color space, which is
    more intuitive for most users.
  • There's a new function, list_palettes(), which lists all built-in palettes
    available in the package, which can thus be used in the new character method
    for qualpal(). This includes the predefined palettes from ColorBrewer,
    Tableau, and other sources.
  • There's a new function, get_palette(), which retrieves a palette
    by name from the built-in palettes.
  • The cvd argument now accepts a named numeric vector, which allows specifying
    the severity of color vision deficiency for each type of deficiency.
    The names are "protan", "deuter", and "tritan".
  • The cvd_severity argument has been deprecated and will be removed
    in the next major release. The cvd argument now handles all cases of color
    vision deficiency adaptation directly.

Refactoring

  • The entire C++ backend for the package has been rewritten and
    outsourced to a separate C++ library, qualpal.

Bug Fixes

  • An inconsistency in the conversion from Lab to DIN99d color space,
    where the reference of the white point was not modified correctly,
    has been fixed.

Performance Improvements

  • The color distance computation has been parallelized using
    OpenMP.
  • All of the heavy lifting is now done in C++, which should
    significantly improve performance, especially for larger palettes.