




<!-- NEWS.md was auto-generated by NEWS.Rmd. Please DO NOT edit by hand!-->

# Changes in version 0.9.19 (2022-03-10)

**This package version requires R \>= 4.0.5**

### New functions

-   `extract_ROI()`: Light-weighted function to extract pixel values
    from pre-defined regions-of-interest (ROI) from
    `RLum.Data.Image-class`, `array` or `matrix` objects and provide
    simple image processing capacity. While the function comes with a
    simple control plot output, the results can be passed also to
    `plot_ROI()`

-   `write_R2TIFF()`: Export `RLum.Data.Image` and `RLum.Data.Spectrum`
    objects or a list of such to TIFF Images. A convenient wrapper
    around the function `tiff::writeTIFF()`

### Bugfixes and changes

#### `merge_RLum.Results()`

-   If elements of type `matrix`, `data.frame` or `vector` were merged,
    usually attributes, additional to the standard attributes (e.g.,
    `class` for `data.frame`) were lost during the merging. Now, such
    attributes are preserved so far they are not of a similar name as
    the standard object of the object element (e.g., `dim` for `matrix`
    or `class` for `data.frame`). This small addition allows to merge
    more complex objects and retain all attributes for further
    processing.

#### `plot_DRTResults()`

-   The plot messed with the `par()` settings, which was problematic if,
    for instance, a second x-axis was wanted; fixed.
-   The function examples were not anymore up-to-date; fixed.

#### `plot_RLum.Data.Image()`

-   Minor correction of the colour legend, which did always show the
    highest value
-   New `...` argument `zlim_image` to maintain a consistent z-scale
    over a series of images.
-   The colour stretching could fail for `lin` and a lot of zero values;
    fixed.

#### `plot_RLum.Data.Spectrum()`

-   Fixed a bug that let `plot_RLum.Data.Spectrum()` crash under very
    particular circumstances due to a wrong conditional statement.
-   If the count limits are oddly chosen, i.e. `limit_counts` is smaller
    than the actual number of counts on the z-scale, the function does
    not crash anymore but replaces the value with the lowest possible
    value.
-   The argument `box` for the plot `persp` now accepts `alternate` for
    the customized plot without the box usually drawn around the plot.
-   The function now returns the adjusted matrix used for the plotting
    regardless of whether the argument `plot` is set to `TRUE` or
    `FALSE`.
-   If the plot type is `persp`, the default, the “viewing
    transformation matrix” is returned as an attribute `pmat`. This can
    be further used in conjunction with the function `graphics::trans3d`
    to add additional information to the graphic.

#### `plot_FilterCombinations()`

-   The function returned a wrongly calculated optical density, using
    `log()` instead of `log10`; fixed.= Note: The shiny filter app was
    not immediately affected because the values here were taken from a
    spreadsheet.
-   The output object is now invisible since the function’s main purpose
    is to plot a graphic and not return an object.

#### `plot_ROI()`

-   Add support for the new function `extract_ROI()`
-   Add new argument `bg_image` to support background image plotting
-   The numerical output is now consistently `invisble` as it is for all
    plot functions in the package
