Code Monkey home page Code Monkey logo

ggspectra's Introduction

GitHub stats

Computing-related Skills

Programing: R, (Python), C++, (Java), C, bash, awk, Perl, sh, (FORTRAN), Modula-2, Pascal, BASIC, Forth.

Text mark up: $\LaTeX$, $\TeX$, Quarto, Rmarkdown, markdown, HTML.

Revision control systems: git, svn, (cvs), rss.

Drafting: Inkscape, OpenSCAD, Adobe Illustrator.

Image/photography: Capture One, Helicon Focus, Lumariver Profile Designer, RawDigger, VueScan, LightRoom, Photoshop.

Video- and interactive tutorials: FlashBack Pro, R shiny.

IDE/GUI’s I like

WinEdt (for $\LaTeX$, $\TeX$, with embedded R code or not), RStudio (for R scripts, Quarto and Rmarkdown), GitKraken (for git).

Elsewhere

ORCID profile: ORCID logo https://orcid.org/0000-0003-3385-972X

Web site for the book Learn R: As a Language.

R Packages

The sources of the R packages I have published are in public Git repositories at GitHub. Out of the packages that I have authored and maintain, 14 are currently available through CRAN. The total number of packages submissions (mostly updates) as author and maintainer is 203 since 2016-01-29.

I have published in CRAN one package update roughly every 15 days, or about 1.97 package updates per month, since 2016-01-29.

The most recent of these updates was published in CRAN on 2024-07-01.

📂 Click to expand a list of my packages at CRAN with the most recently updated one at the top.
R package Title Version Date
ggpp Grammar Extensions to ‘ggplot2’ 0.5.8-1 2024-07-01
ggpmisc Miscellaneous Extensions to ‘ggplot2’ 0.6.0 2024-06-28
gginnards Explore the Innards of ‘ggplot2’ Objects 0.2.0 2024-05-01
learnrbook Datasets and Code Examples from P. J. Aphalo’s “Learn R” Book 2.0.1 2024-04-28
photobiologyPlants Plant Photobiology Related Functions and Data 0.5.0 2024-04-02
photobiologySun Data for Sunlight Spectra 0.5.0 2024-04-01
photobiology Photobiological Calculations 0.11.2 2024-03-31
photobiologyFilters Spectral Transmittance and Spectral Reflectance Data 0.6.0 2024-02-27
photobiologyLEDs Spectral Data for Light-Emitting-Diodes 0.5.2 2023-11-01
photobiologyLamps Spectral Irradiance Data for Lamps 0.5.2 2023-10-24
photobiologySensors Response Data for Light Sensors 0.5.1 2023-10-24
photobiologyWavebands Waveband Definitions for UV, VIS, and IR Radiation 0.5.2 2023-10-24
ggspectra Extensions to ‘ggplot2’ for Radiation Spectra 0.3.12 2023-10-21
photobiologyInOut Read Spectral and Logged Data from Foreign Files 0.4.27 2023-07-20

Updates under development are published at R-Universe as soon as merged or commited into the main branch in the repositories at GitHub. Two packages that depend on a commercial closed-source driver, but usable with a free runtime of the driver, are published only at R-Universe.

R-Universe profile: https://aphalo.r-universe.dev. :name status badge :packages status badge

Posts and Pages at R for Photobiology

The site R for Photobiology contains 95 posts and pages published since 2016-09-15! I have recently rebuilt the site using Quarto, and I have transferred only some of the posts originally published using WordPress. I am slowly adding more old posts, but only those that remain relevant. The figure below shows original publication date even when posts have been later updated. The source files are in a public repository at GitHub.

I have published one post or page roughly every days, or about 1.0 posts per month, since 2016-09-15.

I published the most recent post 1 days ago.

