Skip to content

Version 0.9.0

Compare
Choose a tag to compare
@tillbiskup tillbiskup released this 13 Jan 20:12
· 111 commits to master since this release

Released 2024-01-13

New features

  • Processing steps

    • aspecd.processing.CommonRangeExtraction works for ND datasets with arbitrary dimension N
  • Plotting

    • Legend title can be set from recipes

    • New attribute aspecd.plotting.AxesProperties.invert for inverting axes. Helpful, e.g., for plotting FTIR data without having to resort to explicitly provide descending axis limits.

    • Setting font size of axes labels via label_fontsize property.

    • Colorbar for 2D plotter

    • Annotations for plots

  • Device data

    • New property aspecd.dataset.Dataset.device_data for storing additional/secondary (monitoring) data.

    • New class aspecd.dataset.DeviceData for device data.

    • New class aspecd.analysis.DeviceDataExtraction for extracting device data from a dataset as a separate dataset. This allows to proceed with the extracted datasets as with any other dataset.

    • New class aspecd.plotting.MultiDeviceDataPlotter1D for plotting multiple device data of a single dataset.

    • New parameter device_data in aspecd.plotting.Plotter for plotting device data rather than primary data of a dataset/datasets

  • Logging

    • New function aspecd.utils.get_logger to get a logger object for a given module with the logger within the hierarchy of the ASpecD root logger. Important for packages derived from the ASpecD framework in order to get their log messages being captured, e.g. during recipe-driven data analysis.

Changes

  • Plotters can now handle device data instead of the primary data of a dataset (see above). This means, however, that instead of accessing self.dataset.data (or self.datasets[#].data), plotters need to access self.data.data (or self.data[#].data) instead.

    Authors of derived packages should update their plotters accordingly. See the hints for developers on device data in the plotting module.

  • Serving recipes logs messages from all ASpecD modules, not only from the aspecd.tasks module.

  • aspecd.io.DatasetImporterFactory logs warning if no concrete importer could be found for a given dataset, as this will usually result in (sometimes hard to detect) downstream problems.

  • aspecd.io.DatasetExporter adds a history record to aspecd.dataset.Dataset.tasks.

  • aspecd.plotting.SinglePlotter1D and aspecd.plotting.MultiPlotter1D issue warning with log plotters and negative values.

  • aspecd.annotation.DatasetAnnotation has been renamed from Annotation to reflect the fact that there are now plot annotations as well.

Documentation

  • New example: Plotting FTIR spectra normalised to spectral feature
  • Section with general tips and tricks for styling plotters.

Fixes

  • aspecd.utils.ToDictMixin.to_dict does not traverse settings for properties to exclude and include.
  • Workaround for matplotlib.figure.Figure.savefig not correctly handling figure DPI settings.