ts_ids_components.particle_sizer package#

Submodules#

Module contents#

This module contains components for particle sizer IDSs.

Particle sizing#

Particle sizer instruments determine the size (and related properties) of particles suspended in a liquid or dispersed in air by measuring how they scatter light. These components are shared across particle sizer instruments from different vendors (e.g. Malvern Zetasizer, Wyatt DynaPro, Malvern Mastersizer), which report the same underlying quantities using different raw file formats and value conventions.

Four related light-scattering techniques are covered, selected per method via ParticleSizerTechnique:

  • Dynamic Light Scattering (DLS) – sizes sub-micron particles from the Brownian-motion-driven fluctuations of the scattered intensity (the autocorrelation function).

  • Electrophoretic Light Scattering (ELS / Zeta) – determines zeta potential from the electrophoretic mobility of particles in an applied field.

  • Static Light Scattering (SLS) – determines molar mass from the time-averaged scattered intensity (DynaPro, measured simultaneously with DLS).

  • Laser Diffraction (LD) – sizes particles from sub-micron to millimetre from the angular scattering pattern of a laser.

Composing an IDS from these components#

These are building blocks, not a ready-made schema. A vendor-specific IDS imports only the pieces its instrument needs and composes them – the same convention used by the System and plate reader MeasurementSetting components. The Method and Result base classes therefore carry only the fields common to every technique; the technique-specific blocks are added by inheriting from their nested mixin classes. No combine-everything convenience class is provided – a consuming IDS assembles exactly the blocks its instrument needs.

System and run components#

ParticleSizerSystem extends the generic System with serial number, software, firmware, and a list of attached Accessory objects (dispersion unit, autosampler, sample-prep chamber, etc.). ParticleSizerRun extends the generic Run with a vendor record id, a comment, and a standardized start/stop/acquired timestamp. Both carry a pk (UUIDPrimaryKey) so a consuming IDS can declare them as top-level arrays and link results back to the specific system and run involved.

The samples array uses the generic Sample directly – the vendor IDS adds a pk to it where results need to link to a specific well/sample via fk_sample (e.g. plate-reader DLS instruments). No particle-sizer-specific Sample subclass is provided, since it would add nothing beyond that pk.

Method components#

Method holds the measurement conditions common to every technique – Temperature, dispersant (Solvent), particle optics (Particle), and Plate. Technique settings are added by inheriting from Method.DynamicLightScattering (which carries DLSMethodSettings, also used for ELS/SLS) and/or Method.LaserDiffraction (which carries LaserDiffractionMethodSettings); an instrument supporting several techniques inherits from all the corresponding nested classes.

Result components#

Result holds the fields common to every result – the SizeDistribution results that DLS and Laser Diffraction share, plus foreign keys back to the run, method, sample, and originating curve. Technique-specific result blocks are added by inheriting from Result.DynamicLightScattering (DLSResult), Result.ElectrophoreticLightScattering (ELSResult), Result.StaticLightScattering (SLSResult), and/or Result.LaserDiffraction (LaserDiffractionResult) – the consuming IDS inherits from only the blocks its instrument produces.

Curve components#

CurveFile is a pointer to a Parquet file holding raw curve data (the DLS autocorrelation function, the ELS phase/frequency trace, or the raw laser-diffraction scattering pattern). A curve is always tied to its run and sample; a result that was derived from a curve links to it via Result.fk_curve.

Model Accessory[source]#

Bases: IdsElement

An accessory or module attached to a particle sizer instrument – e.g. a dispersion unit (Malvern Mastersizer’s Hydro/Aero), an autosampler, a sample-prep chamber, or an additional detector channel.

A particle sizer can be equipped with more than one accessory, so ParticleSizerSystem holds these as a list. Modeled as an object (rather than a bare serial-number string) so the serial number stays tied to the accessory it identifies and so additional accessory attributes can be captured as instruments report them. In some raw data (e.g. the Mastersizer CSV export) only the serial number is available, in which case name is left unset.