📂 Click to expand a full list of posts.
Date Title
2024-07-13 “R Packages: Timeline of Updates”
2024-07-10 “Multichannel LED arrays”
2024-06-11 “Move from Wordpress to Quarto”
2024-06-01 “Fitted-model labels in Markdown”
2024-05-28 “Looking back 40 years”
2024-05-16 “Is this a polynomial?”
2024-04-17 “Annotating Plot Matrices”
2024-02-10 “Repository migrated to R-Universe”
2024-01-13 “ooacquire: Spectral Irradiance Algorithms”
2023-11-27 “Linear Models”
2023-11-21 “Theoretical probability distributions”
2023-11-18 “Flow of code execution”
2023-10-30 “Introduction to Data Visualization”
2023-10-21 “photobiology 0.11.x”
2023-10-21 “Design of Experiments”
2023-09-19 “R at its simplest”
2023-08-19 “Research as a process”
2023-08-19 “Research as a process”
2023-08-14 “Multiple comparisons with ggpmisc”
2023-08-01 “Pairwise labels with ggpp”
2023-07-31 “Open Access Weather and Climate Data”
2023-07-30 “Timelines with ggplot2”
2023-06-25 “Fitted-model labels with ggpmisc and plotly”
2023-06-24 “Fitted-model labels with ggpmisc and gganimate”
2023-06-10 “ooacquire 0.4.x”
2023-06-02 “Functional analysis of spectra with photobiology to fda.usc”
2023-05-30 “Model fitting in R”
2023-05-30 “Randomization and independent replicates”
2023-05-28 “photobiology 0.10.1x”
2023-05-24 “EDA with ggplot2”
2023-05-21 “I have started using Mastodon…”
2023-05-11 “Plant photoreceptors”
2023-05-03 “ggplot2 Basics”
2023-04-27 “Spectral fluorescence with ooacquire”
2023-04-27 “ooacquire: Spectral Irradiance Measurement”
2023-04-15 “Weather data for Finland from FMI”
2023-04-10 “ooacquire 0.3.x”
2023-03-20 “OmniDriver, Java and the whims of companies”
2023-03-04 “R Packages”
2023-02-28 “Packages ggpmisc, ggpp and gginnards”
2023-02-28 “Nudging + repulsion with ggrepel and ggpp”
2023-02-27 “Website migrated to Quarto”
2023-02-27 “Fitted-model labels with ggpmisc”
2023-02-25 “Volcano and quadrant plots with ggpmisc”
2023-02-25 “Data labels in bar plots with ggpp”
2023-02-23 “ggplot insets with package ggpp”
2023-02-20 “Handbook on photobiological calculations with R”
2023-02-20 “A handbook of best practice in plant UV photobiology”
2023-02-19 “The R for Photobiology Suite”
2023-02-19 “Pedro J. Aphalo”
2023-02-18 “R, RStudio and Quarto”
2023-02-18 “Support”
2023-02-15 “About this Website”
2023-02-03 “ggspectra 0.3.10/0.3.11/0.3.12”
2023-01-05 “photobiologyWavebands 0.5.1”
2023-01-05 “photobiology 0.10.15”
2022-12-30 “Are plants and plant canopies flat?”
2022-12-23 “Visit to Universidad Austral de Chile”
2022-12-17 “Enhancing geom_text() and geom_label()”
2022-12-05 “ggpp >= 0.5.0 updates”
2022-10-18 “ooacquire 0.2.6”
2022-10-15 “An R marathon updating packages”
2022-10-15 “photobiologyInOut 0.4.25/0.4.26/0.4.27”
2022-10-15 “photobiology 0.10.14”
2022-10-15 “ggspectra 0.3.9”
2022-10-15 “gginnards >= 0.1.1 updates”
2022-10-05 “photobiology 0.10.13”
2022-10-01 “ooacquire 0.2.4 and 0.2.5”
2022-09-30 “ggpp 0.4.5”
2022-08-24 “Learn R: As a Language”
2022-08-13 “HTML5 compliance of R packages”
2022-08-13 “photobiologyWavebands 0.5.0”
2022-08-05 “ggpmisc >= 0.5.0 updates”
2022-07-23 “photobiology 0.10.12”
2022-07-10 “photobiology 0.10.11”
2022-06-15 “ggpmisc 0.4.7”
2022-05-15 “photobiologyInOut 0.4.24”
2022-05-14 “photobiologyLEDs 0.5.0”
2022-04-29 “R 4.2.0”
2022-04-16 “ggspectra 0.3.8”
2022-01-30 “Instrumentation”
2022-01-30 “Controlled Environment Chambers”
2022-01-29 “LED-based light sources”
2021-10-20 “What is plant intelligence? and what it is not?”
2021-10-17 “Sensing of solar UVA by plants”
2021-10-17 “Cryptochromes and stomatal opening”
2021-07-13 “Perception of solar UV radiation by plants”
2020-07-12 “Performance of package photobiology”
2020-04-25 “UVR8 is an UV-B and UV-A photoreceptor”
2019-04-24 “Benchmarking function sun_angles()
2019-02-22 “Yoctopuce modules: Spectrometer”
2019-02-21 “Yoctopuce modules: Introduction”
2018-08-10 “Using the Quick TUV Calculator”
2017-11-24 “Article titles in the era of the internet”
2016-09-15 “For those interested in optical properties”

