alkahest
Pre-Processing XY Data from Experimental Methods - :exclamation: This is a read-only mirror from https://codeberg.org/tesselle/alkahest
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 10 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.0%) to scientific vocabulary
Keywords
archaeometry
r-package
spectroscopy
Last synced: 4 months ago
·
JSON representation
·
Repository
Pre-Processing XY Data from Experimental Methods - :exclamation: This is a read-only mirror from https://codeberg.org/tesselle/alkahest
Basic Info
- Host: GitHub
- Owner: tesselle
- License: gpl-3.0
- Language: R
- Default Branch: main
- Homepage: https://packages.tesselle.org/alkahest/
- Size: 1.71 MB
Statistics
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 4
Topics
archaeometry
r-package
spectroscopy
Created over 3 years ago
· Last pushed 5 months ago
Metadata Files
Readme
Changelog
License
Citation
Codemeta
README.Rmd
---
output: github_document
bibliography: vignettes/bibliography.bib
nocite: '@*'
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = NULL
)
Sys.setenv(LANGUAGE = "en") # Force locale
```
# alkahest
[](https://ci.codeberg.org/repos/14686){.pkgdown-devel}
[](https://packages.tesselle.org/alkahest/coverage/){.pkgdown-devel}
[](https://cran.r-project.org/package=alkahest){.pkgdown-devel}
[](https://tesselle.r-universe.dev){.pkgdown-devel}
[](https://cran.r-project.org/package=alkahest){.pkgdown-release}
[](https://cran.r-project.org/web/checks/check_results_alkahest.html){.pkgdown-release}
[](https://cran.r-project.org/package=alkahest){.pkgdown-release}
[](https://www.repostatus.org/#active)
[](https://doi.org/10.5281/zenodo.7081524)
## Overview
**alkahest** is a lightweight, dependency-free toolbox for pre-processing XY data from experimental methods (i.e. any signal that can be measured along a continuous variable). It provides methods for baseline estimation and correction, smoothing, normalization, integration and peaks detection.
* Baseline estimation methods: Linear, Polynomial [@lieber2003], Asymmetric Least Squares [@eilers2005], Rolling Ball [@kneen1996], Rubberband, SNIP [@morhac1997; @morhac2008; @ryan1988], 4S Peak Filling [@liland2015].
* Smoothing methods: Rectangular, Triangular, Loess, Savitzky-Golay Filter [@gorry1990; @savitzky1964], Whittaker [@eilers2003], Penalized Likelihood [@derooi2014]
---
```{r citation, echo=FALSE, comment='', results='asis'}
cite <- utils::citation("alkahest")
print(cite, bibtex = FALSE)
```
## Installation
You can install the released version of **alkahest** from [CRAN](https://CRAN.R-project.org) with:
```{r cran-installation, eval=FALSE}
install.packages("alkahest")
```
And the development version from [Codeberg](https://codeberg.org/) with:
```{r gh-installation, eval=FALSE}
# install.packages("remotes")
remotes::install_git("https://codeberg.org/tesselle/alkahest")
```
## Usage
```{r packages}
## Load the package
library(alkahest)
```
**alkahest** expects the input data to be in the simplest form (a two-column matrix or data frame, a two-element list or two numeric vectors).
```{r baseline}
## X-ray diffraction
data("XRD")
## 4S Peak Filling baseline
baseline <- baseline_peakfilling(XRD, n = 10, m = 5, by = 10, sparse = TRUE)
plot(XRD, type = "l", xlab = expression(2*theta), ylab = "Count")
lines(baseline, type = "l", col = "red")
```
```{r peaks}
## Correct baseline
XRD <- signal_drift(XRD, lag = baseline, subtract = TRUE)
## Find peaks
peaks <- peaks_find(XRD, SNR = 3, m = 11)
plot(XRD, type = "l", xlab = expression(2*theta), ylab = "Count")
lines(peaks, type = "p", pch = 16, col = "red")
```
```{r smooth, fig.width=5, fig.height=5, out.width='50%', fig.show='hold'}
## Simulate data
set.seed(12345)
x <- seq(-4, 4, length = 100)
y <- dnorm(x)
z <- y + rnorm(100, mean = 0, sd = 0.01) # Add some noise
## Plot raw data
plot(x, z, type = "l", xlab = "", ylab = "", main = "Raw data")
lines(x, y, type = "l", lty = 2, col = "red")
## Savitzky–Golay filter
smooth <- smooth_savitzky(x, z, m = 21, p = 2)
plot(smooth, type = "l", xlab = "", ylab = "", main = "Savitzky–Golay filter")
lines(x, y, type = "l", lty = 2, col = "red")
```
## Contributing
Please note that the **alkahest** project is released with a [Contributor Code of Conduct](https://www.tesselle.org/conduct.html). By contributing to this project, you agree to abide by its terms.
## References
```{r metadata, include=FALSE}
## Update codemeta.json
codemetar::write_codemeta(verbose = FALSE)
## Update CITATION.cff
cff_keys <- list(
identifiers = list(
list(description = "The concept DOI.",
type = "doi",
value = "10.5281/zenodo.7081524"),
list(description = "The versioned DOI for version 1.0.0.",
type = "doi",
value = "10.5281/zenodo.7081525"),
list(description = "The versioned DOI for version 1.1.0.",
type = "doi",
value = "10.5281/zenodo.7947723"),
list(description = "The versioned DOI for version 1.1.1.",
type = "doi",
value = "10.5281/zenodo.8031801"),
list(description = "The versioned DOI for version 1.2.0.",
type = "doi",
value = "10.5281/zenodo.12941057"),
list(description = "The versioned DOI for version 1.3.0.",
type = "doi",
value = "10.5281/zenodo.14927537"),
list(description = "The CRAN DOI",
type = "doi",
value = "10.32614/cran.package.alkahest")
)
)
cff <- cffr::cff_create("DESCRIPTION", keys = cff_keys)
if (cffr::cff_validate(cff)) cffr::cff_write(cff, outfile = "CITATION.cff")
```
Owner
- Name: tesselle
- Login: tesselle
- Kind: organization
- Location: France
- Website: www.tesselle.org
- Repositories: 5
- Profile: https://github.com/tesselle
A collection of R packages for archaeological research and teaching
Citation (CITATION.cff)
# --------------------------------------------
# CITATION file created with {cffr} R package
# See also: https://docs.ropensci.org/cffr/
# --------------------------------------------
cff-version: 1.2.0
message: 'To cite package "alkahest" in publications use:'
type: software
license: GPL-3.0-or-later
title: 'alkahest: Pre-Processing XY Data from Experimental Methods'
version: 1.3.0
doi: 10.5281/zenodo.7081524
identifiers:
- description: The concept DOI.
type: doi
value: 10.5281/zenodo.7081524
- description: The versioned DOI for version 1.0.0.
type: doi
value: 10.5281/zenodo.7081525
- description: The versioned DOI for version 1.1.0.
type: doi
value: 10.5281/zenodo.7947723
- description: The versioned DOI for version 1.1.1.
type: doi
value: 10.5281/zenodo.8031801
- description: The versioned DOI for version 1.2.0.
type: doi
value: 10.5281/zenodo.12941057
- description: The versioned DOI for version 1.3.0.
type: doi
value: 10.5281/zenodo.14927537
- description: The CRAN DOI
type: doi
value: 10.32614/cran.package.alkahest
abstract: A lightweight, dependency-free toolbox for pre-processing XY data from experimental
methods (i.e. any signal that can be measured along a continuous variable). This
package provides methods for baseline estimation and correction, smoothing, normalization,
integration and peaks detection. Baseline correction methods includes polynomial
fitting as described in Lieber and Mahadevan-Jansen (2003) <https://doi.org/10.1366/000370203322554518>,
Rolling Ball algorithm after Kneen and Annegarn (1996) <https://doi.org/10.1016/0168-583X(95)00908-6>,
SNIP algorithm after Ryan et al. (1988) <https://doi.org/10.1016/0168-583X(88)90063-8>,
4S Peak Filling after Liland (2015) <https://doi.org/10.1016/j.mex.2015.02.009>
and more.
authors:
- family-names: Frerebeau
given-names: Nicolas
email: nicolas.frerebeau@u-bordeaux-montaigne.fr
orcid: https://orcid.org/0000-0001-5759-4944
preferred-citation:
type: manual
title: 'alkahest: Pre-Processing XY Data from Experimental Methods'
authors:
- family-names: Frerebeau
given-names: Nicolas
email: nicolas.frerebeau@u-bordeaux-montaigne.fr
orcid: https://orcid.org/0000-0001-5759-4944
year: '2025'
institution:
name: Université Bordeaux Montaigne
address: Pessac, France
notes: R package version 1.3.0
url: https://packages.tesselle.org/alkahest/
doi: 10.5281/zenodo.7081524
repository: https://CRAN.R-project.org/package=alkahest
repository-code: https://codeberg.org/tesselle/alkahest
url: https://packages.tesselle.org/alkahest/
contact:
- family-names: Frerebeau
given-names: Nicolas
email: nicolas.frerebeau@u-bordeaux-montaigne.fr
orcid: https://orcid.org/0000-0001-5759-4944
keywords:
- spectroscopy
- archaeometry
- r-package
references:
- type: software
title: 'R: A Language and Environment for Statistical Computing'
notes: Depends
url: https://www.R-project.org/
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
version: '>= 3.5.0'
- type: software
title: grDevices
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: methods
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: stats
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: utils
abstract: 'R: A Language and Environment for Statistical Computing'
notes: Imports
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
- type: software
title: knitr
abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R'
notes: Suggests
url: https://yihui.org/knitr/
repository: https://CRAN.R-project.org/package=knitr
authors:
- family-names: Xie
given-names: Yihui
email: xie@yihui.name
orcid: https://orcid.org/0000-0003-0645-5666
year: '2025'
doi: 10.32614/CRAN.package.knitr
- type: software
title: markdown
abstract: 'markdown: Render Markdown with ''commonmark'''
notes: Suggests
url: https://github.com/rstudio/markdown
repository: https://CRAN.R-project.org/package=markdown
authors:
- family-names: Xie
given-names: Yihui
email: xie@yihui.name
orcid: https://orcid.org/0000-0003-0645-5666
- family-names: Allaire
given-names: JJ
- family-names: Horner
given-names: Jeffrey
year: '2025'
doi: 10.32614/CRAN.package.markdown
- type: software
title: Matrix
abstract: 'Matrix: Sparse and Dense Matrix Classes and Methods'
notes: Suggests
url: https://Matrix.R-forge.R-project.org
repository: https://CRAN.R-project.org/package=Matrix
authors:
- family-names: Bates
given-names: Douglas
orcid: https://orcid.org/0000-0001-8316-9503
- family-names: Maechler
given-names: Martin
email: mmaechler+Matrix@gmail.com
orcid: https://orcid.org/0000-0002-8685-9910
- family-names: Jagan
given-names: Mikael
orcid: https://orcid.org/0000-0002-3542-2938
year: '2025'
doi: 10.32614/CRAN.package.Matrix
- type: software
title: tinytest
abstract: 'tinytest: Lightweight and Feature Complete Unit Testing Framework'
notes: Suggests
url: https://github.com/markvanderloo/tinytest
repository: https://CRAN.R-project.org/package=tinytest
authors:
- family-names: Loo
given-names: Mark
name-particle: van der
email: mark.vanderloo@gmail.com
orcid: https://orcid.org/0000-0002-9807-4686
year: '2025'
doi: 10.32614/CRAN.package.tinytest
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "alkahest",
"description": "A lightweight, dependency-free toolbox for pre-processing XY data from experimental methods (i.e. any signal that can be measured along a continuous variable). This package provides methods for baseline estimation and correction, smoothing, normalization, integration and peaks detection. Baseline correction methods includes polynomial fitting as described in Lieber and Mahadevan-Jansen (2003) <doi:10.1366/000370203322554518>, Rolling Ball algorithm after Kneen and Annegarn (1996) <doi:10.1016/0168-583X(95)00908-6>, SNIP algorithm after Ryan et al. (1988) <doi:10.1016/0168-583X(88)90063-8>, 4S Peak Filling after Liland (2015) <doi:10.1016/j.mex.2015.02.009> and more.",
"name": "alkahest: Pre-Processing XY Data from Experimental Methods",
"relatedLink": [
"https://packages.tesselle.org/alkahest/",
"https://CRAN.R-project.org/package=alkahest"
],
"codeRepository": "https://codeberg.org/tesselle/alkahest",
"issueTracker": "https://codeberg.org/tesselle/alkahest/issues",
"license": "https://spdx.org/licenses/GPL-3.0",
"version": "1.3.0",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R Under development (unstable) (2025-02-23 r87804)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Nicolas",
"familyName": "Frerebeau",
"email": "nicolas.frerebeau@u-bordeaux-montaigne.fr",
"@id": "https://orcid.org/0000-0001-5759-4944"
}
],
"funder": [
{
"@type": "Organization",
"name": "Universit Bordeaux Montaigne"
},
{
"@type": "Organization",
"name": "CNRS"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Nicolas",
"familyName": "Frerebeau",
"email": "nicolas.frerebeau@u-bordeaux-montaigne.fr",
"@id": "https://orcid.org/0000-0001-5759-4944"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "markdown",
"name": "markdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=markdown"
},
{
"@type": "SoftwareApplication",
"identifier": "Matrix",
"name": "Matrix",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Matrix"
},
{
"@type": "SoftwareApplication",
"identifier": "tinytest",
"name": "tinytest",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tinytest"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 3.5.0"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "grDevices",
"name": "grDevices"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "methods",
"name": "methods"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "stats",
"name": "stats"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "utils",
"name": "utils"
},
"SystemRequirements": null
},
"isPartOf": "https://www.tesselle.org",
"keywords": [
"spectroscopy",
"archaeometry",
"r-package"
],
"fileSize": "936.987KB",
"citation": [
{
"@type": "SoftwareSourceCode",
"datePublished": "2025",
"author": [
{
"@type": "Person",
"givenName": "Nicolas",
"familyName": "Frerebeau"
}
],
"name": "{alkahest: Pre-Processing XY Data from Experimental Methods}",
"identifier": "10.5281/zenodo.7081524",
"url": "https://packages.tesselle.org/alkahest/",
"description": "R package version 1.3.0",
"@id": "https://doi.org/10.5281/zenodo.7081524",
"sameAs": "https://doi.org/10.5281/zenodo.7081524"
}
],
"developmentStatus": "https://www.repostatus.org/#active"
}
GitHub Events
Total
- Push event: 7
- Create event: 1
Last Year
- Push event: 7
- Create event: 1
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| nfrerebeau | n****u@u****r | 94 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
DESCRIPTION
cran
- R >= 3.5.0 depends
- grDevices * imports
- methods * imports
- stats * imports
- utils * imports
- Matrix * suggests
- knitr * suggests
- rmarkdown * suggests
- tinytest * suggests