Show JSON schema
{
   "description": "An accessory or module attached to a particle sizer instrument -- e.g. a\ndispersion unit (Malvern Mastersizer's Hydro/Aero), an autosampler, a\nsample-prep chamber, or an additional detector channel.\n\nA particle sizer can be equipped with more than one accessory, so\n:py:class:`ParticleSizerSystem` holds these as a list. Modeled as an\nobject (rather than a bare serial-number string) so the serial number\nstays tied to the accessory it identifies and so additional accessory\nattributes can be captured as instruments report them. In some raw data\n(e.g. the Mastersizer CSV export) only the serial number is available, in\nwhich case ``name`` is left unset.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Name or type of the accessory, e.g. 'Hydro MV' or 'Aero S'. Unset when the raw data reports only the serial number.",
         "type": [
            "string",
            "null"
         ]
      },
      "serial_number": {
         "description": "Serial number of the accessory, as reported by the instrument.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field name: str | None#

Name or type of the accessory, e.g. ‘Hydro MV’ or ‘Aero S’. Unset when the raw data reports only the serial number.

field serial_number: str | None#

Serial number of the accessory, as reported by the instrument.

Model AcquisitionQualityGate[source]#

Bases: IdsElement

A data quality gate/filter applied during DLS acquisition, used to accept or reject individual acquisitions before averaging.

Show JSON schema
{
   "description": "A data quality gate/filter applied during DLS acquisition, used to accept\nor reject individual acquisitions before averaging.",
   "type": "object",
   "properties": {
      "file_key": {
         "description": "Vendor key identifying the gate in the raw file.",
         "type": [
            "number",
            "null"
         ]
      },
      "label": {
         "description": "Human-readable name of the quality gate.",
         "type": [
            "string",
            "null"
         ]
      },
      "threshold": {
         "description": "Threshold/condition applied by the gate, as reported by the instrument.",
         "type": [
            "string",
            "null"
         ]
      },
      "enabled": {
         "description": "Whether the gate is enabled (1) or disabled (0).",
         "type": [
            "number",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field enabled: float | None#

Whether the gate is enabled (1) or disabled (0).

field file_key: float | None#

Vendor key identifying the gate in the raw file.

field label: str | None#

Human-readable name of the quality gate.

field threshold: str | None#

Threshold/condition applied by the gate, as reported by the instrument.

Model AdditionalStatistic[source]#

Bases: IdsElement

An additional Dxx percentile beyond the standard D10/D50/D90.

Show JSON schema
{
   "description": "An additional Dxx percentile beyond the standard D10/D50/D90.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Name of the percentile, e.g. 'D[v,0.25]'.",
         "type": [
            "string",
            "null"
         ]
      },
      "value": {
         "description": "Numeric value of the percentile.",
         "type": [
            "number",
            "null"
         ]
      },
      "unit": {
         "description": "Unit of the value, e.g. 'Micrometer'.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field name: str | None#

Name of the percentile, e.g. ‘D[v,0.25]’.

field unit: str | None#

Unit of the value, e.g. ‘Micrometer’.

field value: float | None#

Numeric value of the percentile.

Model CumulantFit[source]#

Bases: IdsElement

Cumulant analysis fit parameters from the DLS autocorrelation function (ACF). Regularized NNLS deconvolution yields amplitude, decay time, and diffusion coefficient from the fitted ACF decay.

Show JSON schema
{
   "description": "Cumulant analysis fit parameters from the DLS autocorrelation function\n(ACF). Regularized NNLS deconvolution yields amplitude, decay time, and\ndiffusion coefficient from the fitted ACF decay.",
   "type": "object",
   "properties": {
      "amplitude": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Fitted amplitude (intercept) of the ACF."
      },
      "decay_time": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Characteristic decay time of the ACF."
      },
      "diffusion_coefficient": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Translational diffusion coefficient from the fit."
      },
      "radius": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Hydrodynamic radius from the fit."
      },
      "molecular_weight": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Molecular weight estimated from the fit."
      },
      "viscosity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Viscosity used in the fit."
      },
      "q": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Scattering vector magnitude used in the fit."
      },
      "polydispersity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Polydispersity from the fit."
      },
      "polydispersity_index": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Polydispersity index from the fit."
      },
      "polydispersity_percent": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Polydispersity expressed as a percentage."
      },
      "baseline": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Fitted baseline of the ACF."
      },
      "sos_error": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Sum-of-squares error of the fit."
      },
      "lambda": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Regularization parameter used in the deconvolution."
      },
      "sigma": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Standard deviation (width) parameter of the fit."
      },
      "first_cumulant": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "First cumulant (mean decay rate)."
      },
      "second_cumulant": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Second cumulant (variance of the decay rate)."
      },
      "measured_baseline": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Measured (as opposed to fitted) baseline."
      },
      "fit_error": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Overall error metric of the fit."
      },
      "order_of_fit": {
         "description": "Order of the cumulant polynomial fit.",
         "type": [
            "number",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field amplitude: RawValueUnit#

Fitted amplitude (intercept) of the ACF.

field baseline: RawValueUnit#

Fitted baseline of the ACF.

field decay_time: RawValueUnit#

Characteristic decay time of the ACF.

field diffusion_coefficient: RawValueUnit#

Translational diffusion coefficient from the fit.

field first_cumulant: RawValueUnit#

First cumulant (mean decay rate).

field fit_error: RawValueUnit#

Overall error metric of the fit.

field lambda_: RawValueUnit (alias 'lambda')#

Regularization parameter used in the deconvolution.

field measured_baseline: RawValueUnit#

Measured (as opposed to fitted) baseline.

field molecular_weight: RawValueUnit#

Molecular weight estimated from the fit.

field order_of_fit: float | None#

Order of the cumulant polynomial fit.

field polydispersity: RawValueUnit#

Polydispersity from the fit.

field polydispersity_index: RawValueUnit#

Polydispersity index from the fit.

field polydispersity_percent: RawValueUnit#

Polydispersity expressed as a percentage.

field q: RawValueUnit#

Scattering vector magnitude used in the fit.

field radius: RawValueUnit#

Hydrodynamic radius from the fit.

field second_cumulant: RawValueUnit#

Second cumulant (variance of the decay rate).

field sigma: RawValueUnit#

Standard deviation (width) parameter of the fit.

field sos_error: RawValueUnit#

Sum-of-squares error of the fit.

field viscosity: RawValueUnit#

Viscosity used in the fit.

Model CurveFile[source]#

Bases: IdsElement

Pointer to a Parquet file containing raw curve data (ACF, ELS time-series, etc.).

Show JSON schema
{
   "description": "Pointer to a Parquet file containing raw curve data (ACF, ELS time-series, etc.).",
   "type": "object",
   "properties": {
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this curve file.",
         "type": "string"
      },
      "file_id": {
         "description": "Identifier of the Parquet file within the Tetra Data Platform.",
         "type": [
            "string",
            "null"
         ]
      },
      "file_name": {
         "description": "Name of the Parquet file.",
         "type": [
            "string",
            "null"
         ]
      },
      "fk_run": {
         "@foreign_key": "/properties/runs/items/properties/pk",
         "description": "Foreign key to the run this curve belongs to.",
         "type": "string"
      },
      "fk_sample": {
         "@foreign_key": "/properties/samples/items/properties/pk",
         "description": "Foreign key to the sample this curve was measured on.",
         "type": "string"
      },
      "description": {
         "description": "Human-readable description of the curve's contents, e.g. 'DLS autocorrelation function'.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "required": [
      "pk",
      "fk_run",
      "fk_sample"
   ]
}

Validators:

field description: str | None#

Human-readable description of the curve’s contents, e.g. ‘DLS autocorrelation function’.

field file_id: str | None#

Identifier of the Parquet file within the Tetra Data Platform.

field file_name: str | None#

Name of the Parquet file.

field fk_run: str#

Foreign key to the run this curve belongs to.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field fk_sample: str#

Foreign key to the sample this curve was measured on.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field pk: str#

Primary key for this curve file.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

Model DLSAcquisition[source]#

Bases: IdsElement

A single DLS acquisition within a measurement, with its own fit results.

Show JSON schema
{
   "description": "A single DLS acquisition within a measurement, with its own fit results.",
   "type": "object",
   "properties": {
      "index": {
         "description": "Index of the acquisition within the measurement.",
         "type": [
            "number",
            "null"
         ]
      },
      "cumulant_fit": {
         "$ref": "#/definitions/CumulantFit",
         "description": "Cumulant fit for this acquisition."
      },
      "regularized_fit_peaks": {
         "description": "Peaks from the regularized fit of this acquisition.",
         "items": {
            "$ref": "#/definitions/RegularizedFitPeak"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "CumulantFit": {
         "additionalProperties": false,
         "description": "Cumulant analysis fit parameters from the DLS autocorrelation function\n(ACF). Regularized NNLS deconvolution yields amplitude, decay time, and\ndiffusion coefficient from the fitted ACF decay.",
         "properties": {
            "amplitude": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted amplitude (intercept) of the ACF."
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the ACF."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Translational diffusion coefficient from the fit."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius from the fit."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated from the fit."
            },
            "viscosity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Viscosity used in the fit."
            },
            "q": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Scattering vector magnitude used in the fit."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity from the fit."
            },
            "polydispersity_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity index from the fit."
            },
            "polydispersity_percent": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity expressed as a percentage."
            },
            "baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted baseline of the ACF."
            },
            "sos_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Sum-of-squares error of the fit."
            },
            "lambda": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Regularization parameter used in the deconvolution."
            },
            "sigma": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) parameter of the fit."
            },
            "first_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "First cumulant (mean decay rate)."
            },
            "second_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Second cumulant (variance of the decay rate)."
            },
            "measured_baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Measured (as opposed to fitted) baseline."
            },
            "fit_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Overall error metric of the fit."
            },
            "order_of_fit": {
               "description": "Order of the cumulant polynomial fit.",
               "type": [
                  "number",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "RegularizedFitPeak": {
         "additionalProperties": false,
         "description": "A single peak from regularized NNLS deconvolution of the DLS ACF.",
         "properties": {
            "dist": {
               "description": "Distribution index the peak belongs to.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "peak_index": {
               "description": "Index of the peak within the distribution.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius of the peak."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion coefficient of the peak."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated for the peak."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity of the peak."
            },
            "first_index": {
               "description": "Index of the first ACF grid point contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "number_of_points": {
               "description": "Number of ACF grid points contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the peak."
            },
            "percent_intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
            },
            "percent_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
            },
            "percent_number": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field cumulant_fit: CumulantFit#

Cumulant fit for this acquisition.

field index: float | None#

Index of the acquisition within the measurement.

field regularized_fit_peaks: List[RegularizedFitPeak]#

Peaks from the regularized fit of this acquisition.

Model DLSMethodSettings[source]#

Bases: IdsElement

Dynamic Light Scattering method parameters. Also carries the optical configuration shared by the ELS and SLS techniques, which are measured on the same optical bench.

Show JSON schema
{
   "description": "Dynamic Light Scattering method parameters. Also carries the optical\nconfiguration shared by the ELS and SLS techniques, which are measured on\nthe same optical bench.",
   "type": "object",
   "properties": {
      "cell_name": {
         "description": "Name/type of the measurement cell or cuvette used.",
         "type": [
            "string",
            "null"
         ]
      },
      "angle": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Scattering detection angle, e.g. 173 degrees for backscatter."
      },
      "wavelength": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Wavelength of the incident laser."
      },
      "attenuator": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Attenuator setting applied to the incident laser."
      },
      "size_limits": {
         "$ref": "#/definitions/SizeLimits",
         "description": "Configured lower/upper size limits for the analysis."
      },
      "instrument_states": {
         "description": "Per-acquisition instrument state (laser power, attenuation, etc.).",
         "items": {
            "$ref": "#/definitions/InstrumentState"
         },
         "type": "array"
      },
      "acquisition_quality_gates": {
         "description": "Data quality gates applied during acquisition filtering.",
         "items": {
            "$ref": "#/definitions/AcquisitionQualityGate"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "AcquisitionQualityGate": {
         "additionalProperties": false,
         "description": "A data quality gate/filter applied during DLS acquisition, used to accept\nor reject individual acquisitions before averaging.",
         "properties": {
            "file_key": {
               "description": "Vendor key identifying the gate in the raw file.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "label": {
               "description": "Human-readable name of the quality gate.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "threshold": {
               "description": "Threshold/condition applied by the gate, as reported by the instrument.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "enabled": {
               "description": "Whether the gate is enabled (1) or disabled (0).",
               "type": [
                  "number",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "InstrumentState": {
         "additionalProperties": false,
         "description": "Per-measurement DLS instrument state, one entry per acquisition.",
         "properties": {
            "measurement_index": {
               "description": "Zero- or one-based index of the measurement within the run.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "measurement_id": {
               "description": "Vendor identifier for the measurement.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "laser_power": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Laser power used for the measurement."
            },
            "attenuation_level": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Attenuation level applied to the incident laser, set automatically to keep the count rate in range."
            },
            "acquisition_period": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of a single acquisition."
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeLimits": {
         "additionalProperties": false,
         "description": "Configured lower and upper size limits for DLS analysis.",
         "properties": {
            "low": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower size limit for the analysis."
            },
            "high": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper size limit for the analysis."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field acquisition_quality_gates: List[AcquisitionQualityGate]#

Data quality gates applied during acquisition filtering.

field angle: RawValueUnit#

Scattering detection angle, e.g. 173 degrees for backscatter.

field attenuator: RawValueUnit#

Attenuator setting applied to the incident laser.

field cell_name: str | None#

Name/type of the measurement cell or cuvette used.

field instrument_states: List[InstrumentState]#

Per-acquisition instrument state (laser power, attenuation, etc.).

field size_limits: SizeLimits#

Configured lower/upper size limits for the analysis.

field wavelength: RawValueUnit#

Wavelength of the incident laser.

Model DLSResult[source]#

Bases: IdsElement

Dynamic Light Scattering (DLS) specific results.

Show JSON schema
{
   "description": "Dynamic Light Scattering (DLS) specific results.",
   "type": "object",
   "properties": {
      "z_average": {
         "$ref": "#/definitions/ZAverage",
         "description": "Intensity-weighted harmonic mean hydrodynamic size from the cumulants fit. Zetasizer reports diameter natively; DynaPro reports radius natively."
      },
      "polydispersity_index": {
         "$ref": "#/definitions/PolydispersityIndex",
         "description": "PDI from the cumulants fit. <0.1 monodisperse, >0.4 broad/aggregated. Definition differs between instruments -- check the ``definition`` field."
      },
      "diffusion_coefficient": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Translational diffusion coefficient from the cumulants fit."
      },
      "intercept": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "ACF y-intercept at tau=0. Data quality indicator; ideal = 1.0."
      },
      "mean_count_rate": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Photon count rate in kcps. Signal strength indicator."
      },
      "derived_mean_count_rate": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Derived (attenuation-corrected) mean count rate."
      },
      "in_range": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Fraction of the signal within the configured size range."
      },
      "quality_indicator": {
         "description": "Overall data-quality verdict reported by the instrument, e.g. 'good' or a warning message.",
         "type": [
            "string",
            "null"
         ]
      },
      "number_of_runs": {
         "description": "Number of sub-runs/acquisitions averaged into this result.",
         "type": [
            "number",
            "null"
         ]
      },
      "run_retention": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Fraction of sub-runs retained after quality filtering."
      },
      "particle_concentration": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Estimated particle concentration."
      },
      "cumulant_fit": {
         "$ref": "#/definitions/CumulantFit",
         "description": "Cumulant fit for the averaged measurement."
      },
      "regularized_fit_peaks": {
         "description": "Peaks from the regularized fit of the averaged measurement.",
         "items": {
            "$ref": "#/definitions/RegularizedFitPeak"
         },
         "type": "array"
      },
      "acquisitions": {
         "description": "Per-acquisition results within the measurement.",
         "items": {
            "$ref": "#/definitions/DLSAcquisition"
         },
         "type": "array"
      },
      "average_instrument_reading": {
         "$ref": "#/definitions/InstrumentReading",
         "description": "Average instrument reading over all acquisitions."
      },
      "derived": {
         "$ref": "#/definitions/DerivedAnalysis",
         "description": "Derived concentration-dependent analysis (DynaPro SLS companion)."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "CumulantFit": {
         "additionalProperties": false,
         "description": "Cumulant analysis fit parameters from the DLS autocorrelation function\n(ACF). Regularized NNLS deconvolution yields amplitude, decay time, and\ndiffusion coefficient from the fitted ACF decay.",
         "properties": {
            "amplitude": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted amplitude (intercept) of the ACF."
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the ACF."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Translational diffusion coefficient from the fit."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius from the fit."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated from the fit."
            },
            "viscosity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Viscosity used in the fit."
            },
            "q": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Scattering vector magnitude used in the fit."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity from the fit."
            },
            "polydispersity_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity index from the fit."
            },
            "polydispersity_percent": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity expressed as a percentage."
            },
            "baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted baseline of the ACF."
            },
            "sos_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Sum-of-squares error of the fit."
            },
            "lambda": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Regularization parameter used in the deconvolution."
            },
            "sigma": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) parameter of the fit."
            },
            "first_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "First cumulant (mean decay rate)."
            },
            "second_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Second cumulant (variance of the decay rate)."
            },
            "measured_baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Measured (as opposed to fitted) baseline."
            },
            "fit_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Overall error metric of the fit."
            },
            "order_of_fit": {
               "description": "Order of the cumulant polynomial fit.",
               "type": [
                  "number",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "DLSAcquisition": {
         "additionalProperties": false,
         "description": "A single DLS acquisition within a measurement, with its own fit results.",
         "properties": {
            "index": {
               "description": "Index of the acquisition within the measurement.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "cumulant_fit": {
               "$ref": "#/definitions/CumulantFit",
               "description": "Cumulant fit for this acquisition."
            },
            "regularized_fit_peaks": {
               "description": "Peaks from the regularized fit of this acquisition.",
               "items": {
                  "$ref": "#/definitions/RegularizedFitPeak"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "DerivedAnalysis": {
         "additionalProperties": false,
         "description": "Derived concentration-dependent analysis from DLS (DynaPro SLS\ncompanion), computed across a concentration series.",
         "properties": {
            "kd": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion interaction parameter (k_D) from the concentration series."
            },
            "a2": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Second virial coefficient (A2) from the concentration series."
            },
            "tagg": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Aggregation onset temperature (T_agg), when a thermal ramp is run."
            }
         },
         "type": "object"
      },
      "InstrumentReading": {
         "additionalProperties": false,
         "description": "Average instrument reading over all acquisitions in a measurement.",
         "properties": {
            "intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average scattered light intensity."
            },
            "temperature": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average measured temperature."
            },
            "time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average acquisition time."
            }
         },
         "type": "object"
      },
      "PolydispersityIndex": {
         "additionalProperties": false,
         "description": "Polydispersity index (PDI) from the cumulants fit: <0.1 indicates a\nmonodisperse sample, >0.4 a broad or aggregated one. The computation\ndiffers between instruments -- always check ``definition``.",
         "properties": {
            "value": {
               "description": "Numeric PDI value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit of the PDI value (typically dimensionless).",
               "type": [
                  "string",
                  "null"
               ]
            },
            "definition": {
               "description": "Algorithm used to compute the PDI. The definitions are not interchangeable.",
               "example_values": [
                  "iso_22412",
                  "percent_pd_over_100"
               ],
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "RegularizedFitPeak": {
         "additionalProperties": false,
         "description": "A single peak from regularized NNLS deconvolution of the DLS ACF.",
         "properties": {
            "dist": {
               "description": "Distribution index the peak belongs to.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "peak_index": {
               "description": "Index of the peak within the distribution.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius of the peak."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion coefficient of the peak."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated for the peak."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity of the peak."
            },
            "first_index": {
               "description": "Index of the first ACF grid point contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "number_of_points": {
               "description": "Number of ACF grid points contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the peak."
            },
            "percent_intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
            },
            "percent_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
            },
            "percent_number": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
            }
         },
         "type": "object"
      },
      "ZAverage": {
         "additionalProperties": false,
         "description": "Intensity-weighted harmonic mean hydrodynamic size from the cumulants\nfit. The Zetasizer reports diameter natively; DynaPro reports radius\nnatively.",
         "properties": {
            "diameter": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Z-average hydrodynamic diameter."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Z-average hydrodynamic radius."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field acquisitions: List[DLSAcquisition]#

Per-acquisition results within the measurement.

field average_instrument_reading: InstrumentReading#

Average instrument reading over all acquisitions.

field cumulant_fit: CumulantFit#

Cumulant fit for the averaged measurement.

field derived: DerivedAnalysis#

Derived concentration-dependent analysis (DynaPro SLS companion).

field derived_mean_count_rate: RawValueUnit#

Derived (attenuation-corrected) mean count rate.

field diffusion_coefficient: RawValueUnit#

Translational diffusion coefficient from the cumulants fit.

field in_range: RawValueUnit#

Fraction of the signal within the configured size range.

field intercept: RawValueUnit#

ACF y-intercept at tau=0. Data quality indicator; ideal = 1.0.

field mean_count_rate: RawValueUnit#

Photon count rate in kcps. Signal strength indicator.

field number_of_runs: float | None#

Number of sub-runs/acquisitions averaged into this result.

field particle_concentration: RawValueUnit#

Estimated particle concentration.

field polydispersity_index: PolydispersityIndex#

PDI from the cumulants fit. <0.1 monodisperse, >0.4 broad/aggregated. Definition differs between instruments – check the definition field.

field quality_indicator: str | None#

Overall data-quality verdict reported by the instrument, e.g. ‘good’ or a warning message.

field regularized_fit_peaks: List[RegularizedFitPeak]#

Peaks from the regularized fit of the averaged measurement.

field run_retention: RawValueUnit#

Fraction of sub-runs retained after quality filtering.

field z_average: ZAverage#

Intensity-weighted harmonic mean hydrodynamic size from the cumulants fit. Zetasizer reports diameter natively; DynaPro reports radius natively.

Model DerivedAnalysis[source]#

Bases: IdsElement

Derived concentration-dependent analysis from DLS (DynaPro SLS companion), computed across a concentration series.

Show JSON schema
{
   "description": "Derived concentration-dependent analysis from DLS (DynaPro SLS\ncompanion), computed across a concentration series.",
   "type": "object",
   "properties": {
      "kd": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Diffusion interaction parameter (k_D) from the concentration series."
      },
      "a2": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Second virial coefficient (A2) from the concentration series."
      },
      "tagg": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Aggregation onset temperature (T_agg), when a thermal ramp is run."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field a2: RawValueUnit#

Second virial coefficient (A2) from the concentration series.

field kd: RawValueUnit#

Diffusion interaction parameter (k_D) from the concentration series.

field tagg: RawValueUnit#

Aggregation onset temperature (T_agg), when a thermal ramp is run.

Model DispersionUnit[source]#

Bases: IdsElement

Configuration of the dispersion unit (wet or dry) that suspends and delivers the sample to the laser diffraction measurement zone.

Show JSON schema
{
   "description": "Configuration of the dispersion unit (wet or dry) that suspends and\ndelivers the sample to the laser diffraction measurement zone.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Name/type of the dispersion unit.",
         "type": [
            "string",
            "null"
         ]
      },
      "stirrer_speed": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Stirrer speed of the wet dispersion unit."
      },
      "ultrasound_power": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Ultrasound power applied to disperse/de-agglomerate the sample."
      },
      "ultrasound_duration": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Duration for which ultrasound is applied."
      },
      "ultrasound_mode": {
         "description": "Ultrasound application mode, e.g. 'continuous' or 'pre-measurement'.",
         "type": [
            "string",
            "null"
         ]
      },
      "venturi_type": {
         "description": "Venturi type for a dry dispersion unit.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field name: str | None#

Name/type of the dispersion unit.

field stirrer_speed: RawValueUnit#

Stirrer speed of the wet dispersion unit.

field ultrasound_duration: RawValueUnit#

Duration for which ultrasound is applied.

field ultrasound_mode: str | None#

Ultrasound application mode, e.g. ‘continuous’ or ‘pre-measurement’.

field ultrasound_power: RawValueUnit#

Ultrasound power applied to disperse/de-agglomerate the sample.

field venturi_type: str | None#

Venturi type for a dry dispersion unit.

Model ELSResult[source]#

Bases: IdsElement

Electrophoretic Light Scattering (ELS) / zeta potential results.

Show JSON schema
{
   "description": "Electrophoretic Light Scattering (ELS) / zeta potential results.",
   "type": "object",
   "properties": {
      "potential": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Zeta potential."
      },
      "zeta_deviation": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Standard deviation (width) of the zeta potential distribution."
      },
      "mobility": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Electrophoretic mobility."
      },
      "model": {
         "description": "Model used to convert mobility to zeta potential, e.g. 'Smoluchowski' or 'Huckel'.",
         "type": [
            "string",
            "null"
         ]
      },
      "conductivity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Conductivity of the dispersant."
      },
      "mean_count_rate": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Photon count rate in kcps during the ELS measurement."
      },
      "quality_factor": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Data quality factor reported for the measurement."
      },
      "effective_voltage": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Effective voltage applied across the cell."
      },
      "measured_voltage": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Measured voltage across the cell."
      },
      "measured_current": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Measured current through the cell."
      },
      "distribution": {
         "$ref": "#/definitions/ZetaDistribution",
         "description": "Zeta potential distribution."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "ZetaDistribution": {
         "additionalProperties": false,
         "description": "Zeta potential distribution, expressed as a set of peaks.",
         "properties": {
            "peaks": {
               "description": "Peaks that make up the zeta potential distribution.",
               "items": {
                  "$ref": "#/definitions/ZetaDistributionPeak"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "ZetaDistributionPeak": {
         "additionalProperties": false,
         "description": "A single peak in a zeta potential distribution.",
         "properties": {
            "mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Mean zeta potential of the peak."
            },
            "area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Area (relative contribution) of the peak."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field conductivity: RawValueUnit#

Conductivity of the dispersant.

field distribution: ZetaDistribution#

Zeta potential distribution.

field effective_voltage: RawValueUnit#

Effective voltage applied across the cell.

field mean_count_rate: RawValueUnit#

Photon count rate in kcps during the ELS measurement.

field measured_current: RawValueUnit#

Measured current through the cell.

field measured_voltage: RawValueUnit#

Measured voltage across the cell.

field mobility: RawValueUnit#

Electrophoretic mobility.

field model: str | None#

Model used to convert mobility to zeta potential, e.g. ‘Smoluchowski’ or ‘Huckel’.

field potential: RawValueUnit#

Zeta potential.

field quality_factor: RawValueUnit#

Data quality factor reported for the measurement.

field zeta_deviation: RawValueUnit#

Standard deviation (width) of the zeta potential distribution.

Model FeedRate[source]#

Bases: IdsElement

Sample feed rate demand (configured) and achieved (measured) values.

Show JSON schema
{
   "description": "Sample feed rate demand (configured) and achieved (measured) values.",
   "type": "object",
   "properties": {
      "demand": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Configured/demanded feed rate."
      },
      "achieved": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Actual/achieved feed rate."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field achieved: RawValueUnit#

Actual/achieved feed rate.

field demand: RawValueUnit#

Configured/demanded feed rate.

Model InstrumentReading[source]#

Bases: IdsElement

Average instrument reading over all acquisitions in a measurement.

Show JSON schema
{
   "description": "Average instrument reading over all acquisitions in a measurement.",
   "type": "object",
   "properties": {
      "intensity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Average scattered light intensity."
      },
      "temperature": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Average measured temperature."
      },
      "time": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Average acquisition time."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field intensity: RawValueUnit#

Average scattered light intensity.

field temperature: RawValueUnit#

Average measured temperature.

field time: RawValueUnit#

Average acquisition time.

Model InstrumentState[source]#

Bases: IdsElement

Per-measurement DLS instrument state, one entry per acquisition.

Show JSON schema
{
   "description": "Per-measurement DLS instrument state, one entry per acquisition.",
   "type": "object",
   "properties": {
      "measurement_index": {
         "description": "Zero- or one-based index of the measurement within the run.",
         "type": [
            "number",
            "null"
         ]
      },
      "measurement_id": {
         "description": "Vendor identifier for the measurement.",
         "type": [
            "string",
            "null"
         ]
      },
      "laser_power": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Laser power used for the measurement."
      },
      "attenuation_level": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Attenuation level applied to the incident laser, set automatically to keep the count rate in range."
      },
      "acquisition_period": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Duration of a single acquisition."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field acquisition_period: RawValueUnit#

Duration of a single acquisition.

field attenuation_level: RawValueUnit#

Attenuation level applied to the incident laser, set automatically to keep the count rate in range.

field laser_power: RawValueUnit#

Laser power used for the measurement.

field measurement_id: str | None#

Vendor identifier for the measurement.

field measurement_index: float | None#

Zero- or one-based index of the measurement within the run.

Model LaserDiffractionMethodSettings[source]#

Bases: IdsElement

Laser Diffraction method parameters (e.g. Mastersizer).

Show JSON schema
{
   "description": "Laser Diffraction method parameters (e.g. Mastersizer).",
   "type": "object",
   "properties": {
      "sop_file": {
         "description": "Name/path of the Standard Operating Procedure (SOP) file used.",
         "type": [
            "string",
            "null"
         ]
      },
      "scattering_model": {
         "description": "Scattering model used to invert the diffraction pattern, e.g. 'Mie' or 'Fraunhofer'.",
         "type": [
            "string",
            "null"
         ]
      },
      "analysis_model": {
         "description": "Analysis model applied, e.g. 'general purpose' or 'single narrow mode'.",
         "type": [
            "string",
            "null"
         ]
      },
      "sensitivity": {
         "description": "Analysis sensitivity setting, e.g. 'normal' or 'enhanced'.",
         "type": [
            "string",
            "null"
         ]
      },
      "result_emulation": {
         "description": "Result emulation setting used to reproduce results from an older instrument model.",
         "type": [
            "string",
            "null"
         ]
      },
      "fine_powder_mode": {
         "description": "Fine powder mode setting for dry dispersion of cohesive powders.",
         "type": [
            "string",
            "null"
         ]
      },
      "size_range": {
         "$ref": "#/definitions/SizeRange",
         "description": "Configured lower/upper size range for the analysis."
      },
      "obscuration": {
         "$ref": "#/definitions/ObscurationLimits",
         "description": "Configured obscuration high/low limits."
      },
      "feed_rate": {
         "$ref": "#/definitions/FeedRate",
         "description": "Sample feed rate demand and achieved values."
      },
      "gauge_air_pressure_demand": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Configured gauge air pressure for a dry dispersion unit."
      },
      "hopper_gap": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Hopper gap setting controlling dry sample feed."
      },
      "dispersion_unit": {
         "$ref": "#/definitions/DispersionUnit",
         "description": "Configuration of the wet/dry dispersion unit."
      },
      "measurement_time": {
         "$ref": "#/definitions/MeasurementTime",
         "description": "Background and sample measurement durations."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "DispersionUnit": {
         "additionalProperties": false,
         "description": "Configuration of the dispersion unit (wet or dry) that suspends and\ndelivers the sample to the laser diffraction measurement zone.",
         "properties": {
            "name": {
               "description": "Name/type of the dispersion unit.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stirrer_speed": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Stirrer speed of the wet dispersion unit."
            },
            "ultrasound_power": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Ultrasound power applied to disperse/de-agglomerate the sample."
            },
            "ultrasound_duration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration for which ultrasound is applied."
            },
            "ultrasound_mode": {
               "description": "Ultrasound application mode, e.g. 'continuous' or 'pre-measurement'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "venturi_type": {
               "description": "Venturi type for a dry dispersion unit.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "FeedRate": {
         "additionalProperties": false,
         "description": "Sample feed rate demand (configured) and achieved (measured) values.",
         "properties": {
            "demand": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Configured/demanded feed rate."
            },
            "achieved": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Actual/achieved feed rate."
            }
         },
         "type": "object"
      },
      "MeasurementTime": {
         "additionalProperties": false,
         "description": "Background and sample measurement durations for a laser diffraction method.",
         "properties": {
            "background": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of the background (blank) measurement."
            },
            "sample": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of the sample measurement."
            }
         },
         "type": "object"
      },
      "ObscurationLimits": {
         "additionalProperties": false,
         "description": "Configured obscuration (light attenuation) high/low limits for a laser diffraction method.",
         "properties": {
            "high_limit": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper obscuration limit."
            },
            "low_limit": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower obscuration limit."
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeRange": {
         "additionalProperties": false,
         "description": "Configured lower and upper size range for laser diffraction analysis.",
         "properties": {
            "low": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower bound of the analysis size range."
            },
            "high": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper bound of the analysis size range."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field analysis_model: str | None#

Analysis model applied, e.g. ‘general purpose’ or ‘single narrow mode’.

field dispersion_unit: DispersionUnit#

Configuration of the wet/dry dispersion unit.

field feed_rate: FeedRate#

Sample feed rate demand and achieved values.

field fine_powder_mode: str | None#

Fine powder mode setting for dry dispersion of cohesive powders.

field gauge_air_pressure_demand: RawValueUnit#

Configured gauge air pressure for a dry dispersion unit.

field hopper_gap: RawValueUnit#

Hopper gap setting controlling dry sample feed.

field measurement_time: MeasurementTime#

Background and sample measurement durations.

field obscuration: ObscurationLimits#

Configured obscuration high/low limits.

field result_emulation: str | None#

Result emulation setting used to reproduce results from an older instrument model.

field scattering_model: str | None#

Scattering model used to invert the diffraction pattern, e.g. ‘Mie’ or ‘Fraunhofer’.

field sensitivity: str | None#

Analysis sensitivity setting, e.g. ‘normal’ or ‘enhanced’.

field size_range: SizeRange#

Configured lower/upper size range for the analysis.

field sop_file: str | None#

Name/path of the Standard Operating Procedure (SOP) file used.

Model LaserDiffractionResult[source]#

Bases: IdsElement

Laser Diffraction specific results.

Show JSON schema
{
   "description": "Laser Diffraction specific results.",
   "type": "object",
   "properties": {
      "d10": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "10th percentile size: 10% of the volume distribution lies below this size."
      },
      "d50": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "50th percentile (median) size."
      },
      "d90": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "90th percentile size: 90% of the volume distribution lies below this size."
      },
      "span": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Distribution width, (d90 - d10) / d50."
      },
      "volume_weighted_mean": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "D[4,3] - volume-weighted mean diameter."
      },
      "surface_weighted_mean": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "D[3,2] - surface-weighted mean diameter (Sauter mean)."
      },
      "obscuration": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Obscuration (fraction of light attenuated) during the measurement."
      },
      "concentration": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Sample concentration in the measurement zone."
      },
      "weighted_residual": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Weighted residual of the model fit to the diffraction pattern; a goodness-of-fit indicator."
      },
      "uniformity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Uniformity of the size distribution."
      },
      "specific_surface_area": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Specific surface area computed from the volume distribution."
      },
      "additional_statistics": {
         "description": "Additional Dxx percentiles beyond D10/D50/D90.",
         "items": {
            "$ref": "#/definitions/AdditionalStatistic"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "AdditionalStatistic": {
         "additionalProperties": false,
         "description": "An additional Dxx percentile beyond the standard D10/D50/D90.",
         "properties": {
            "name": {
               "description": "Name of the percentile, e.g. 'D[v,0.25]'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "value": {
               "description": "Numeric value of the percentile.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit of the value, e.g. 'Micrometer'.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field additional_statistics: List[AdditionalStatistic]#

Additional Dxx percentiles beyond D10/D50/D90.

field concentration: RawValueUnit#

Sample concentration in the measurement zone.

field d10: RawValueUnit#

10th percentile size: 10% of the volume distribution lies below this size.

field d50: RawValueUnit#

50th percentile (median) size.

field d90: RawValueUnit#

90th percentile size: 90% of the volume distribution lies below this size.

field obscuration: RawValueUnit#

Obscuration (fraction of light attenuated) during the measurement.

field span: RawValueUnit#

Distribution width, (d90 - d10) / d50.

field specific_surface_area: RawValueUnit#

Specific surface area computed from the volume distribution.

field surface_weighted_mean: RawValueUnit#

D[3,2] - surface-weighted mean diameter (Sauter mean).

field uniformity: RawValueUnit#

Uniformity of the size distribution.

field volume_weighted_mean: RawValueUnit#

D[4,3] - volume-weighted mean diameter.

field weighted_residual: RawValueUnit#

Weighted residual of the model fit to the diffraction pattern; a goodness-of-fit indicator.

Model MeasurementTime[source]#

Bases: IdsElement

Background and sample measurement durations for a laser diffraction method.

Show JSON schema
{
   "description": "Background and sample measurement durations for a laser diffraction method.",
   "type": "object",
   "properties": {
      "background": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Duration of the background (blank) measurement."
      },
      "sample": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Duration of the sample measurement."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field background: RawValueUnit#

Duration of the background (blank) measurement.

field sample: RawValueUnit#

Duration of the sample measurement.

Model Method[source]#

Bases: IdsElement

Measurement method and conditions common to every particle sizer technique.

The technique-specific settings blocks are not included here. Following the same pattern as the System and plate reader MeasurementSetting components, a vendor-specific IDS composes only the blocks its instrument supports by inheriting from this base plus the relevant nested mixin classes – e.g. a DLS-only instrument uses class MyMethod(Method, Method.DynamicLightScattering), while an instrument supporting several techniques inherits from all the corresponding nested classes.

Show JSON schema
{
   "description": "Measurement method and conditions common to every particle sizer\ntechnique.\n\nThe technique-specific settings blocks are *not* included here. Following\nthe same pattern as the :py:class:`System <ts_ids_core.schema.system.System>`\nand :py:class:`plate reader MeasurementSetting\n<ts_ids_components.plate_reader.methods.MeasurementSetting>` components, a\nvendor-specific IDS composes only the blocks its instrument supports by\ninheriting from this base plus the relevant nested mixin classes -- e.g.\na DLS-only instrument uses ``class MyMethod(Method, Method.DynamicLightScattering)``,\nwhile an instrument supporting several techniques inherits from all the\ncorresponding nested classes.",
   "type": "object",
   "properties": {
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this method, referenced by results via ``fk_method``.",
         "type": "string"
      },
      "technique": {
         "description": "Standardized measurement technique used.",
         "example_values": [
            "dynamic light scattering",
            "electrophoretic light scattering",
            "static light scattering",
            "laser diffraction"
         ],
         "type": [
            "string",
            "null"
         ]
      },
      "temperature": {
         "$ref": "#/definitions/Temperature",
         "description": "Target and actual temperature of the measurement."
      },
      "plate": {
         "$ref": "#/definitions/Plate",
         "description": "Plate information, for plate-reader DLS instruments."
      },
      "solvents": {
         "description": "Dispersant(s) the particles are suspended in.",
         "items": {
            "$ref": "#/definitions/Solvent"
         },
         "type": "array"
      },
      "particle": {
         "$ref": "#/definitions/Particle",
         "description": "Optical properties of the analyte particle material."
      },
      "fk_run": {
         "@foreign_key": "/properties/runs/items/properties/pk",
         "description": "Foreign key to the run this method was used in.",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "pk",
      "fk_run"
   ],
   "definitions": {
      "Particle": {
         "additionalProperties": false,
         "description": "Optical properties of the analyte particle (material). The refractive\nindex and absorption index are the material constants used by the\nscattering model (e.g. Mie theory for laser diffraction) to convert a\nscattering pattern into a size distribution.\n\nThe ``*_blue`` variants carry the constants at a second, shorter (blue)\nwavelength, reported by laser diffraction instruments (e.g. Mastersizer)\nthat use a blue light source in addition to the red laser to improve\nresolution of fine particles.",
         "properties": {
            "name": {
               "description": "Name of the particle material, e.g. 'Polystyrene latex'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "refractive_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Real part of the particle's refractive index (at the primary/red wavelength)."
            },
            "absorption_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Imaginary part (absorption) of the particle's refractive index (at the primary/red wavelength)."
            },
            "refractive_index_blue": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Real part of the particle's refractive index at the blue wavelength (laser diffraction)."
            },
            "absorption_index_blue": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Imaginary part (absorption) of the particle's refractive index at the blue wavelength (laser diffraction)."
            },
            "density": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Density of the particle material, used to convert between volume- and mass-weighted results."
            },
            "shape_model": {
               "description": "Particle shape model assumed by the analysis, e.g. 'spherical'.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Plate": {
         "additionalProperties": false,
         "description": "Well plate used by plate-reader DLS instruments (e.g. DynaPro Plate\nReader), where each well holds a separate sample.",
         "properties": {
            "brand": {
               "description": "Manufacturer/brand of the plate.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Name or catalog identifier of the plate.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "type": {
               "description": "Plate type/format, e.g. '96-well' or '384-well'.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "Solvent": {
         "additionalProperties": false,
         "description": "Dispersant / solvent medium the particles are suspended in. Its\nrefractive index and viscosity are required inputs to the Stokes-Einstein\nrelation used to convert a measured diffusion coefficient into a\nhydrodynamic size, and its dielectric constant is required for ELS/zeta\npotential calculations.",
         "properties": {
            "id": {
               "description": "Vendor identifier for the dispersant in the instrument's material database.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "name": {
               "description": "Name of the dispersant, e.g. 'Water'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "refractive_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Refractive index of the dispersant at the measurement wavelength."
            },
            "viscosity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Dynamic viscosity of the dispersant at the measurement temperature."
            },
            "dielectric_constant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Dielectric constant (relative permittivity) of the dispersant, used for ELS/zeta calculations."
            },
            "abundance": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Relative abundance/fraction of this dispersant, when the medium is a mixture."
            }
         },
         "type": "object"
      },
      "Temperature": {
         "additionalProperties": false,
         "description": "Target (set-point) and actual (measured) temperature for a measurement.",
         "properties": {
            "target": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Target/set-point temperature configured for the measurement."
            },
            "actual": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Actual temperature measured during the measurement."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field fk_run: str#

Foreign key to the run this method was used in.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field particle: Particle#

Optical properties of the analyte particle material.

field pk: str#

Primary key for this method, referenced by results via fk_method.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

field plate: Plate#

Plate information, for plate-reader DLS instruments.

field solvents: List[Solvent]#

Dispersant(s) the particles are suspended in.

field technique: str | None#

Standardized measurement technique used.

field temperature: Temperature#

Target and actual temperature of the measurement.

Model DynamicLightScattering[source]#

Bases: IdsElement

Adds the Dynamic Light Scattering method settings (which also carry the ELS/SLS optical configuration). Inherit from this to support DLS, ELS, or SLS.

Show JSON schema
{
   "description": "Adds the Dynamic Light Scattering method settings (which also carry\nthe ELS/SLS optical configuration). Inherit from this to support DLS,\nELS, or SLS.",
   "type": "object",
   "properties": {
      "dynamic_light_scattering": {
         "$ref": "#/definitions/DLSMethodSettings",
         "description": "DLS-specific method parameters (also carries the ELS/SLS optical configuration)."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "AcquisitionQualityGate": {
         "additionalProperties": false,
         "description": "A data quality gate/filter applied during DLS acquisition, used to accept\nor reject individual acquisitions before averaging.",
         "properties": {
            "file_key": {
               "description": "Vendor key identifying the gate in the raw file.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "label": {
               "description": "Human-readable name of the quality gate.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "threshold": {
               "description": "Threshold/condition applied by the gate, as reported by the instrument.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "enabled": {
               "description": "Whether the gate is enabled (1) or disabled (0).",
               "type": [
                  "number",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "DLSMethodSettings": {
         "additionalProperties": false,
         "description": "Dynamic Light Scattering method parameters. Also carries the optical\nconfiguration shared by the ELS and SLS techniques, which are measured on\nthe same optical bench.",
         "properties": {
            "cell_name": {
               "description": "Name/type of the measurement cell or cuvette used.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "angle": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Scattering detection angle, e.g. 173 degrees for backscatter."
            },
            "wavelength": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Wavelength of the incident laser."
            },
            "attenuator": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Attenuator setting applied to the incident laser."
            },
            "size_limits": {
               "$ref": "#/definitions/SizeLimits",
               "description": "Configured lower/upper size limits for the analysis."
            },
            "instrument_states": {
               "description": "Per-acquisition instrument state (laser power, attenuation, etc.).",
               "items": {
                  "$ref": "#/definitions/InstrumentState"
               },
               "type": "array"
            },
            "acquisition_quality_gates": {
               "description": "Data quality gates applied during acquisition filtering.",
               "items": {
                  "$ref": "#/definitions/AcquisitionQualityGate"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "InstrumentState": {
         "additionalProperties": false,
         "description": "Per-measurement DLS instrument state, one entry per acquisition.",
         "properties": {
            "measurement_index": {
               "description": "Zero- or one-based index of the measurement within the run.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "measurement_id": {
               "description": "Vendor identifier for the measurement.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "laser_power": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Laser power used for the measurement."
            },
            "attenuation_level": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Attenuation level applied to the incident laser, set automatically to keep the count rate in range."
            },
            "acquisition_period": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of a single acquisition."
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeLimits": {
         "additionalProperties": false,
         "description": "Configured lower and upper size limits for DLS analysis.",
         "properties": {
            "low": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower size limit for the analysis."
            },
            "high": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper size limit for the analysis."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field dynamic_light_scattering: DLSMethodSettings#

DLS-specific method parameters (also carries the ELS/SLS optical configuration).

Model LaserDiffraction[source]#

Bases: IdsElement

Adds the Laser Diffraction method settings. Inherit from this to support LD.

Show JSON schema
{
   "description": "Adds the Laser Diffraction method settings. Inherit from this to support LD.",
   "type": "object",
   "properties": {
      "laser_diffraction": {
         "$ref": "#/definitions/LaserDiffractionMethodSettings",
         "description": "Laser diffraction-specific method parameters."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "DispersionUnit": {
         "additionalProperties": false,
         "description": "Configuration of the dispersion unit (wet or dry) that suspends and\ndelivers the sample to the laser diffraction measurement zone.",
         "properties": {
            "name": {
               "description": "Name/type of the dispersion unit.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stirrer_speed": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Stirrer speed of the wet dispersion unit."
            },
            "ultrasound_power": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Ultrasound power applied to disperse/de-agglomerate the sample."
            },
            "ultrasound_duration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration for which ultrasound is applied."
            },
            "ultrasound_mode": {
               "description": "Ultrasound application mode, e.g. 'continuous' or 'pre-measurement'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "venturi_type": {
               "description": "Venturi type for a dry dispersion unit.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "FeedRate": {
         "additionalProperties": false,
         "description": "Sample feed rate demand (configured) and achieved (measured) values.",
         "properties": {
            "demand": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Configured/demanded feed rate."
            },
            "achieved": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Actual/achieved feed rate."
            }
         },
         "type": "object"
      },
      "LaserDiffractionMethodSettings": {
         "additionalProperties": false,
         "description": "Laser Diffraction method parameters (e.g. Mastersizer).",
         "properties": {
            "sop_file": {
               "description": "Name/path of the Standard Operating Procedure (SOP) file used.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "scattering_model": {
               "description": "Scattering model used to invert the diffraction pattern, e.g. 'Mie' or 'Fraunhofer'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "analysis_model": {
               "description": "Analysis model applied, e.g. 'general purpose' or 'single narrow mode'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "sensitivity": {
               "description": "Analysis sensitivity setting, e.g. 'normal' or 'enhanced'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "result_emulation": {
               "description": "Result emulation setting used to reproduce results from an older instrument model.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "fine_powder_mode": {
               "description": "Fine powder mode setting for dry dispersion of cohesive powders.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "size_range": {
               "$ref": "#/definitions/SizeRange",
               "description": "Configured lower/upper size range for the analysis."
            },
            "obscuration": {
               "$ref": "#/definitions/ObscurationLimits",
               "description": "Configured obscuration high/low limits."
            },
            "feed_rate": {
               "$ref": "#/definitions/FeedRate",
               "description": "Sample feed rate demand and achieved values."
            },
            "gauge_air_pressure_demand": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Configured gauge air pressure for a dry dispersion unit."
            },
            "hopper_gap": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hopper gap setting controlling dry sample feed."
            },
            "dispersion_unit": {
               "$ref": "#/definitions/DispersionUnit",
               "description": "Configuration of the wet/dry dispersion unit."
            },
            "measurement_time": {
               "$ref": "#/definitions/MeasurementTime",
               "description": "Background and sample measurement durations."
            }
         },
         "type": "object"
      },
      "MeasurementTime": {
         "additionalProperties": false,
         "description": "Background and sample measurement durations for a laser diffraction method.",
         "properties": {
            "background": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of the background (blank) measurement."
            },
            "sample": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Duration of the sample measurement."
            }
         },
         "type": "object"
      },
      "ObscurationLimits": {
         "additionalProperties": false,
         "description": "Configured obscuration (light attenuation) high/low limits for a laser diffraction method.",
         "properties": {
            "high_limit": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper obscuration limit."
            },
            "low_limit": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower obscuration limit."
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeRange": {
         "additionalProperties": false,
         "description": "Configured lower and upper size range for laser diffraction analysis.",
         "properties": {
            "low": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Lower bound of the analysis size range."
            },
            "high": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Upper bound of the analysis size range."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field laser_diffraction: LaserDiffractionMethodSettings#

Laser diffraction-specific method parameters.

Model ObscurationLimits[source]#

Bases: IdsElement

Configured obscuration (light attenuation) high/low limits for a laser diffraction method.

Show JSON schema
{
   "description": "Configured obscuration (light attenuation) high/low limits for a laser diffraction method.",
   "type": "object",
   "properties": {
      "high_limit": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Upper obscuration limit."
      },
      "low_limit": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Lower obscuration limit."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field high_limit: RawValueUnit#

Upper obscuration limit.

field low_limit: RawValueUnit#

Lower obscuration limit.

Model Particle[source]#

Bases: IdsElement

Optical properties of the analyte particle (material). The refractive index and absorption index are the material constants used by the scattering model (e.g. Mie theory for laser diffraction) to convert a scattering pattern into a size distribution.

The *_blue variants carry the constants at a second, shorter (blue) wavelength, reported by laser diffraction instruments (e.g. Mastersizer) that use a blue light source in addition to the red laser to improve resolution of fine particles.

Show JSON schema
{
   "description": "Optical properties of the analyte particle (material). The refractive\nindex and absorption index are the material constants used by the\nscattering model (e.g. Mie theory for laser diffraction) to convert a\nscattering pattern into a size distribution.\n\nThe ``*_blue`` variants carry the constants at a second, shorter (blue)\nwavelength, reported by laser diffraction instruments (e.g. Mastersizer)\nthat use a blue light source in addition to the red laser to improve\nresolution of fine particles.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Name of the particle material, e.g. 'Polystyrene latex'.",
         "type": [
            "string",
            "null"
         ]
      },
      "refractive_index": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Real part of the particle's refractive index (at the primary/red wavelength)."
      },
      "absorption_index": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Imaginary part (absorption) of the particle's refractive index (at the primary/red wavelength)."
      },
      "refractive_index_blue": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Real part of the particle's refractive index at the blue wavelength (laser diffraction)."
      },
      "absorption_index_blue": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Imaginary part (absorption) of the particle's refractive index at the blue wavelength (laser diffraction)."
      },
      "density": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Density of the particle material, used to convert between volume- and mass-weighted results."
      },
      "shape_model": {
         "description": "Particle shape model assumed by the analysis, e.g. 'spherical'.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field absorption_index: RawValueUnit#

Imaginary part (absorption) of the particle’s refractive index (at the primary/red wavelength).

field absorption_index_blue: RawValueUnit#

Imaginary part (absorption) of the particle’s refractive index at the blue wavelength (laser diffraction).

field density: RawValueUnit#

Density of the particle material, used to convert between volume- and mass-weighted results.

field name: str | None#

Name of the particle material, e.g. ‘Polystyrene latex’.

field refractive_index: RawValueUnit#

Real part of the particle’s refractive index (at the primary/red wavelength).

field refractive_index_blue: RawValueUnit#

Real part of the particle’s refractive index at the blue wavelength (laser diffraction).

field shape_model: str | None#

Particle shape model assumed by the analysis, e.g. ‘spherical’.

Model ParticleSizerRun[source]#

Bases: Run

A single particle sizer measurement run or sequence.

Show JSON schema
{
   "description": "A single particle sizer measurement run or sequence.",
   "type": "object",
   "properties": {
      "id": {
         "description": "Unique identifier assigned to a specific run (execution) of an experiment.",
         "type": [
            "string",
            "null"
         ]
      },
      "name": {
         "description": "Name assigned to a specific run (execution) of an experiment.",
         "type": [
            "string",
            "null"
         ]
      },
      "logs": {
         "description": "Log messages recorded during a specific run (execution) of an experiment.",
         "items": {
            "type": "string"
         },
         "type": "array"
      },
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this run, referenced by methods/results/datacubes belonging to it.",
         "type": "string"
      },
      "record_id": {
         "description": "Vendor-assigned record identifier for this run, as stored in the raw file. Distinct from the generic ``id`` field, which is a user-facing run identifier.",
         "type": [
            "string",
            "null"
         ]
      },
      "comment": {
         "description": "Free-text comment or note recorded for this run.",
         "type": [
            "string",
            "null"
         ]
      },
      "time": {
         "$ref": "#/definitions/Time",
         "description": "Timestamps for the run: ``start`` and ``stop`` bound the measurement, and ``acquired`` records when the data was captured/exported."
      }
   },
   "additionalProperties": false,
   "required": [
      "pk"
   ],
   "definitions": {
      "RawTime": {
         "additionalProperties": false,
         "description": "The base model for capturing common time fields found in primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Time": {
         "additionalProperties": false,
         "description": "A model for datetime values converted to a standard ISO format and their\nrespective raw datetime values in the primary data.",
         "properties": {
            "start": {
               "description": "Process/experiment/task start time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "created": {
               "description": "Data created time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "stop": {
               "description": "Process/experiment/task stop/finish time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "duration": {
               "description": "Process/experiment/task duration.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "last_updated": {
               "description": "Data last updated time of a file/method.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "acquired": {
               "description": "Data acquired/exported/captured time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "modified": {
               "description": "Data last modified/edited time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "lookup": {
               "description": "Data lookup time.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw": {
               "$ref": "#/definitions/RawTime",
               "description": "Raw time values from primary data."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field comment: str | None#

Free-text comment or note recorded for this run.

field pk: str#

Primary key for this run, referenced by methods/results/datacubes belonging to it.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

field record_id: str | None#

Vendor-assigned record identifier for this run, as stored in the raw file. Distinct from the generic id field, which is a user-facing run identifier.

field time: Time#

Timestamps for the run: start and stop bound the measurement, and acquired records when the data was captured/exported.

Model ParticleSizerSystem[source]#

Bases: System, SerialNumber, Software, Firmware

Instrument system information common to particle sizer instruments, across Dynamic Light Scattering (DLS), Electrophoretic Light Scattering (ELS/Zeta), Static Light Scattering (SLS), and Laser Diffraction (LD) vendors (e.g. Malvern Zetasizer, Wyatt DynaPro, Malvern Mastersizer).

Show JSON schema
{
   "description": "Instrument system information common to particle sizer instruments,\nacross Dynamic Light Scattering (DLS), Electrophoretic Light Scattering\n(ELS/Zeta), Static Light Scattering (SLS), and Laser Diffraction (LD)\nvendors (e.g. Malvern Zetasizer, Wyatt DynaPro, Malvern Mastersizer).",
   "type": "object",
   "properties": {
      "firmware": {
         "description": "System firmware metadata.",
         "items": {
            "$ref": "#/definitions/Firmware"
         },
         "type": "array"
      },
      "software": {
         "description": "Software applications that most recently handled the data (file) or the applications the data (file) is intended for. For example, applications can include Electronic Lab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems (CDS), or instrument-specific analysis software.",
         "items": {
            "$ref": "#/definitions/Software"
         },
         "type": "array"
      },
      "serial_number": {
         "description": "System serial number. Indicates a unique instrument identifier within the same model line from a specific vendor. This is provided by the system vendor, unlike an ID or name which are usually created by the system owner or user.",
         "type": [
            "string",
            "null"
         ]
      },
      "vendor": {
         "description": "The instrument vendor or manufacturer, like 'PerkinElmer' or 'Agilent'.",
         "type": [
            "string",
            "null"
         ]
      },
      "model": {
         "description": "A specific model instrument type from a vendor.",
         "type": [
            "string",
            "null"
         ]
      },
      "type": {
         "description": "Indicates the type of instrument that's generating data.",
         "type": [
            "string",
            "null"
         ]
      },
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this system, referenced by results/datacubes belonging to it.",
         "type": "string"
      },
      "accessories": {
         "description": "Accessories or modules attached to the instrument (dispersion unit, autosampler, sample-prep chamber, additional detector channel, etc.). Empty when none are reported.",
         "items": {
            "$ref": "#/definitions/Accessory"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "vendor",
      "model",
      "type",
      "pk"
   ],
   "definitions": {
      "Accessory": {
         "additionalProperties": false,
         "description": "An accessory or module attached to a particle sizer instrument -- e.g. a\ndispersion unit (Malvern Mastersizer's Hydro/Aero), an autosampler, a\nsample-prep chamber, or an additional detector channel.\n\nA particle sizer can be equipped with more than one accessory, so\n:py:class:`ParticleSizerSystem` holds these as a list. Modeled as an\nobject (rather than a bare serial-number string) so the serial number\nstays tied to the accessory it identifies and so additional accessory\nattributes can be captured as instruments report them. In some raw data\n(e.g. the Mastersizer CSV export) only the serial number is available, in\nwhich case ``name`` is left unset.",
         "properties": {
            "name": {
               "description": "Name or type of the accessory, e.g. 'Hydro MV' or 'Aero S'. Unset when the raw data reports only the serial number.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "serial_number": {
               "description": "Serial number of the accessory, as reported by the instrument.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "Firmware": {
         "additionalProperties": false,
         "description": "System firmware metadata.",
         "properties": {
            "name": {
               "description": "Firmware name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "version": {
               "description": "Firmware version.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "name",
            "version"
         ],
         "type": "object"
      },
      "Software": {
         "additionalProperties": false,
         "description": "Software application that most recently handled the data (file) or the application\nthe data (file) is intended for. For example, applications can include Electronic\nLab Notebooks (ELN), Instrument Control Software (ICS), Chromatography Data Systems\n(CDS), or instrument-specific analysis software.",
         "properties": {
            "name": {
               "description": "Software name.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "version": {
               "description": "Software version.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "name",
            "version"
         ],
         "type": "object"
      }
   }
}

Validators:

field accessories: List[Accessory]#

Accessories or modules attached to the instrument (dispersion unit, autosampler, sample-prep chamber, additional detector channel, etc.). Empty when none are reported.

field pk: str#

Primary key for this system, referenced by results/datacubes belonging to it.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

class ParticleSizerTechnique(value)[source]#

Bases: str, Enum

Standardized measurement technique for a particle sizer method. Each vendor reports the technique using a different raw value, which the task script should translate to one of these values rather than passing through verbatim.

  • DYNAMIC_LIGHT_SCATTERING – measures Brownian-motion-driven intensity fluctuations to size sub-micron particles.

  • ELECTROPHORETIC_LIGHT_SCATTERING – measures particle electrophoretic mobility to determine zeta potential.

  • STATIC_LIGHT_SCATTERING – measures time-averaged scattered intensity to determine molar mass (DynaPro, simultaneous with DLS).

  • LASER_DIFFRACTION – measures the angular scattering pattern of a laser to size particles from sub-micron to millimetre.

Model Plate[source]#

Bases: IdsElement

Well plate used by plate-reader DLS instruments (e.g. DynaPro Plate Reader), where each well holds a separate sample.

Show JSON schema
{
   "description": "Well plate used by plate-reader DLS instruments (e.g. DynaPro Plate\nReader), where each well holds a separate sample.",
   "type": "object",
   "properties": {
      "brand": {
         "description": "Manufacturer/brand of the plate.",
         "type": [
            "string",
            "null"
         ]
      },
      "name": {
         "description": "Name or catalog identifier of the plate.",
         "type": [
            "string",
            "null"
         ]
      },
      "type": {
         "description": "Plate type/format, e.g. '96-well' or '384-well'.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field brand: str | None#

Manufacturer/brand of the plate.

field name: str | None#

Name or catalog identifier of the plate.

field type_: str | None (alias 'type')#

Plate type/format, e.g. ‘96-well’ or ‘384-well’.

Model PolydispersityIndex[source]#

Bases: IdsElement

Polydispersity index (PDI) from the cumulants fit: <0.1 indicates a monodisperse sample, >0.4 a broad or aggregated one. The computation differs between instruments – always check definition.

Show JSON schema
{
   "description": "Polydispersity index (PDI) from the cumulants fit: <0.1 indicates a\nmonodisperse sample, >0.4 a broad or aggregated one. The computation\ndiffers between instruments -- always check ``definition``.",
   "type": "object",
   "properties": {
      "value": {
         "description": "Numeric PDI value.",
         "type": [
            "number",
            "null"
         ]
      },
      "unit": {
         "description": "Unit of the PDI value (typically dimensionless).",
         "type": [
            "string",
            "null"
         ]
      },
      "definition": {
         "description": "Algorithm used to compute the PDI. The definitions are not interchangeable.",
         "example_values": [
            "iso_22412",
            "percent_pd_over_100"
         ],
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false
}

Validators:

field definition: str | None#

Algorithm used to compute the PDI. The definitions are not interchangeable.

field unit: str | None#

Unit of the PDI value (typically dimensionless).

field value: float | None#

Numeric PDI value.

class PolydispersityIndexDefinition(value)[source]#

Bases: str, Enum

Algorithm used to compute the polydispersity index (PDI). The two definitions are not interchangeable, so the definition must be recorded alongside the value.

  • ISO_22412 – µ₂/Γ̄² from the cumulants fit (Zetasizer).

  • PERCENT_PD_OVER_100 – (%Pd/100)² (DynaPro).

Model RegularizedFitPeak[source]#

Bases: IdsElement

A single peak from regularized NNLS deconvolution of the DLS ACF.

Show JSON schema
{
   "description": "A single peak from regularized NNLS deconvolution of the DLS ACF.",
   "type": "object",
   "properties": {
      "dist": {
         "description": "Distribution index the peak belongs to.",
         "type": [
            "number",
            "null"
         ]
      },
      "peak_index": {
         "description": "Index of the peak within the distribution.",
         "type": [
            "number",
            "null"
         ]
      },
      "radius": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Hydrodynamic radius of the peak."
      },
      "diffusion_coefficient": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Diffusion coefficient of the peak."
      },
      "molecular_weight": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Molecular weight estimated for the peak."
      },
      "polydispersity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Polydispersity of the peak."
      },
      "first_index": {
         "description": "Index of the first ACF grid point contributing to the peak.",
         "type": [
            "number",
            "null"
         ]
      },
      "number_of_points": {
         "description": "Number of ACF grid points contributing to the peak.",
         "type": [
            "number",
            "null"
         ]
      },
      "decay_time": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Characteristic decay time of the peak."
      },
      "percent_intensity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
      },
      "percent_mass": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
      },
      "percent_number": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field decay_time: RawValueUnit#

Characteristic decay time of the peak.

field diffusion_coefficient: RawValueUnit#

Diffusion coefficient of the peak.

field dist: float | None#

Distribution index the peak belongs to.

field first_index: float | None#

Index of the first ACF grid point contributing to the peak.

field molecular_weight: RawValueUnit#

Molecular weight estimated for the peak.

field number_of_points: float | None#

Number of ACF grid points contributing to the peak.

field peak_index: float | None#

Index of the peak within the distribution.

field percent_intensity: RawValueUnit#

Contribution of the peak to the intensity-weighted distribution, as a percentage.

field percent_mass: RawValueUnit#

Contribution of the peak to the mass/volume-weighted distribution, as a percentage.

field percent_number: RawValueUnit#

Contribution of the peak to the number-weighted distribution, as a percentage.

field polydispersity: RawValueUnit#

Polydispersity of the peak.

field radius: RawValueUnit#

Hydrodynamic radius of the peak.

Model Result[source]#

Bases: IdsElement

A measurement result: the fields common to every technique (size distributions plus the foreign keys linking it back to its run, method, sample, and originating curve).

The technique-specific result blocks are not included here. As with Method, a vendor-specific IDS composes only the blocks its instrument produces by inheriting from this base plus the relevant nested mixin classes – e.g. class MyResult(Result, Result.DynamicLightScattering, Result.ElectrophoreticLightScattering) for a DLS/ELS instrument.

Show JSON schema
{
   "description": "A measurement result: the fields common to every technique (size\ndistributions plus the foreign keys linking it back to its run, method,\nsample, and originating curve).\n\nThe technique-specific result blocks are *not* included here. As with\n:py:class:`Method <ts_ids_components.particle_sizer.method.Method>`, a\nvendor-specific IDS composes only the blocks its instrument produces by\ninheriting from this base plus the relevant nested mixin classes -- e.g.\n``class MyResult(Result, Result.DynamicLightScattering, Result.ElectrophoreticLightScattering)``\nfor a DLS/ELS instrument.",
   "type": "object",
   "properties": {
      "pk": {
         "@primary_key": true,
         "description": "Primary key for this result.",
         "type": "string"
      },
      "analysis_pass": {
         "description": "Zetasizer-specific analysis pass. Two ``Result`` entries per measurement (one per pass). DynaPro and Mastersizer set null.",
         "example_values": [
            "filtered",
            "unfiltered"
         ],
         "type": [
            "string",
            "null"
         ]
      },
      "size_distributions": {
         "description": "Size distributions for this result, one per weighting (shared across DLS and Laser Diffraction).",
         "items": {
            "$ref": "#/definitions/SizeDistribution"
         },
         "type": "array"
      },
      "fk_run": {
         "@foreign_key": "/properties/runs/items/properties/pk",
         "description": "Foreign key to the run that produced this result.",
         "type": "string"
      },
      "fk_method": {
         "@foreign_key": "/properties/methods/items/properties/pk",
         "description": "Foreign key to the method used for this result.",
         "type": "string"
      },
      "fk_sample": {
         "@foreign_key": "/properties/samples/items/properties/pk",
         "description": "Foreign key to the sample. Essential for plate-reader instruments where one run produces results for many samples.",
         "type": "string"
      },
      "fk_curve": {
         "@foreign_key": "/properties/curves/items/properties/pk",
         "description": "Foreign key to the raw curve (in the ``curves`` array) this result was derived from. See :py:class:`CurveFile <ts_ids_components.particle_sizer.curve.CurveFile>`. When a result has no corresponding curve, point this at a placeholder curve entry so the foreign key is always satisfied.",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "pk",
      "fk_run",
      "fk_method",
      "fk_sample",
      "fk_curve"
   ],
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeDistribution": {
         "additionalProperties": false,
         "description": "A size distribution result for a given weighting, summarized by its\npercentile statistics and constituent peaks.",
         "properties": {
            "weighting": {
               "description": "Statistical weighting of the distribution.",
               "example_values": [
                  "intensity",
                  "volume",
                  "mass",
                  "number"
               ],
               "type": [
                  "string",
                  "null"
               ]
            },
            "source": {
               "description": "Analysis/source that produced the distribution, e.g. 'cumulants' or 'distribution analysis'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "d10": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "10th percentile size: 10% of the distribution lies below this size."
            },
            "d50": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "50th percentile (median) size."
            },
            "d90": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "90th percentile size: 90% of the distribution lies below this size."
            },
            "span": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Distribution width, (d90 - d10) / d50."
            },
            "peaks": {
               "description": "Individual peaks that make up the distribution.",
               "items": {
                  "$ref": "#/definitions/SizeDistributionPeak"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "SizeDistributionPeak": {
         "additionalProperties": false,
         "description": "A single peak within a size distribution.",
         "properties": {
            "mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Mean size of the peak."
            },
            "mode": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Modal (most frequent) size of the peak."
            },
            "standard_deviation": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) of the peak."
            },
            "area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Area under the peak."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Radius corresponding to the peak."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity of the peak."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated for the peak."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion coefficient corresponding to the peak."
            },
            "percent_intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
            },
            "percent_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
            },
            "percent_number": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field analysis_pass: str | None#

Zetasizer-specific analysis pass. Two Result entries per measurement (one per pass). DynaPro and Mastersizer set null.

field fk_curve: str#

Foreign key to the raw curve (in the curves array) this result was derived from. See CurveFile. When a result has no corresponding curve, point this at a placeholder curve entry so the foreign key is always satisfied.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field fk_method: str#

Foreign key to the method used for this result.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field fk_run: str#

Foreign key to the run that produced this result.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field fk_sample: str#

Foreign key to the sample. Essential for plate-reader instruments where one run produces results for many samples.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

  • ids_field_arg = primary_key

  • pk_reference_field = @foreign_key

field pk: str#

Primary key for this result.

Constraints:
  • func = <function validate_uuid at 0x7f1493ac61f0>

  • json_schema_input_type = PydanticUndefined

field size_distributions: List[SizeDistribution]#

Size distributions for this result, one per weighting (shared across DLS and Laser Diffraction).

Model DynamicLightScattering[source]#

Bases: IdsElement

Adds the Dynamic Light Scattering result block.

Show JSON schema
{
   "description": "Adds the Dynamic Light Scattering result block.",
   "type": "object",
   "properties": {
      "dynamic_light_scattering": {
         "$ref": "#/definitions/DLSResult",
         "description": "Dynamic Light Scattering results."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "CumulantFit": {
         "additionalProperties": false,
         "description": "Cumulant analysis fit parameters from the DLS autocorrelation function\n(ACF). Regularized NNLS deconvolution yields amplitude, decay time, and\ndiffusion coefficient from the fitted ACF decay.",
         "properties": {
            "amplitude": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted amplitude (intercept) of the ACF."
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the ACF."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Translational diffusion coefficient from the fit."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius from the fit."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated from the fit."
            },
            "viscosity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Viscosity used in the fit."
            },
            "q": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Scattering vector magnitude used in the fit."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity from the fit."
            },
            "polydispersity_index": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity index from the fit."
            },
            "polydispersity_percent": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity expressed as a percentage."
            },
            "baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fitted baseline of the ACF."
            },
            "sos_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Sum-of-squares error of the fit."
            },
            "lambda": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Regularization parameter used in the deconvolution."
            },
            "sigma": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) parameter of the fit."
            },
            "first_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "First cumulant (mean decay rate)."
            },
            "second_cumulant": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Second cumulant (variance of the decay rate)."
            },
            "measured_baseline": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Measured (as opposed to fitted) baseline."
            },
            "fit_error": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Overall error metric of the fit."
            },
            "order_of_fit": {
               "description": "Order of the cumulant polynomial fit.",
               "type": [
                  "number",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "DLSAcquisition": {
         "additionalProperties": false,
         "description": "A single DLS acquisition within a measurement, with its own fit results.",
         "properties": {
            "index": {
               "description": "Index of the acquisition within the measurement.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "cumulant_fit": {
               "$ref": "#/definitions/CumulantFit",
               "description": "Cumulant fit for this acquisition."
            },
            "regularized_fit_peaks": {
               "description": "Peaks from the regularized fit of this acquisition.",
               "items": {
                  "$ref": "#/definitions/RegularizedFitPeak"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "DLSResult": {
         "additionalProperties": false,
         "description": "Dynamic Light Scattering (DLS) specific results.",
         "properties": {
            "z_average": {
               "$ref": "#/definitions/ZAverage",
               "description": "Intensity-weighted harmonic mean hydrodynamic size from the cumulants fit. Zetasizer reports diameter natively; DynaPro reports radius natively."
            },
            "polydispersity_index": {
               "$ref": "#/definitions/PolydispersityIndex",
               "description": "PDI from the cumulants fit. <0.1 monodisperse, >0.4 broad/aggregated. Definition differs between instruments -- check the ``definition`` field."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Translational diffusion coefficient from the cumulants fit."
            },
            "intercept": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "ACF y-intercept at tau=0. Data quality indicator; ideal = 1.0."
            },
            "mean_count_rate": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Photon count rate in kcps. Signal strength indicator."
            },
            "derived_mean_count_rate": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Derived (attenuation-corrected) mean count rate."
            },
            "in_range": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fraction of the signal within the configured size range."
            },
            "quality_indicator": {
               "description": "Overall data-quality verdict reported by the instrument, e.g. 'good' or a warning message.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "number_of_runs": {
               "description": "Number of sub-runs/acquisitions averaged into this result.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "run_retention": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Fraction of sub-runs retained after quality filtering."
            },
            "particle_concentration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Estimated particle concentration."
            },
            "cumulant_fit": {
               "$ref": "#/definitions/CumulantFit",
               "description": "Cumulant fit for the averaged measurement."
            },
            "regularized_fit_peaks": {
               "description": "Peaks from the regularized fit of the averaged measurement.",
               "items": {
                  "$ref": "#/definitions/RegularizedFitPeak"
               },
               "type": "array"
            },
            "acquisitions": {
               "description": "Per-acquisition results within the measurement.",
               "items": {
                  "$ref": "#/definitions/DLSAcquisition"
               },
               "type": "array"
            },
            "average_instrument_reading": {
               "$ref": "#/definitions/InstrumentReading",
               "description": "Average instrument reading over all acquisitions."
            },
            "derived": {
               "$ref": "#/definitions/DerivedAnalysis",
               "description": "Derived concentration-dependent analysis (DynaPro SLS companion)."
            }
         },
         "type": "object"
      },
      "DerivedAnalysis": {
         "additionalProperties": false,
         "description": "Derived concentration-dependent analysis from DLS (DynaPro SLS\ncompanion), computed across a concentration series.",
         "properties": {
            "kd": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion interaction parameter (k_D) from the concentration series."
            },
            "a2": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Second virial coefficient (A2) from the concentration series."
            },
            "tagg": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Aggregation onset temperature (T_agg), when a thermal ramp is run."
            }
         },
         "type": "object"
      },
      "InstrumentReading": {
         "additionalProperties": false,
         "description": "Average instrument reading over all acquisitions in a measurement.",
         "properties": {
            "intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average scattered light intensity."
            },
            "temperature": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average measured temperature."
            },
            "time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Average acquisition time."
            }
         },
         "type": "object"
      },
      "PolydispersityIndex": {
         "additionalProperties": false,
         "description": "Polydispersity index (PDI) from the cumulants fit: <0.1 indicates a\nmonodisperse sample, >0.4 a broad or aggregated one. The computation\ndiffers between instruments -- always check ``definition``.",
         "properties": {
            "value": {
               "description": "Numeric PDI value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit of the PDI value (typically dimensionless).",
               "type": [
                  "string",
                  "null"
               ]
            },
            "definition": {
               "description": "Algorithm used to compute the PDI. The definitions are not interchangeable.",
               "example_values": [
                  "iso_22412",
                  "percent_pd_over_100"
               ],
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "RegularizedFitPeak": {
         "additionalProperties": false,
         "description": "A single peak from regularized NNLS deconvolution of the DLS ACF.",
         "properties": {
            "dist": {
               "description": "Distribution index the peak belongs to.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "peak_index": {
               "description": "Index of the peak within the distribution.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Hydrodynamic radius of the peak."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion coefficient of the peak."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated for the peak."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity of the peak."
            },
            "first_index": {
               "description": "Index of the first ACF grid point contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "number_of_points": {
               "description": "Number of ACF grid points contributing to the peak.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "decay_time": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Characteristic decay time of the peak."
            },
            "percent_intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
            },
            "percent_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
            },
            "percent_number": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
            }
         },
         "type": "object"
      },
      "ZAverage": {
         "additionalProperties": false,
         "description": "Intensity-weighted harmonic mean hydrodynamic size from the cumulants\nfit. The Zetasizer reports diameter natively; DynaPro reports radius\nnatively.",
         "properties": {
            "diameter": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Z-average hydrodynamic diameter."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Z-average hydrodynamic radius."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field dynamic_light_scattering: DLSResult#

Dynamic Light Scattering results.

Model ElectrophoreticLightScattering[source]#

Bases: IdsElement

Adds the Electrophoretic Light Scattering (zeta potential) result block.

Show JSON schema
{
   "description": "Adds the Electrophoretic Light Scattering (zeta potential) result block.",
   "type": "object",
   "properties": {
      "electrophoretic_light_scattering": {
         "$ref": "#/definitions/ELSResult",
         "description": "Electrophoretic Light Scattering / zeta potential results."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "ELSResult": {
         "additionalProperties": false,
         "description": "Electrophoretic Light Scattering (ELS) / zeta potential results.",
         "properties": {
            "potential": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Zeta potential."
            },
            "zeta_deviation": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) of the zeta potential distribution."
            },
            "mobility": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Electrophoretic mobility."
            },
            "model": {
               "description": "Model used to convert mobility to zeta potential, e.g. 'Smoluchowski' or 'Huckel'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "conductivity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Conductivity of the dispersant."
            },
            "mean_count_rate": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Photon count rate in kcps during the ELS measurement."
            },
            "quality_factor": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Data quality factor reported for the measurement."
            },
            "effective_voltage": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Effective voltage applied across the cell."
            },
            "measured_voltage": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Measured voltage across the cell."
            },
            "measured_current": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Measured current through the cell."
            },
            "distribution": {
               "$ref": "#/definitions/ZetaDistribution",
               "description": "Zeta potential distribution."
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "ZetaDistribution": {
         "additionalProperties": false,
         "description": "Zeta potential distribution, expressed as a set of peaks.",
         "properties": {
            "peaks": {
               "description": "Peaks that make up the zeta potential distribution.",
               "items": {
                  "$ref": "#/definitions/ZetaDistributionPeak"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "ZetaDistributionPeak": {
         "additionalProperties": false,
         "description": "A single peak in a zeta potential distribution.",
         "properties": {
            "mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Mean zeta potential of the peak."
            },
            "area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Area (relative contribution) of the peak."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field electrophoretic_light_scattering: ELSResult#

Electrophoretic Light Scattering / zeta potential results.

Model LaserDiffraction[source]#

Bases: IdsElement

Adds the Laser Diffraction result block.

Show JSON schema
{
   "description": "Adds the Laser Diffraction result block.",
   "type": "object",
   "properties": {
      "laser_diffraction": {
         "$ref": "#/definitions/LaserDiffractionResult",
         "description": "Laser Diffraction results."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "AdditionalStatistic": {
         "additionalProperties": false,
         "description": "An additional Dxx percentile beyond the standard D10/D50/D90.",
         "properties": {
            "name": {
               "description": "Name of the percentile, e.g. 'D[v,0.25]'.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "value": {
               "description": "Numeric value of the percentile.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit of the value, e.g. 'Micrometer'.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      },
      "LaserDiffractionResult": {
         "additionalProperties": false,
         "description": "Laser Diffraction specific results.",
         "properties": {
            "d10": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "10th percentile size: 10% of the volume distribution lies below this size."
            },
            "d50": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "50th percentile (median) size."
            },
            "d90": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "90th percentile size: 90% of the volume distribution lies below this size."
            },
            "span": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Distribution width, (d90 - d10) / d50."
            },
            "volume_weighted_mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "D[4,3] - volume-weighted mean diameter."
            },
            "surface_weighted_mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "D[3,2] - surface-weighted mean diameter (Sauter mean)."
            },
            "obscuration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Obscuration (fraction of light attenuated) during the measurement."
            },
            "concentration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Sample concentration in the measurement zone."
            },
            "weighted_residual": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Weighted residual of the model fit to the diffraction pattern; a goodness-of-fit indicator."
            },
            "uniformity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Uniformity of the size distribution."
            },
            "specific_surface_area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Specific surface area computed from the volume distribution."
            },
            "additional_statistics": {
               "description": "Additional Dxx percentiles beyond D10/D50/D90.",
               "items": {
                  "$ref": "#/definitions/AdditionalStatistic"
               },
               "type": "array"
            }
         },
         "type": "object"
      },
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field laser_diffraction: LaserDiffractionResult#

Laser Diffraction results.

Model StaticLightScattering[source]#

Bases: IdsElement

Adds the Static Light Scattering result block.

Show JSON schema
{
   "description": "Adds the Static Light Scattering result block.",
   "type": "object",
   "properties": {
      "static_light_scattering": {
         "$ref": "#/definitions/SLSResult",
         "description": "Static Light Scattering results."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SLSResult": {
         "additionalProperties": false,
         "description": "Static Light Scattering (SLS) results (DynaPro only, simultaneous with DLS).",
         "properties": {
            "molar_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molar mass from the static scattering intensity."
            },
            "particle_concentration": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Particle concentration used in the SLS calculation."
            },
            "error": {
               "description": "Error/warning message for the SLS calculation, when present.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "type": "object"
      }
   }
}

Validators:

field static_light_scattering: SLSResult#

Static Light Scattering results.

class ResultAnalysisPass(value)[source]#

Bases: str, Enum

Zetasizer-specific analysis pass. The Zetasizer reports two Result entries per measurement, one for each pass. DynaPro and Mastersizer set this to null.

Model SLSResult[source]#

Bases: IdsElement

Static Light Scattering (SLS) results (DynaPro only, simultaneous with DLS).

Show JSON schema
{
   "description": "Static Light Scattering (SLS) results (DynaPro only, simultaneous with DLS).",
   "type": "object",
   "properties": {
      "molar_mass": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Molar mass from the static scattering intensity."
      },
      "particle_concentration": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Particle concentration used in the SLS calculation."
      },
      "error": {
         "description": "Error/warning message for the SLS calculation, when present.",
         "type": [
            "string",
            "null"
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field error: str | None#

Error/warning message for the SLS calculation, when present.

field molar_mass: RawValueUnit#

Molar mass from the static scattering intensity.

field particle_concentration: RawValueUnit#

Particle concentration used in the SLS calculation.

Model SizeDistribution[source]#

Bases: IdsElement

A size distribution result for a given weighting, summarized by its percentile statistics and constituent peaks.

Show JSON schema
{
   "description": "A size distribution result for a given weighting, summarized by its\npercentile statistics and constituent peaks.",
   "type": "object",
   "properties": {
      "weighting": {
         "description": "Statistical weighting of the distribution.",
         "example_values": [
            "intensity",
            "volume",
            "mass",
            "number"
         ],
         "type": [
            "string",
            "null"
         ]
      },
      "source": {
         "description": "Analysis/source that produced the distribution, e.g. 'cumulants' or 'distribution analysis'.",
         "type": [
            "string",
            "null"
         ]
      },
      "d10": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "10th percentile size: 10% of the distribution lies below this size."
      },
      "d50": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "50th percentile (median) size."
      },
      "d90": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "90th percentile size: 90% of the distribution lies below this size."
      },
      "span": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Distribution width, (d90 - d10) / d50."
      },
      "peaks": {
         "description": "Individual peaks that make up the distribution.",
         "items": {
            "$ref": "#/definitions/SizeDistributionPeak"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "SizeDistributionPeak": {
         "additionalProperties": false,
         "description": "A single peak within a size distribution.",
         "properties": {
            "mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Mean size of the peak."
            },
            "mode": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Modal (most frequent) size of the peak."
            },
            "standard_deviation": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Standard deviation (width) of the peak."
            },
            "area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Area under the peak."
            },
            "radius": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Radius corresponding to the peak."
            },
            "polydispersity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Polydispersity of the peak."
            },
            "molecular_weight": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Molecular weight estimated for the peak."
            },
            "diffusion_coefficient": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Diffusion coefficient corresponding to the peak."
            },
            "percent_intensity": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
            },
            "percent_mass": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
            },
            "percent_number": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field d10: RawValueUnit#

