ts_ids_components.particle_sizer.method module#
Method components for particle sizer IDSs.
Method holds the measurement conditions common to every particle
sizer technique (temperature, dispersant, particle optics, plate) alongside
two technique-specific settings blocks:
DLSMethodSettings– Dynamic Light Scattering (also the parent technique for ELS and SLS, which share the same optical configuration).LaserDiffractionMethodSettings– Laser Diffraction.
A consuming IDS includes only the settings blocks relevant to the techniques it supports.
- class ParticleSizerTechnique(value)[source]#
-
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 InstrumentState[source]#
Bases:
IdsElementPer-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.
- Model AcquisitionQualityGate[source]#
Bases:
IdsElementA 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:
- Model SizeLimits[source]#
Bases:
IdsElementConfigured 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 DLSMethodSettings[source]#
Bases:
IdsElementDynamic 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 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 ObscurationLimits[source]#
Bases:
IdsElementConfigured 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 FeedRate[source]#
Bases:
IdsElementSample 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 SizeRange[source]#
Bases:
IdsElementConfigured 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 MeasurementTime[source]#
Bases:
IdsElementBackground 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 DispersionUnit[source]#
Bases:
IdsElementConfiguration 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 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.
- Model LaserDiffractionMethodSettings[source]#
Bases:
IdsElementLaser 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 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.
- Model Method[source]#
Bases:
IdsElementMeasurement method and conditions common to every particle sizer technique.
The technique-specific settings blocks are not included here. Following the same pattern as the
Systemandplate reader MeasurementSettingcomponents, 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 usesclass 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 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 temperature: Temperature#
Target and actual temperature of the measurement.
- Model DynamicLightScattering[source]#
Bases:
IdsElementAdds 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:
IdsElementAdds 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.