docs/python_client is tracked and is what readthedocs publishes, but it is generated - update_version.sh copies it out of python-client after regenerating the client - so adding schemas to the spec left it four files behind. The README's model list did not name them and their pages did not exist. Copied the way update_version.sh copies them. The four new pages and four lines in the README, nothing else: the generator's README is built from the spec, so the stale Calibration* pages it had left on disk under the old names are absent from it and were removed before copying rather than published alongside their replacements. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NfuDvf5ipV3Hi8TiCUKD27
3.6 KiB
3.6 KiB
PowderCalibrationQuality
What a powder calibration knows about the geometry it produced. A calibration that has gone wrong - the wrong standard named, a header too far out for the rings to be found - looks exactly like one that has not until these are read.
Properties
| Name | Type | Description | Notes |
|---|---|---|---|
| calibrant | str | The powder standard the rings were fitted to, or the unit cell given in its place | [optional] |
| method | str | How the rings were measured. rings fits the arcs of the run-summed (q x azimuth) azimuthal profile; spots fits the pooled per-image spot lists. | [optional] |
| ring_points | int | Ring measurements the fit used | [optional] |
| rms_radial_pxl | float | Scatter of those measurements about the fitted rings, as a radial distance [pixels]. The single number that separates a calibration that worked from one that did not. | [optional] |
| beam_sigma_pxl | float | Standard error the scatter implies on the beam centre [pixels], for a ring of that many points. See powder_calibration_fit_sigma for what the fit itself says, which is not the same and is the larger of the two whenever the tilt is poorly separated. | [optional] |
| direct_beam_x_pxl | float | Where the direct beam lands [pixels]. NOT dataset_settings.beam_x_pxl, which is the PONI: the two part company by distance*tan(tilt)/pixel as soon as the detector is tilted. | [optional] |
| direct_beam_y_pxl | float | Where the direct beam lands, y [pixels] | [optional] |
| header_distance_mm | float | The detector distance the input file declared, for comparison [mm] | [optional] |
| ring_seed_distance_mm | float | The distance measured from the ring radii before the fit ran [mm]. It is taken from the radii, the wavelength and the pixel size alone, so a large gap from header_distance_mm is the answer to the question the calibration was run to ask. Absent when the profile showed too few rings to fix a scale. | [optional] |
| tilt_refined | bool | Whether the reported rot1/rot2 were measured by this fit. False means they were declined and pinned at the input file's values, because the rings could not separate a tilt from a shift of the beam centre. | [optional] |
| tilt_significance | float | How many of its own sigmas the fitted tilt stands from zero. Below about 3 it is not a measurement of a tilt but of a beam-centre shift, and the tilt is declined. Passing does not certify a tilt: that estimator is limited by systematics rather than by this sigma. | [optional] |
| fit_sigma | PowderCalibrationFitSigma | [optional] | |
| spot_cross_check | PowderCalibrationSpotCheck | [optional] |
Example
from jfjoch_client.models.powder_calibration_quality import PowderCalibrationQuality
# TODO update the JSON string below
json = "{}"
# create an instance of PowderCalibrationQuality from a JSON string
powder_calibration_quality_instance = PowderCalibrationQuality.from_json(json)
# print the JSON string representation of the object
print(PowderCalibrationQuality.to_json())
# convert the object into a dict
powder_calibration_quality_dict = powder_calibration_quality_instance.to_dict()
# create an instance of PowderCalibrationQuality from a dict
powder_calibration_quality_from_dict = PowderCalibrationQuality.from_dict(powder_calibration_quality_dict)