10th percentile size: 10% of the distribution lies below this size.

field d50: RawValueUnit#

50th percentile (median) size.

field d90: RawValueUnit#

90th percentile size: 90% of the distribution lies below this size.

field peaks: List[SizeDistributionPeak]#

Individual peaks that make up the distribution.

field source: str | None#

Analysis/source that produced the distribution, e.g. ‘cumulants’ or ‘distribution analysis’.

field span: RawValueUnit#

Distribution width, (d90 - d10) / d50.

field weighting: str | None#

Statistical weighting of the distribution.

Model SizeDistributionPeak[source]#

Bases: IdsElement

A single peak within a size distribution.

Show JSON schema
{
   "description": "A single peak within a size distribution.",
   "type": "object",
   "properties": {
      "mean": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Mean size of the peak."
      },
      "mode": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Modal (most frequent) size of the peak."
      },
      "standard_deviation": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Standard deviation (width) of the peak."
      },
      "area": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Area under the peak."
      },
      "radius": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Radius corresponding to the peak."
      },
      "polydispersity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Polydispersity of the peak."
      },
      "molecular_weight": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Molecular weight estimated for the peak."
      },
      "diffusion_coefficient": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Diffusion coefficient corresponding to the peak."
      },
      "percent_intensity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the intensity-weighted distribution, as a percentage."
      },
      "percent_mass": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the mass/volume-weighted distribution, as a percentage."
      },
      "percent_number": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Contribution of the peak to the number-weighted distribution, as a percentage."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field area: RawValueUnit#