Posts and pages at Photo Rumblings and Whispers

The Photo Rumblings and Whispers has 27 posts since 2015-10-18! I have recently rebuilt the site using Quarto, and I have transferred most of the posts originally published using WordPress. I may add one or two old posts. The figure below shows original publication date even when posts and pages have been later updated. I have updated several of the posts and pages and I aim to continue updating them as needed. The source files are in a public repository at GitHub.

I have published one post or page roughly every days, or about 0.3 posts per month, since 2015-10-18.

I published the most recent post or page 154 days ago.

📂 Click to expand a full list of posts.
Date Title
2024-02-11 “The nitty-gritty details of macrophotography”
2023-08-28 “Photographing Insects: Lenses”
2023-08-22 “WordPress -> Quarto”
2023-08-21 “Pedro J. Aphalo”
2023-05-13 “Flexible and oversized lens hoods”
2023-04-18 “About this Website”
2023-04-15 “UV short-pass filter stacks”
2023-04-14 “UV short-pass filters”
2023-04-12 “Notes on the OM-1 (digital) camera”
2022-10-15 “Small fill/video LED lights revisited”
2021-10-25 “Broad band VIS+NIR LEDs”
2021-08-21 “Photo Rumblings and Whispers”
2021-02-01 “NIR long-pass filters”
2020-09-29 “Hemispherical time-lapse under a tree”
2020-06-30 “Lens Adapter with Filter Drawer”
2020-06-30 “Lens Adapters: Flange-to-Flange Distance”
2020-06-12 “UV-cut filters”
2020-06-11 “UV-IR-cut filters”
2019-08-21 “A time lapse video assembled in ImageJ”
2019-07-14 “Godox AD200 flash for UV, VIS and IR photography”
2019-07-14 “Digital UVA-photography with M43 equipment”
2019-06-19 “Lautaret”
2019-05-11 “Neutral Density (ND) Filters”
2018-05-13 “Camera objectives for digital UV photography”
2017-12-12 “Black anodised aluminium in IR”
2017-10-28 “Photographs through windows”
2015-10-18 “Bracketing”

Updated 2024-07-14 10:33:58.507133

This README file is based on the blog post by Athanasia Mo Mowinckel and the R code by Martin Henze.

ggspectra's People

Contributors

aphalo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ggspectra's Issues

CRAN check failure

Correct before 2023-11-14

These are not portable: the pdf() and postscript() devices only support
characters in an 8-bit locale, usually Latin-1, and R CMD check uses
pdf(), on CRAN in a Western European UTF-8 locale where pdf() uses
Latin-1. In most cases you should be using plotmath ....

Checking with environment varianble R_CHECK_MBCS_CONVERSION_FAILURE
set to a non-empty value will throw an error in current R-devel,
although you can also grep the .Rcheck directory for 'conversion
failure.*mbcsToSbcs'

Attempts to plot Greek letters on a pdf() device are seen in the checks
of packages

DPQ DanielBiostatistics10th DoE.base EPGMr IOHanalyzer LMMstar SIRmcmc
VisualizeSimon2Stage WRTDStidal biogeom gMCPLite gamma gen3sis ggspectra
negligible oHMMed plotRCS simEd visualize

Plotmath can also be used for ∞ (utilities) ≤ (autoReg, brr, ggstats,
visualize) and ≥ (simulariatools, visualize). Some versions of R will
transliterate to e.g. <= or >= rather than substitute '.' but the use of
plotmath will look better.

NB: the issues will not be seen on a platform whose libiconv does
transliteration -- known are macOS 14 and Alpine Linux. But for example
on macOS 14, the missing Greek symbols are silently substituted by ?,
which is not useful.

[The cairo_pdf() and cairo_ps() devices handle fonts differently and can
plot a wider (but platform-dependent) range of Unicode chars. It looks
like using plotmath will suffice, but if not you could arrange for your
examples/tests to use cairo_pdf() if dev.cur() shows the current device
is pdf().]

