webmorphR

Reproducible face stimuli

https://github.com/debruine/webmorphr

Science Score: 54.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
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.0%) to scientific vocabulary

Keywords

faces r
Last synced: 6 months ago · JSON representation ·

Repository

Reproducible face stimuli

Basic Info
Statistics
  • Stars: 16
  • Watchers: 3
  • Forks: 5
  • Open Issues: 10
  • Releases: 2
Topics
faces r
Created almost 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Citation Zenodo

README.Rmd

---
output: github_document
---



```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/",
  out.width = "100%"
)
```

# webmorphR ![](man/figures/logo.png){style="float:right; width:200px;"}


[![DOI](https://zenodo.org/badge/357819230.svg)](https://zenodo.org/badge/latestdoi/357819230)
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![Codecov test coverage](https://codecov.io/gh/debruine/webmorphR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/debruine/webmorphR?branch=master)
[![R-CMD-check](https://github.com/debruine/webmorphR/workflows/R-CMD-check/badge.svg)](https://github.com/debruine/webmorphR/actions)


The goal of webmorphR is to make the construction of image stimuli more reproducible, with a focus on face stimuli. While face stimuli used in research can often not be shared for ethical reasons, webmorphR allows you to share recipes for creating stimuli with code, increasing reproducibility and encouraging generalisability to new faces.

This development of this package was funded by ERC grant #647910 (KINSHIP).

## Installation

You can install webmorphR from CRAN with:

``` r
install_packages("webmorphR")
```

You can install the development version from [GitHub](https://github.com/) with:

``` r
# install.packages("devtools")
devtools::install_github("debruine/webmorphR")
```

## Use

The code below produces the following figure reproducibly, and can be applied to any set of original images.

![](man/figures/example.jpg)

Load images with [psychomorph/webmorph templates](https://debruine.github.io/webmorph/getting-started.html#delineate) or automatically delineate them. Use functions like `resize()`, `align()` and `crop()` to process the images reproducibly. Use webmorph functions to create composite or transformed faces. Use the plotting and labelling functions to create figures.

```{r, eval = FALSE}
library(webmorphR)

# load 6 images from the smiling demo set
# devtools::install_github("debruine/webmorphR.stim")
original <- webmorphR.stim::load_stim_smiling("002|013|030|064|094|099") 

# resize and delineate the images (using Face++)
# procrustes align and crop them to 80% size
processed <- original |>
  resize(0.5) |>
  auto_delin(smiling, model = "fpp106") |>
  align(procrustes = TRUE) |>
  crop(width = 0.8, height = 0.8, y_off = 0)

# rename and save individual images
processed |>
  rename_stim(prefix = "aligned_") |>
  write_stim(dir = "stimuli/smiling")

# average faces (using webmorph.org)
avg <- avg(processed)

# combine individual faces in a grid the same height as the average face
grid <- plot(processed, 
             ncol = 2, 
             external_pad = FALSE,
             maxheight = height(avg))

# draw template on the average face and add a label
tem_viz <- avg |>
  draw_tem() |>
  label(text = "Composite with Template",
        size = 30, location = "+0+10")

# combine the grid and tem_viz images and plot
c(grid, tem_viz) |> 
  plot(nrow = 1, maxwidth = 1500)
```



## Helper packages

There are also two helper packages that contain large demo stimulus files or functions that require python and dlib.

``` r
devtools::install_github("debruine/webmorphR.stim")
devtools::install_github("debruine/webmorphR.dlib")
```






Owner

  • Name: Lisa DeBruine
  • Login: debruine
  • Kind: user
  • Location: Glasgow, Scotland
  • Company: University of Glasgow

Psych prof slowly morphing into an rstats dev

Citation (CITATION)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: DeBruine
    given-names: Lisa
    orcid: https://orcid.org/0000-0002-7523-5539
title: webmorphR: Reproducible Stimuli
doi:10.5281/zenodo.6570965
version: v0.1.1
date-released: 2022-06-03

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
Last Year
  • Watch event: 1
  • Push event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 95
  • Total Committers: 1
  • Avg Commits per committer: 95.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
debruine d****e@g****m 95

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 20
  • Total pull requests: 2
  • Average time to close issues: 12 days
  • Average time to close pull requests: less than a minute
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 0.75
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • debruine (15)
  • navmayan (2)
  • LorenAmelang (1)
  • yarenkoca (1)
  • Amelieatge (1)
Pull Request Authors
  • mmejia23 (1)
  • debruine (1)
Top Labels
Issue Labels
documentation (3) enhancement (3) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 145 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: webmorphR

Reproducible Stimuli

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 145 Last month
Rankings
Forks count: 12.8%
Stargazers count: 19.8%
Dependent packages count: 29.8%
Dependent repos count: 35.5%
Average: 37.2%
Downloads: 88.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 4.1.0 depends
  • dplyr * imports
  • geomorph * imports
  • ggplot2 * imports
  • grDevices * imports
  • grid * imports
  • httr * imports
  • jsonlite * imports
  • magick * imports
  • progress * imports
  • rsvg * imports
  • stats * imports
  • tools * imports
  • DT * suggests
  • covr * suggests
  • gifski * suggests
  • rmarkdown * suggests
  • shiny * suggests
  • shinyWidgets * suggests
  • shinydashboard * suggests
  • shinyjs * suggests
  • testthat * suggests
  • usethis * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v1 composite
  • r-lib/actions/setup-r-dependencies v1 composite