Area under the peak.

field diffusion_coefficient: RawValueUnit#

Diffusion coefficient corresponding to the peak.

field mean: RawValueUnit#

Mean size of the peak.

field mode: RawValueUnit#

Modal (most frequent) size of the peak.

field molecular_weight: RawValueUnit#

Molecular weight estimated for the peak.

field percent_intensity: RawValueUnit#

Contribution of the peak to the intensity-weighted distribution, as a percentage.

field percent_mass: RawValueUnit#

Contribution of the peak to the mass/volume-weighted distribution, as a percentage.

field percent_number: RawValueUnit#

Contribution of the peak to the number-weighted distribution, as a percentage.

field polydispersity: RawValueUnit#

Polydispersity of the peak.

field radius: RawValueUnit#

Radius corresponding to the peak.

field standard_deviation: RawValueUnit#

Standard deviation (width) of the peak.

class SizeDistributionWeighting(value)[source]#

Bases: str, Enum

Statistical weighting of a size distribution. The same physical distribution can be expressed weighted by scattered intensity, by particle volume/mass, or by particle number; the three differ substantially for polydisperse samples, so the weighting must be preserved to interpret the distribution correctly.

Model SizeLimits[source]#

Bases: IdsElement

Configured lower and upper size limits for DLS analysis.

