Open-source tools for global and target analysis of time-resolved spectroscopy, fluorescence lifetime imaging, and multi-way data — from photosynthesis and photovoltaics to photochemistry and beyond.
Decompose your data. Discover your kinetics.
Build kinetic models for your time-resolved data in Python. Describe your model in YAML, fit it with partitioned variable projection, and visualise publication-ready results — all within a Jupyter notebook.
from glotaran.testing.simulated_data import sequential_spectral_decay
from glotaran.project import Project
from pyglotaran_extras import plot_overview, plot_data_overview
my_dataset = sequential_spectral_decay.DATASET
my_project = Project.open("my_project")
my_project.import_data(my_dataset, dataset_name="my_data")
plot_data_overview(my_dataset) # to explore the dataset
result = my_project.optimize("my_model", "my_parameters")
# Run each in a separate cell:
result # to inspect the optimization result
result.optimized_parameters # view optimized parameters
plot_overview(result) # result plot Copy the code into "example.ipynb" inside your "my_project".
initial_concentration:
input:
compartments: [s1, s2, s3]
parameters: [input.1, input.0, input.0]
k_matrix:
k1:
matrix:
(s2, s1): kinetic.1
(s3, s2): kinetic.2
(s3, s3): kinetic.3
megacomplex:
m1:
k_matrix: [k1]
type: decay
irf:
irf1:
type: gaussian
center: irf.center
width: irf.width
dataset:
my_data:
initial_concentration: input
megacomplex: [m1]
irf: irf1 Copy this into "my_model.yaml" inside a "models" subfolder in your project.
input:
- ["1", 1, { "vary": false }]
- ["0", 0, { "vary": false }]
kinetic: [0.51, 0.31, 0.11]
irf:
- ["center", 0.31]
- ["width", 0.11] Copy this into "my_parameters.yaml" inside a "parameters" subfolder in your project.
Visualization companion for pyglotaran — publication-ready overview plots and diagnostic figures.
The foundational R engine for global and target analysis, providing partitioned variable projection since 2007.
A Shiny-based R package for teaching parameter estimation examples inspired by time-resolved spectroscopy.
The original — and still the most-cited — graphical tool for global and target analysis, with over 1,500 citations since 2012.
An early proof-of-concept to re-create paramGUI-style teaching widgets on top of pyglotaran.
From time-resolved spectra to kinetic models and species spectra you can interpret.
Whether you are fitting your first decay or building custom megacomplexes, you are welcome here. Ask questions, share results, or help improve the code.