Please correct before 2023-11-14 to safely retain your package on CRAN.

--
Brian D. Ripley, [email protected]
Emeritus Professor of Applied Statistics, University of Oxford

Parameter `add.symbols` in `autoplot()` methods

For historical reasons autoplot() methods do not use the scales defined in the package but have code that assembles axis labels from scratch, and are thus less flexible. This part of the implementation of autoplot() methods needs to be rewritten, and if this is done, then support for an add.symbols would be straightforward. The change to use the scales, most likely will change the plots created without breaking any code. Is not that easy a task. Among other things the scales do not support Markdown but the autoplot() methods do. It is quite likely that nobody uses the Markdown featured as it is rather bare-bones.

Parameter `add.symbols` in scales and option `ggspectra.add.symbols`

The axis label building functions by default add symbols between the label text and the units. This symbol is not always needed or desired, so users should be able to disable its use in the default labels.

R expressions

  • wavelength-related labels and scales
  • spectral (photon/energy) irradiance related labels and scales
  • transmittance/reflectance/absorptance/absorbance related labels and scales
  • response (photon/energy) related labels and scales
  • raw counts related labels and scales
  • cps related labels and scales
  • calibration spectra related labels and scales
  • wrapper functions to set option add_symbols_as_default() and no_symbols_as_default()
  • Support ggspectra.add.symbols option in autoplot() methods (open another issue)

$\LaTeX$

  • wavelength-related labels and scales
  • spectral (photon/energy) irradiance related labels and scales
  • transmittance/reflectance/absorptance/absorbance related labels and scales
  • response (photon/energy) related labels and scales
  • raw counts related labels and scales
  • cps related labels and scales
  • calibration spectra related labels and scales
  • wrapped function to set option

Extend wavelength region

Hi,

first thanks a lot for your nice package. I'd like to use it but it seems it is quite tailored to "biology" as the range of light is emphasized to the visible range. I'm a particle physicist working with gamma radiation and I'm quite sure this package would also be a total fit to our field, just for a different wavelength region.

For example, at the moment I have a data set which looks as follows:

> df
    Intensity     w.length
1 0.007920915 1.239842e-11
2 0.018415817 1.033202e-11
3 0.018204427 8.856014e-12
4 0.019472768 7.749012e-12
5 0.027356379 6.888011e-12
(...)
55 0.033984084 9.840016e-13
56 0.028997762 9.686266e-13
57 0.025404128 9.537246e-13
58 0.021474758 9.392742e-13
59 0.015220095 9.116485e-13
60 0.004799801 8.856014e-13

but I'm always receiving the following error when trying to convert this data to a spct data type:

Error in check_spct.generic_spct(x) : 
  Negative or zero 'w.length' values found: aborting!

When using higher values it's working. Thus, I would like to ask you whether it is (somehow) possible to allow also such small values as they are common for particle / atomic physics. Maybe a little option (like "atomic physics = True") which puts an offset to these values would already help in case R doesn't allow such small values. Some other plot features would also be great to pick up specific domain knowledge like "this region is UV-C, x-ray, gamma,.." and some activation energies/wave lengths and stuff like this.
Thanks a lot already in advance!

Improve handling of spectra in long form in autotitle()

Brief description of the problem

autotitle() and autoplot() cannot handle the attribute values returned by spct objects containing multiple spectra in long form, as they are lists of the usual values, with one member per spectrum. There is no easy way to solve this, as pasting them would make titles too long. Currently autotitle() returns NULL with a warning which is o.k., but not ideal.

Colour scale based on wavelengths

When plotting light spectra it is common to highlight graphic elements with the colour corresponding to wavelength.

Define a colour scale based on wavelengths, possibly called scale_colour_wavelength() making the conversion using a cache for the mapping of wavelengths to RGB colours to enhance performance.

Include support for a transformation on wavelength values to create "false colour" scales.

Reimplement the colour guide so that it does not use colour and/or fill scales

Reimplement the colour guide so that it does not use colour and/or fill scales. The current use of these scales blocks the use of these aesthetics for other purposes in the same plot, creating a surprising limitation.

Hardcode the wavelength to colour conversion in an annotation-like geom (e.g. similar to geom_hline() and explore if the support for colour gradients in recent versions of 'grid' can help improve performance and/or smoothness.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.