v1.0.0-rc.166 (#76)
Build Packages / Unit tests (push) Successful in 1h22m15s
Build Packages / build:windows:nocuda (push) Successful in 18m0s
Build Packages / build:windows:cuda (push) Successful in 20m30s
Build Packages / build:viewer-tgz:cpu (push) Successful in 10m32s
Build Packages / build:viewer-tgz:cuda (push) Successful in 11m39s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 8m55s
Build Packages / build:rugnux:windows (push) Successful in 11m25s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 20m6s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 16m27s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 20m19s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 15m34s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 20m25s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m36s
Build Packages / build:rpm (rocky8) (push) Successful in 17m43s
Build Packages / build:rpm (rocky9) (push) Successful in 13m34s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 21m28s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 18m19s
Build Packages / DIALS test (push) Successful in 12m36s
Build Packages / XDS test (durin plugin) (push) Successful in 6m56s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 6m48s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m7s
Build Packages / Generate python client (push) Successful in 11s
Build Packages / Build documentation (push) Successful in 36s
Build Packages / Create release (push) Skipped
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 5m11s
Build Packages / Unit tests (push) Successful in 1h22m15s
Build Packages / build:windows:nocuda (push) Successful in 18m0s
Build Packages / build:windows:cuda (push) Successful in 20m30s
Build Packages / build:viewer-tgz:cpu (push) Successful in 10m32s
Build Packages / build:viewer-tgz:cuda (push) Successful in 11m39s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 8m55s
Build Packages / build:rugnux:windows (push) Successful in 11m25s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 20m6s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 16m27s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 20m19s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 15m34s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 20m25s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m36s
Build Packages / build:rpm (rocky8) (push) Successful in 17m43s
Build Packages / build:rpm (rocky9) (push) Successful in 13m34s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 21m28s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 18m19s
Build Packages / DIALS test (push) Successful in 12m36s
Build Packages / XDS test (durin plugin) (push) Successful in 6m56s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 6m48s
Build Packages / XDS test (neggia plugin) (push) Successful in 6m7s
Build Packages / Generate python client (push) Successful in 11s
Build Packages / Build documentation (push) Successful in 36s
Build Packages / Create release (push) Skipped
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 5m11s
* `rugnux --mode calibration` writes `<prefix>.json` beside the `.poni`, whose `dataset_settings` member is a `jfjoch_broker` `dataset_settings` body as it stands. * `rugnux` and `jfjoch_viewer` read PILATUS miniCBF sweeps natively, without conversion. * Masters written by other facilities open, including Eiger 1.x and third-party NXmx variants. * `rugnux` measures the beam centre on every run, and indexes with it when the file's value indexes nothing. * A detector swung out on a 2theta arm is placed where the file says it stands, and the calibration can hold the tilt fixed. * `rugnux` writes the unmerged MTZ by default, and a P1 merge beside it, so a wrong space group can be re-merged without reprocessing. * Significant improvements to symmetry handling in `rugnux`: the lattice, the point group, the setting and the systematic absences. * The `rugnux` report gives the resolution the CC1/2 fit reached, beside the range the reflections were written to. * The `rugnux` report gives the twinning statistics measured before the space group was decided, beside the ones measured after. * The `rugnux` report gives the strong-direction diffraction limit, and warns when CC1/2 is not monotone with resolution. * `rugnux` ranks screw axes on the evidence their absences carry, rather than on how many control reflections a candidate happens to have. * Twinning is no longer reported when the L-test contradicts it. * The `rugnux` report gives the detector tilt, the measured tilt and the direct beam beside the beam centre, and a post-refined beam centre is judged against the run's own measurement rather than the file's. * `--no-refine-tilt` holds the detector tilt at the value in the file, instead of zeroing it, when the calibration starts from the spots. * The `jfjoch_viewer` grid scan view draws the cells in the proportion of the scan steps, so the map has the shape of the scanned area. Reviewed-on: #76 Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #76.
This commit is contained in:
@@ -22,8 +22,8 @@ communicate through network calls or other mechanisms.
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.0.0-rc.165
|
||||
- Package version: 1.0.0-rc.165
|
||||
- API version: 1.0.0-rc.166
|
||||
- Package version: 1.0.0-rc.166
|
||||
- Generator version: 7.20.0
|
||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||
|
||||
@@ -211,6 +211,10 @@ Class | Method | HTTP request | Description
|
||||
- [Plot](docs/Plot.md)
|
||||
- [PlotUnitX](docs/PlotUnitX.md)
|
||||
- [Plots](docs/Plots.md)
|
||||
- [PowderCalibrationFitSigma](docs/PowderCalibrationFitSigma.md)
|
||||
- [PowderCalibrationOutput](docs/PowderCalibrationOutput.md)
|
||||
- [PowderCalibrationQuality](docs/PowderCalibrationQuality.md)
|
||||
- [PowderCalibrationSpotCheck](docs/PowderCalibrationSpotCheck.md)
|
||||
- [RoiAzimList](docs/RoiAzimList.md)
|
||||
- [RoiAzimuthal](docs/RoiAzimuthal.md)
|
||||
- [RoiBox](docs/RoiBox.md)
|
||||
|
||||
@@ -19,6 +19,8 @@ Name | Type | Description | Notes
|
||||
**compression** | **str** | Compression type for the images transferred over ZeroMQ and saved to HDF5 file. | [optional] [default to 'bslz4']
|
||||
**total_flux** | **float** | /entry/beam/total_flux in NXmx Flux incident on beam plane in photons per second. In other words this is the flux integrated over area. [photons/s] | [optional]
|
||||
**transmission** | **float** | /entry/instrument/attenuator/attenuator_transmission Transmission of attenuator (filter) [no units] | [optional]
|
||||
**beam_size_x_um** | **float** | First element of /entry/instrument/beam/incident_beam_size in NXmx Horizontal size of the X-ray beam where it meets the sample - the FWHM of a focused beam, the full width of a slit-defined one. [um] | [optional]
|
||||
**beam_size_y_um** | **float** | Second element of /entry/instrument/beam/incident_beam_size in NXmx Vertical size of the X-ray beam where it meets the sample. [um] | [optional]
|
||||
**goniometer** | [**RotationAxis**](RotationAxis.md) | | [optional]
|
||||
**grid_scan** | [**GridScan**](GridScan.md) | | [optional]
|
||||
**header_appendix** | **object** | Header appendix, added as user_data/user to start ZeroMQ message (can be any valid JSON) In general, it is not saved in HDF5 file. However, if values are placed in \"hdf5\" object, `jfjoch_writer` will write them in /entry/user of the HDF5 file. This applies solely to string and number (double floating-point). No arrays/sub-objects is allowed. For example {\"hdf5\": {\"val1\":1, \"val2\":\"xyz\"}}, will write /entry/user/val1 and /entry/user/val2. | [optional]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# GridScan
|
||||
|
||||
Definition of a grid scan. May be combined with a goniometer axis: a grid is often collected at a particular head position, and a stationary axis records where that was.
|
||||
Definition of a grid scan. Combine it with a goniometer axis to state the angle the spindle stood at: send `goniometer` with `step` 0 and the `start` angle of the grid scan, and that angle is written per image into the NXmx sample transformation chain. Without one the spindle is recorded at 0, which says that nobody stated an angle rather than that the spindle stood at 0.
|
||||
|
||||
## Properties
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
|
||||
**algorithm** | [**IndexingAlgorithm**](IndexingAlgorithm.md) | | [default to IndexingAlgorithm.FFBIDX]
|
||||
**fft_max_unit_cell_a** | **float** | Largest unit cell to be indexed by FFT algorithm; parameter value affects execution time of FFT | [default to 250]
|
||||
**fft_min_unit_cell_a** | **float** | Smallest unit cell to be indexed by FFT algorithm; parameter value affects execution time of FFT | [default to 10.0]
|
||||
**fft_high_resolution_a** | **float** | Highest resolution of spots used for FFT algorithm; parameter value affects execution time of FFT. There is also correlation between smallest unit cell and max resolution, which need to be checked for very small systems. | [default to 2.0]
|
||||
**fft_high_resolution_a** | **float** | Sets how finely the FFT samples each search direction: it fixes the extent of the projection histogram, and with it the transform size, so it affects execution time and memory of FFT. It does NOT filter spots - every spot is projected whatever its resolution, so raising it does not make the transform see a coarser subset of the data. There is also correlation between smallest unit cell and this value, which need to be checked for very small systems. | [default to 2.0]
|
||||
**fft_num_vectors** | **int** | Number of search directions for the FFT algorithm; parameter value affects execution time of FFT. | [default to 16384]
|
||||
**tolerance** | **float** | Acceptance tolerance for spots after the indexing run - the larger the number, the more spots will be accepted |
|
||||
**thread_count** | **int** | Thread count for indexing algorithm |
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# PowderCalibrationFitSigma
|
||||
|
||||
What the powder ring fit knows about its own answer, from the covariance of the converged problem. Each sigma is in its parameter's own unit and is scaled by the residual scatter of that fit, so it is the usual \"how far could this move before the fit got visibly worse\". The two correlations are the ones that matter: a tilt and a beam-centre shift both displace a ring's radius as cos(phi) and are told apart only by how that amplitude grows with the ring's radius, so as the rings run out the pair stops being separable and these approach 1. The rotation sigmas and the correlations are absent when the tilt was not a free parameter.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**beam_x_pxl** | **float** | Standard error of the fitted PONI x [pixels] | [optional]
|
||||
**beam_y_pxl** | **float** | Standard error of the fitted PONI y [pixels] | [optional]
|
||||
**detector_distance_mm** | **float** | Standard error of the fitted detector distance [mm] | [optional]
|
||||
**poni_rot1_rad** | **float** | Standard error of the fitted rot1 [rad] | [optional]
|
||||
**poni_rot2_rad** | **float** | Standard error of the fitted rot2 [rad] | [optional]
|
||||
**correlation_beam_x_rot1** | **float** | Correlation between the fitted PONI x and rot1, -1 to 1 | [optional]
|
||||
**correlation_beam_y_rot2** | **float** | Correlation between the fitted PONI y and rot2, -1 to 1 | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from jfjoch_client.models.powder_calibration_fit_sigma import PowderCalibrationFitSigma
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of PowderCalibrationFitSigma from a JSON string
|
||||
powder_calibration_fit_sigma_instance = PowderCalibrationFitSigma.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(PowderCalibrationFitSigma.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
powder_calibration_fit_sigma_dict = powder_calibration_fit_sigma_instance.to_dict()
|
||||
# create an instance of PowderCalibrationFitSigma from a dict
|
||||
powder_calibration_fit_sigma_from_dict = PowderCalibrationFitSigma.from_dict(powder_calibration_fit_sigma_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# PowderCalibrationOutput
|
||||
|
||||
The result of a powder-ring detector calibration - what rugnux --mode calibration writes as <prefix>.json, and what a calibration run over the image buffer would return. dataset_settings holds the geometry and nothing else, under the property names this API gives them, so it can be POSTed or merged without translating a field. Its beam_x_pxl/beam_y_pxl is the PONI, the foot of the perpendicular from the sample; where the beam actually lands is calibration.direct_beam_x_pxl. The poni_rot*_rad are present whenever any of them is non-zero and absent when all are zero, since a body omitting them states a FLAT detector rather than an unstated one.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**dataset_settings** | [**DatasetSettings**](DatasetSettings.md) | |
|
||||
**calibration** | [**PowderCalibrationQuality**](PowderCalibrationQuality.md) | | [optional]
|
||||
**jfjoch_version** | **str** | Version of the program that produced this | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from jfjoch_client.models.powder_calibration_output import PowderCalibrationOutput
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of PowderCalibrationOutput from a JSON string
|
||||
powder_calibration_output_instance = PowderCalibrationOutput.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(PowderCalibrationOutput.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
powder_calibration_output_dict = powder_calibration_output_instance.to_dict()
|
||||
# create an instance of PowderCalibrationOutput from a dict
|
||||
powder_calibration_output_from_dict = PowderCalibrationOutput.from_dict(powder_calibration_output_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# 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
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**converged** | **bool** | Whether the geometry beside this is a measurement of the data at all. False means at least one of its parameters was carried over from the input file rather than fitted - which looks exactly like a good fit in every other field here - and see not_converged_reason for which. rugnux --mode calibration writes no .poni file in that case, a PONI file having no field in which to say it, and exits non-zero. | [optional]
|
||||
**not_converged_reason** | **str** | What made converged false, in words. Absent when the calibration converged. | [optional]
|
||||
**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**](PowderCalibrationFitSigma.md) | | [optional]
|
||||
**spot_cross_check** | [**PowderCalibrationSpotCheck**](PowderCalibrationSpotCheck.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
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)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# PowderCalibrationSpotCheck
|
||||
|
||||
Where the circle through the found spots puts the beam, and how far that is from the geometry actually fitted. An independent cross-check: it reads nothing from the file's own geometry, so it holds where the summed azimuthal profile does not - a profile binned about a badly wrong centre shows each ring smeared across its sectors, and a fit on it converges on the wrong answer without saying so. Two methods sharing no assumption, so the disagreement is the statement. Absent when no spots were available.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**beam_x_pxl** | **float** | Beam centre x the spots vote for [pixels] | [optional]
|
||||
**beam_y_pxl** | **float** | Beam centre y the spots vote for [pixels] | [optional]
|
||||
**detector_distance_mm** | **float** | Detector distance the spots imply [mm] | [optional]
|
||||
**disagreement_pxl** | **float** | Distance between the spots' beam centre and the fitted one [pixels] | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from jfjoch_client.models.powder_calibration_spot_check import PowderCalibrationSpotCheck
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of PowderCalibrationSpotCheck from a JSON string
|
||||
powder_calibration_spot_check_instance = PowderCalibrationSpotCheck.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(PowderCalibrationSpotCheck.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
powder_calibration_spot_check_dict = powder_calibration_spot_check_instance.to_dict()
|
||||
# create an instance of PowderCalibrationSpotCheck from a dict
|
||||
powder_calibration_spot_check_from_dict = PowderCalibrationSpotCheck.from_dict(powder_calibration_spot_check_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ Definition of a crystal rotation axis
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**name** | **str** | Name of rotation axis (e.g., omega, phi) | [optional] [default to 'omega']
|
||||
**step** | **float** | Angle step (per image) in degrees |
|
||||
**step** | **float** | Angle step (per image) in degrees. 0 for an axis that does not turn: the axis then records the angle the spindle stood at, which is how a grid scan or a set of stills states its head position. |
|
||||
**start** | **float** | Start angle in degrees | [optional] [default to 0]
|
||||
**vector** | **List[float]** | Rotation axis |
|
||||
**helical_step_um** | **List[float]** | Translation (per image) for helical scan | [optional]
|
||||
|
||||
Reference in New Issue
Block a user