Fluorescence

class specatalog.models.measurements.Fluorescence(**kwargs)[source]

Fluorescence measurement.

This subclass of Measurement represents a Fluorescence experiment. This model adds the Fluorescence-specific parameters excitation, excitation_wl and od.

The model participates in SQLAlchemy polymorphism using the "fluorescence" polymorphic_identity. Any row in measurements where method='fluorescence' is therefore automatically loaded as a Fluorescence instance.

id

Primary key linked to measurements.id with cascading delete.

Type:

int

excitation

Indicate wheather the data are an excitation (True) or emission (False) spectrum.

Type:

boolean

excitation_wl

Excitation wavelength incl. unit.

Type:

str

od

Optical density / absorbance.

Type:

str or None

Notes

  • The tablename is fluorescence.

  • All shared measurement metadata (temperature, solvent, operator, timestamps, file path, etc.) are inherited from Measurement.

  • The id corresponds directly to the entry in the main measurements table via single-table inheritance.

Examples

Creating a Fluorescence measurement:

>>> from measurements import Fluorescence
>>> from molecules import Molecule
>>> mol = Molecule(name="PDI-TEMPO")
>>> m = Fluorescence(
...     molecule=mol,
...     method="uvvis",
...     temperature=298,
...     solvent="Toluene",
...     date=date(2025, 4, 12),
...     measured_by="Bob",
...     path="/data/M21/measurement_M21.h5",
...     corrected=False,
...     evaluated=False,
...     excitation=True,
...     excitation_wl="560nm"
... )
>>> session.add(m)
>>> session.commit()

Loading via polymorphism:

>>> m = session.query(Measurement).filter_by(id=21).one()
>>> type(m)
<class 'models.Fluorescence'>