Show JSON schema
{
   "description": "Configured lower and upper size limits for DLS analysis.",
   "type": "object",
   "properties": {
      "low": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Lower size limit for the analysis."
      },
      "high": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Upper size limit for the analysis."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field high: RawValueUnit#

Upper size limit for the analysis.

field low: RawValueUnit#

Lower size limit for the analysis.

Model SizeRange[source]#

Bases: IdsElement

Configured lower and upper size range for laser diffraction analysis.

Show JSON schema
{
   "description": "Configured lower and upper size range for laser diffraction analysis.",
   "type": "object",
   "properties": {
      "low": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Lower bound of the analysis size range."
      },
      "high": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Upper bound of the analysis size range."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field high: RawValueUnit#

Upper bound of the analysis size range.

field low: RawValueUnit#

Lower bound of the analysis size range.

Model Solvent[source]#

Bases: IdsElement

Dispersant / solvent medium the particles are suspended in. Its refractive index and viscosity are required inputs to the Stokes-Einstein relation used to convert a measured diffusion coefficient into a hydrodynamic size, and its dielectric constant is required for ELS/zeta potential calculations.

Show JSON schema
{
   "description": "Dispersant / solvent medium the particles are suspended in. Its\nrefractive index and viscosity are required inputs to the Stokes-Einstein\nrelation used to convert a measured diffusion coefficient into a\nhydrodynamic size, and its dielectric constant is required for ELS/zeta\npotential calculations.",
   "type": "object",
   "properties": {
      "id": {
         "description": "Vendor identifier for the dispersant in the instrument's material database.",
         "type": [
            "string",
            "null"
         ]
      },
      "name": {
         "description": "Name of the dispersant, e.g. 'Water'.",
         "type": [
            "string",
            "null"
         ]
      },
      "refractive_index": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Refractive index of the dispersant at the measurement wavelength."
      },
      "viscosity": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Dynamic viscosity of the dispersant at the measurement temperature."
      },
      "dielectric_constant": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Dielectric constant (relative permittivity) of the dispersant, used for ELS/zeta calculations."
      },
      "abundance": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Relative abundance/fraction of this dispersant, when the medium is a mixture."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field abundance: RawValueUnit#

Relative abundance/fraction of this dispersant, when the medium is a mixture.

field dielectric_constant: RawValueUnit#

Dielectric constant (relative permittivity) of the dispersant, used for ELS/zeta calculations.

field id_: str | None (alias 'id')#

Vendor identifier for the dispersant in the instrument’s material database.

field name: str | None#

Name of the dispersant, e.g. ‘Water’.

field refractive_index: RawValueUnit#

Refractive index of the dispersant at the measurement wavelength.

field viscosity: RawValueUnit#

Dynamic viscosity of the dispersant at the measurement temperature.

Model Temperature[source]#

Bases: IdsElement

Target (set-point) and actual (measured) temperature for a measurement.

Show JSON schema
{
   "description": "Target (set-point) and actual (measured) temperature for a measurement.",
   "type": "object",
   "properties": {
      "target": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Target/set-point temperature configured for the measurement."
      },
      "actual": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Actual temperature measured during the measurement."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field actual: RawValueUnit#

Actual temperature measured during the measurement.

field target: RawValueUnit#

Target/set-point temperature configured for the measurement.

Model ZAverage[source]#

Bases: IdsElement

Intensity-weighted harmonic mean hydrodynamic size from the cumulants fit. The Zetasizer reports diameter natively; DynaPro reports radius natively.

Show JSON schema
{
   "description": "Intensity-weighted harmonic mean hydrodynamic size from the cumulants\nfit. The Zetasizer reports diameter natively; DynaPro reports radius\nnatively.",
   "type": "object",
   "properties": {
      "diameter": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Z-average hydrodynamic diameter."
      },
      "radius": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Z-average hydrodynamic radius."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field diameter: RawValueUnit#

Z-average hydrodynamic diameter.

field radius: RawValueUnit#

Z-average hydrodynamic radius.

Model ZetaDistribution[source]#

Bases: IdsElement

Zeta potential distribution, expressed as a set of peaks.

Show JSON schema
{
   "description": "Zeta potential distribution, expressed as a set of peaks.",
   "type": "object",
   "properties": {
      "peaks": {
         "description": "Peaks that make up the zeta potential distribution.",
         "items": {
            "$ref": "#/definitions/ZetaDistributionPeak"
         },
         "type": "array"
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      },
      "ZetaDistributionPeak": {
         "additionalProperties": false,
         "description": "A single peak in a zeta potential distribution.",
         "properties": {
            "mean": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Mean zeta potential of the peak."
            },
            "area": {
               "$ref": "#/definitions/RawValueUnit",
               "description": "Area (relative contribution) of the peak."
            }
         },
         "type": "object"
      }
   }
}

Validators:

field peaks: List[ZetaDistributionPeak]#

Peaks that make up the zeta potential distribution.

Model ZetaDistributionPeak[source]#

Bases: IdsElement

A single peak in a zeta potential distribution.

Show JSON schema
{
   "description": "A single peak in a zeta potential distribution.",
   "type": "object",
   "properties": {
      "mean": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Mean zeta potential of the peak."
      },
      "area": {
         "$ref": "#/definitions/RawValueUnit",
         "description": "Area (relative contribution) of the peak."
      }
   },
   "additionalProperties": false,
   "definitions": {
      "RawValueUnit": {
         "additionalProperties": false,
         "description": "A value with a unit, including the raw representation of the value from the primary data.",
         "properties": {
            "value": {
               "description": "A numerical value.",
               "type": [
                  "number",
                  "null"
               ]
            },
            "unit": {
               "description": "Unit for the numerical value.",
               "type": [
                  "string",
                  "null"
               ]
            },
            "raw_value": {
               "description": "The raw, untransformed value from the primary data.",
               "type": [
                  "string",
                  "null"
               ]
            }
         },
         "required": [
            "value",
            "unit",
            "raw_value"
         ],
         "type": "object"
      }
   }
}

Validators:

field area: RawValueUnit#

Area (relative contribution) of the peak.

field mean: RawValueUnit#

Mean zeta potential of the peak.