Files
Jungfraujoch/CBOR.html
T
2026-08-13 18:43:50 +00:00

1 line
97 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html> <html lang=en data-content_root="./"> <meta charset=utf-8 /> <meta name=viewport content="width=device-width, initial-scale=1.0" /><meta name=viewport content="width=device-width, initial-scale=1" /> <meta name=viewport content="width=device-width,initial-scale=1"> <meta http-equiv=x-ua-compatible content="ie=edge"> <meta name="lang:clipboard.copy" content="Copy to clipboard"> <meta name="lang:clipboard.copied" content="Copied to clipboard"> <meta name="lang:search.language" content=en > <meta name="lang:search.pipeline.stopwords" content=True > <meta name="lang:search.pipeline.trimmer" content=True > <meta name="lang:search.result.none" content="No matching documents"> <meta name="lang:search.result.one" content="1 matching document"> <meta name="lang:search.result.other" content="# matching documents"> <meta name="lang:search.tokenizer" content="[\s\-]+"> <link href="https://fonts.gstatic.com/" rel=preconnect crossorigin> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,500,700|Roboto:300,400,400i,700&display=fallback" rel=stylesheet > <style> body, input { font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif } code, kbd, pre { font-family: "Roboto Mono", "Courier New", Courier, monospace } </style> <link rel=stylesheet href="_static/stylesheets/application.css"/> <link rel=stylesheet href="_static/stylesheets/application-palette.css"/> <link rel=stylesheet href="_static/stylesheets/application-fixes.css"/> <link rel=stylesheet href="_static/fonts/material-icons.css"/> <meta name=theme-color content="#3f51b5"> <script src="_static/javascripts/modernizr.js"></script> <title>CBOR messages &#8212; Jungfraujoch 1.0.0-rc.161 documentation</title> <link rel=stylesheet type="text/css" href="_static/pygments.css?v=83e35b93" /> <link rel=stylesheet type="text/css" href="_static/material.css?v=79c92029" /> <script src="_static/documentation_options.js?v=010ab5da"></script> <script src="_static/doctools.js?v=9bcbadda"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <link rel=icon href="_static/jfjoch.png"/> <link rel=index title=Index href=genindex.html /> <link rel=search title=Search href=search.html /> <link rel=next title="HDF5 / NeXus data format" href=HDF5.html /> <link rel=prev title="OpenAPI specification" href=OPENAPI_SPECS.html /> <body dir=ltr data-md-color-primary=indigo data-md-color-accent=lime> <svg class=md-svg > <defs data-children-count=0 > <svg xmlns="http://www.w3.org/2000/svg" width=500 height=500 viewBox="0 0 500 500" id=__gitlab ><path fill=currentColor d="M93.667 473.347l90.684-279.097H2.983l90.684 279.097z" transform="translate(156.198 1.16)"/><path fill=currentColor d="M221.333 473.345L130.649 194.25H3.557l217.776 279.095z" transform="translate(28.531 1.16)" opacity=.7 /><path fill=currentColor d="M32 195.155L4.441 279.97a18.773 18.773 0 0 0 6.821 20.99l238.514 173.29L32 195.155z" transform="translate(.089 .256)" opacity=.5 /><path fill=currentColor d="M2.667-84.844h127.092L75.14-252.942c-2.811-8.649-15.047-8.649-17.856 0L2.667-84.844z" transform="translate(29.422 280.256)"/><path fill=currentColor d="M2.667 473.345L93.351 194.25h127.092L2.667 473.345z" transform="translate(247.198 1.16)" opacity=.7 /><path fill=currentColor d="M221.334 195.155l27.559 84.815a18.772 18.772 0 0 1-6.821 20.99L3.557 474.25l217.777-279.095z" transform="translate(246.307 .256)" opacity=.5 /><path fill=currentColor d="M130.667-84.844H3.575l54.618-168.098c2.811-8.649 15.047-8.649 17.856 0l54.618 168.098z" transform="translate(336.974 280.256)"/></svg> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer > <input class=md-toggle data-md-toggle=search type=checkbox id=__search > <label class=md-overlay data-md-component=overlay for=__drawer ></label> <a href="#CBOR" tabindex=1 class=md-skip > Skip to content </a> <header class=md-header data-md-component=header > <nav class="md-header-nav md-grid"> <div class="md-flex navheader"> <div class="md-flex__cell md-flex__cell--shrink"> <a href=index.html title="Jungfraujoch 1.0.0-rc.161 documentation" class="md-header-nav__button md-logo"> <i class=md-icon >&#xe30d</i> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer ></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title > <span class=md-header-nav__topic >PSI Jungfraujoch</span> <span class=md-header-nav__topic > CBOR messages </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search ></label> <div class=md-search data-md-component=search role=dialog > <label class=md-search__overlay for=__search ></label> <div class=md-search__inner role=search > <form class=md-search__form action=search.html method=get name=search > <input type=text class=md-search__input name=q placeholder=""Search"" autocapitalize=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active > <label class="md-icon md-search__icon" for=__search ></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1 > &#xE5CD; </button> </form> <div class=md-search__output > <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result > <div class=md-search-result__meta > Type to start searching </div> <ol class=md-search-result__list ></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source > <a href="https://gitea.psi.ch/mx/jungfraujoch" title="Go to repository" class=md-source data-md-source=github > <div class=md-source__icon > <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width=28 height=28 > <use xlink:href="#__gitlab" width=24 height=24 ></use> </svg> </div> <div class=md-source__repository > Jungfraujoch </div> </a> </div> </div> <script src="_static/javascripts/version_dropdown.js"></script> <script> var json_loc = ""versions.json"", target_loc = "../", text = "Versions"; $( document ).ready( add_version_dropdown(json_loc, target_loc, text)); </script> </div> </nav> </header> <div class=md-container > <nav class=md-tabs data-md-component=tabs > <div class="md-tabs__inner md-grid"> <ul class=md-tabs__list > <li class=md-tabs__item ><a href=index.html class=md-tabs__link >Jungfraujoch 1.0.0-rc.161 documentation</a> </ul> </div> </nav> <main class=md-main > <div class="md-main__inner md-grid" data-md-component=container > <div class="md-sidebar md-sidebar--primary" data-md-component=navigation > <div class=md-sidebar__scrollwrap > <div class=md-sidebar__inner > <nav class="md-nav md-nav--primary" data-md-level=0 > <label class="md-nav__title md-nav__title--site" for=__drawer > <a href=index.html title="Jungfraujoch 1.0.0-rc.161 documentation" class="md-nav__button md-logo"> <i class=md-icon >&#xe30d</i> </a> <a href=index.html title="Jungfraujoch 1.0.0-rc.161 documentation">PSI Jungfraujoch</a> </label> <div class=md-nav__source > <a href="https://gitea.psi.ch/mx/jungfraujoch" title="Go to repository" class=md-source data-md-source=github > <div class=md-source__icon > <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width=28 height=28 > <use xlink:href="#__gitlab" width=24 height=24 ></use> </svg> </div> <div class=md-source__repository > Jungfraujoch </div> </a> </div> <ul class=md-nav__list > <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >General</span></span> <li class=md-nav__item > <a href=ACKNOWLEDGEMENT.html class=md-nav__link >Acknowledgements</a> <li class=md-nav__item > <a href=LICENSE.html class=md-nav__link >License</a> <li class=md-nav__item > <a href=THIRD_PARTY_NOTICES.html class=md-nav__link >Third-party software notices</a> <li class=md-nav__item > <a href=DETECTORS.html class=md-nav__link >Supported detectors</a> <li class=md-nav__item > <a href="DETECTORS.html#dectris-detectors" class=md-nav__link >DECTRIS detectors</a> <li class=md-nav__item > <a href=HARDWARE.html class=md-nav__link >Hardware requirements</a> <li class=md-nav__item > <a href=SOFTWARE.html class=md-nav__link >Software requirements</a> <li class=md-nav__item > <a href=VERSIONING.html class=md-nav__link >Semantic versioning</a> <li class=md-nav__item > <a href=DEPLOYMENT.html class=md-nav__link >Deployment</a> <li class=md-nav__item > <a href=RELEASE_CONTENTS.html class=md-nav__link >Release contents</a> <li class=md-nav__item > <a href=REPOSITORIES.html class=md-nav__link >Linux package repositories</a> <li class=md-nav__item > <a href=NAMING.html class=md-nav__link >Naming</a> <li class=md-nav__item > <a href=CHANGELOG.html class=md-nav__link >Changelog</a> <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >Software</span></span> <li class=md-nav__item > <a href=JFJOCH_BROKER.html class=md-nav__link >jfjoch_broker</a> <li class=md-nav__item > <a href=JFJOCH_WRITER.html class=md-nav__link >jfjoch_writer</a> <li class=md-nav__item > <a href=RUGNUX.html class=md-nav__link >rugnux</a> <li class=md-nav__item > <a href=JFJOCH_VIEWER.html class=md-nav__link >jfjoch_viewer</a> <li class=md-nav__item > <a href=SOFTWARE_INTEGRATION.html class=md-nav__link >Integration with MX data processing software</a> <li class=md-nav__item > <a href=TOOLS.html class=md-nav__link >Tools</a> <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >FPGA</span></span> <li class=md-nav__item > <a href=FPGA.html class=md-nav__link >FPGA smartNIC</a> <li class=md-nav__item > <a href=FPGA_LICENSE.html class=md-nav__link >FPGA license</a> <li class=md-nav__item > <a href=FPGA_DESIGN.html class=md-nav__link >FPGA data flow</a> <li class=md-nav__item > <a href=FPGA_NETWORK.html class=md-nav__link >FPGA network</a> <li class=md-nav__item > <a href=FPGA_PCIE_DRIVER.html class=md-nav__link >FPGA PCIe driver</a> <li class=md-nav__item > <a href=FPGA_SETTINGS.html class=md-nav__link >FPGA advanced reference</a> <li class=md-nav__item > <a href=FPGA_DATA_ANALYSIS.html class=md-nav__link >FPGA data analysis</a> <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >Reference</span></span> <li class=md-nav__item > <a href=DETECTOR_GEOMETRY.html class=md-nav__link >Detector geometry</a> <li class=md-nav__item > <a href=CPU_DATA_ANALYSIS.html class=md-nav__link >CPU-side crystallographic data analysis (Jungfraujoch)</a> <li class=md-nav__item > <a href=OPENAPI.html class=md-nav__link >OpenAPI</a> <li class=md-nav__item > <a href=OPENAPI_SPECS.html class=md-nav__link >OpenAPI specification</a> <li class=md-nav__item > <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc > <label class="md-nav__link md-nav__link--active" for=__toc > CBOR messages </label> <a href="#" class="md-nav__link md-nav__link--active">CBOR messages</a> <nav class="md-nav md-nav--secondary"> <ul class=md-nav__list data-md-scrollfix=""> </ul> </nav> <ul class=md-nav__list > <li class=md-nav__item > <a href="#start-message" class=md-nav__link >Start message</a> <li class=md-nav__item > <a href="#image-message" class=md-nav__link >Image message</a> <li class=md-nav__item > <a href="#metadata-message" class=md-nav__link >Metadata message</a> <li class=md-nav__item > <a href="#end-message" class=md-nav__link >End message</a> <li class=md-nav__item > <a href="#calibration-message" class=md-nav__link >Calibration message</a> <li class=md-nav__item > <a href="#user-data" class=md-nav__link >User data</a> </ul> <li class=md-nav__item > <a href=HDF5.html class=md-nav__link >HDF5 / NeXus data format</a> <li class=md-nav__item > <a href=IMAGE_STREAM.html class=md-nav__link >Data streams</a> <li class=md-nav__item > <a href=PIXEL_MASK.html class=md-nav__link >Pixel mask</a> <li class=md-nav__item > <a href=WEB_FRONTEND.html class=md-nav__link >Web frontend</a> <li class=md-nav__item > <a href=TESTS.html class=md-nav__link >Tests</a> <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >OpenAPI Python client</span></span> <li class=md-nav__item > <a href="python_client/README.html" class=md-nav__link >jfjoch-client</a> <li class=md-nav__item > <a href="python_client/README.html#license-clarification" class=md-nav__link >License Clarification</a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html" class=md-nav__link >jfjoch_client.DefaultApi</a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#cancel-post" class=md-nav__link ><strong>cancel_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-azim-int-get" class=md-nav__link ><strong>config_azim_int_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-azim-int-put" class=md-nav__link ><strong>config_azim_int_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-bragg-integration-get" class=md-nav__link ><strong>config_bragg_integration_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-bragg-integration-put" class=md-nav__link ><strong>config_bragg_integration_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-dark-mask-get" class=md-nav__link ><strong>config_dark_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-dark-mask-put" class=md-nav__link ><strong>config_dark_mask_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-detector-get" class=md-nav__link ><strong>config_detector_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-detector-put" class=md-nav__link ><strong>config_detector_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-file-writer-get" class=md-nav__link ><strong>config_file_writer_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-file-writer-put" class=md-nav__link ><strong>config_file_writer_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-conversion-post" class=md-nav__link ><strong>config_image_format_conversion_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-get" class=md-nav__link ><strong>config_image_format_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-put" class=md-nav__link ><strong>config_image_format_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-raw-post" class=md-nav__link ><strong>config_image_format_raw_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-indexing-get" class=md-nav__link ><strong>config_indexing_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-indexing-put" class=md-nav__link ><strong>config_indexing_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-instrument-get" class=md-nav__link ><strong>config_instrument_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-instrument-put" class=md-nav__link ><strong>config_instrument_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-internal-generator-image-put" class=md-nav__link ><strong>config_internal_generator_image_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-internal-generator-image-tiff-put" class=md-nav__link ><strong>config_internal_generator_image_tiff_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-mask-get" class=md-nav__link ><strong>config_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-mask-tiff-get" class=md-nav__link ><strong>config_mask_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-roi-get" class=md-nav__link ><strong>config_roi_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-roi-put" class=md-nav__link ><strong>config_roi_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-select-detector-get" class=md-nav__link ><strong>config_select_detector_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-select-detector-put" class=md-nav__link ><strong>config_select_detector_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-spot-finding-get" class=md-nav__link ><strong>config_spot_finding_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-spot-finding-put" class=md-nav__link ><strong>config_spot_finding_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-get" class=md-nav__link ><strong>config_user_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-put" class=md-nav__link ><strong>config_user_mask_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-tiff-get" class=md-nav__link ><strong>config_user_mask_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-tiff-put" class=md-nav__link ><strong>config_user_mask_tiff_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-metadata-get" class=md-nav__link ><strong>config_zeromq_metadata_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-metadata-put" class=md-nav__link ><strong>config_zeromq_metadata_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-preview-get" class=md-nav__link ><strong>config_zeromq_preview_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-preview-put" class=md-nav__link ><strong>config_zeromq_preview_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#deactivate-post" class=md-nav__link ><strong>deactivate_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#detector-status-get" class=md-nav__link ><strong>detector_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#fpga-status-get" class=md-nav__link ><strong>fpga_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-clear-post" class=md-nav__link ><strong>image_buffer_clear_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-cbor-get" class=md-nav__link ><strong>image_buffer_image_cbor_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-jpeg-get" class=md-nav__link ><strong>image_buffer_image_jpeg_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-tiff-get" class=md-nav__link ><strong>image_buffer_image_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-start-cbor-get" class=md-nav__link ><strong>image_buffer_start_cbor_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-status-get" class=md-nav__link ><strong>image_buffer_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-pusher-status-get" class=md-nav__link ><strong>image_pusher_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#initialize-post" class=md-nav__link ><strong>initialize_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#pedestal-post" class=md-nav__link ><strong>pedestal_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-pedestal-tiff-get" class=md-nav__link ><strong>preview_pedestal_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-plot-bin-get" class=md-nav__link ><strong>preview_plot_bin_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-plot-get" class=md-nav__link ><strong>preview_plot_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#result-scan-get" class=md-nav__link ><strong>result_scan_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#start-post" class=md-nav__link ><strong>start_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-calibration-get" class=md-nav__link ><strong>statistics_calibration_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-data-collection-get" class=md-nav__link ><strong>statistics_data_collection_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-get" class=md-nav__link ><strong>statistics_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#status-get" class=md-nav__link ><strong>status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#trigger-post" class=md-nav__link ><strong>trigger_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#version-get" class=md-nav__link ><strong>version_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#wait-till-done-post" class=md-nav__link ><strong>wait_till_done_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#wait-until-running-post" class=md-nav__link ><strong>wait_until_running_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#xfel-event-code-get" class=md-nav__link ><strong>xfel_event_code_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#xfel-pulse-id-get" class=md-nav__link ><strong>xfel_pulse_id_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/AzimIntSettings.html" class=md-nav__link >AzimIntSettings</a> <li class=md-nav__item > <a href="python_client/docs/BraggIntegrationSettings.html" class=md-nav__link >BraggIntegrationSettings</a> <li class=md-nav__item > <a href="python_client/docs/BrokerStatus.html" class=md-nav__link >BrokerStatus</a> <li class=md-nav__item > <a href="python_client/docs/CalibrationStatisticsInner.html" class=md-nav__link >CalibrationStatisticsInner</a> <li class=md-nav__item > <a href="python_client/docs/DarkMaskSettings.html" class=md-nav__link >DarkMaskSettings</a> <li class=md-nav__item > <a href="python_client/docs/DatasetSettings.html" class=md-nav__link >DatasetSettings</a> <li class=md-nav__item > <a href="python_client/docs/DatasetSettingsSmargon.html" class=md-nav__link >DatasetSettingsSmargon</a> <li class=md-nav__item > <a href="python_client/docs/DatasetSettingsXrayFluorescenceSpectrum.html" class=md-nav__link >DatasetSettingsXrayFluorescenceSpectrum</a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html" class=md-nav__link >jfjoch_client.DefaultApi</a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#cancel-post" class=md-nav__link ><strong>cancel_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-azim-int-get" class=md-nav__link ><strong>config_azim_int_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-azim-int-put" class=md-nav__link ><strong>config_azim_int_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-bragg-integration-get" class=md-nav__link ><strong>config_bragg_integration_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-bragg-integration-put" class=md-nav__link ><strong>config_bragg_integration_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-dark-mask-get" class=md-nav__link ><strong>config_dark_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-dark-mask-put" class=md-nav__link ><strong>config_dark_mask_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-detector-get" class=md-nav__link ><strong>config_detector_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-detector-put" class=md-nav__link ><strong>config_detector_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-file-writer-get" class=md-nav__link ><strong>config_file_writer_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-file-writer-put" class=md-nav__link ><strong>config_file_writer_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-conversion-post" class=md-nav__link ><strong>config_image_format_conversion_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-get" class=md-nav__link ><strong>config_image_format_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-put" class=md-nav__link ><strong>config_image_format_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-image-format-raw-post" class=md-nav__link ><strong>config_image_format_raw_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-indexing-get" class=md-nav__link ><strong>config_indexing_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-indexing-put" class=md-nav__link ><strong>config_indexing_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-instrument-get" class=md-nav__link ><strong>config_instrument_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-instrument-put" class=md-nav__link ><strong>config_instrument_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-internal-generator-image-put" class=md-nav__link ><strong>config_internal_generator_image_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-internal-generator-image-tiff-put" class=md-nav__link ><strong>config_internal_generator_image_tiff_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-mask-get" class=md-nav__link ><strong>config_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-mask-tiff-get" class=md-nav__link ><strong>config_mask_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-roi-get" class=md-nav__link ><strong>config_roi_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-roi-put" class=md-nav__link ><strong>config_roi_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-select-detector-get" class=md-nav__link ><strong>config_select_detector_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-select-detector-put" class=md-nav__link ><strong>config_select_detector_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-spot-finding-get" class=md-nav__link ><strong>config_spot_finding_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-spot-finding-put" class=md-nav__link ><strong>config_spot_finding_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-get" class=md-nav__link ><strong>config_user_mask_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-put" class=md-nav__link ><strong>config_user_mask_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-tiff-get" class=md-nav__link ><strong>config_user_mask_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-user-mask-tiff-put" class=md-nav__link ><strong>config_user_mask_tiff_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-metadata-get" class=md-nav__link ><strong>config_zeromq_metadata_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-metadata-put" class=md-nav__link ><strong>config_zeromq_metadata_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-preview-get" class=md-nav__link ><strong>config_zeromq_preview_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#config-zeromq-preview-put" class=md-nav__link ><strong>config_zeromq_preview_put</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#deactivate-post" class=md-nav__link ><strong>deactivate_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#detector-status-get" class=md-nav__link ><strong>detector_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#fpga-status-get" class=md-nav__link ><strong>fpga_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-clear-post" class=md-nav__link ><strong>image_buffer_clear_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-cbor-get" class=md-nav__link ><strong>image_buffer_image_cbor_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-jpeg-get" class=md-nav__link ><strong>image_buffer_image_jpeg_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-image-tiff-get" class=md-nav__link ><strong>image_buffer_image_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-start-cbor-get" class=md-nav__link ><strong>image_buffer_start_cbor_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-buffer-status-get" class=md-nav__link ><strong>image_buffer_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#image-pusher-status-get" class=md-nav__link ><strong>image_pusher_status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#initialize-post" class=md-nav__link ><strong>initialize_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#pedestal-post" class=md-nav__link ><strong>pedestal_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-pedestal-tiff-get" class=md-nav__link ><strong>preview_pedestal_tiff_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-plot-bin-get" class=md-nav__link ><strong>preview_plot_bin_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#preview-plot-get" class=md-nav__link ><strong>preview_plot_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#result-scan-get" class=md-nav__link ><strong>result_scan_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#start-post" class=md-nav__link ><strong>start_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-calibration-get" class=md-nav__link ><strong>statistics_calibration_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-data-collection-get" class=md-nav__link ><strong>statistics_data_collection_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#statistics-get" class=md-nav__link ><strong>statistics_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#status-get" class=md-nav__link ><strong>status_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#trigger-post" class=md-nav__link ><strong>trigger_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#version-get" class=md-nav__link ><strong>version_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#wait-till-done-post" class=md-nav__link ><strong>wait_till_done_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#wait-until-running-post" class=md-nav__link ><strong>wait_until_running_post</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#xfel-event-code-get" class=md-nav__link ><strong>xfel_event_code_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/DefaultApi.html#xfel-pulse-id-get" class=md-nav__link ><strong>xfel_pulse_id_get</strong></a> <li class=md-nav__item > <a href="python_client/docs/Detector.html" class=md-nav__link >Detector</a> <li class=md-nav__item > <a href="python_client/docs/DetectorList.html" class=md-nav__link >DetectorList</a> <li class=md-nav__item > <a href="python_client/docs/DetectorListElement.html" class=md-nav__link >DetectorListElement</a> <li class=md-nav__item > <a href="python_client/docs/DetectorModule.html" class=md-nav__link >DetectorModule</a> <li class=md-nav__item > <a href="python_client/docs/DetectorModuleDirection.html" class=md-nav__link >DetectorModuleDirection</a> <li class=md-nav__item > <a href="python_client/docs/DetectorPowerState.html" class=md-nav__link >DetectorPowerState</a> <li class=md-nav__item > <a href="python_client/docs/DetectorSelection.html" class=md-nav__link >DetectorSelection</a> <li class=md-nav__item > <a href="python_client/docs/DetectorSettings.html" class=md-nav__link >DetectorSettings</a> <li class=md-nav__item > <a href="python_client/docs/DetectorState.html" class=md-nav__link >DetectorState</a> <li class=md-nav__item > <a href="python_client/docs/DetectorStatus.html" class=md-nav__link >DetectorStatus</a> <li class=md-nav__item > <a href="python_client/docs/DetectorTiming.html" class=md-nav__link >DetectorTiming</a> <li class=md-nav__item > <a href="python_client/docs/DetectorType.html" class=md-nav__link >DetectorType</a> <li class=md-nav__item > <a href="python_client/docs/ErrorMessage.html" class=md-nav__link >ErrorMessage</a> <li class=md-nav__item > <a href="python_client/docs/FileWriterFormat.html" class=md-nav__link >FileWriterFormat</a> <li class=md-nav__item > <a href="python_client/docs/FileWriterSettings.html" class=md-nav__link >FileWriterSettings</a> <li class=md-nav__item > <a href="python_client/docs/FpgaStatusInner.html" class=md-nav__link >FpgaStatusInner</a> <li class=md-nav__item > <a href="python_client/docs/GeomRefinementAlgorithm.html" class=md-nav__link >GeomRefinementAlgorithm</a> <li class=md-nav__item > <a href="python_client/docs/GridScan.html" class=md-nav__link >GridScan</a> <li class=md-nav__item > <a href="python_client/docs/ImageBufferStatus.html" class=md-nav__link >ImageBufferStatus</a> <li class=md-nav__item > <a href="python_client/docs/ImageFormatSettings.html" class=md-nav__link >ImageFormatSettings</a> <li class=md-nav__item > <a href="python_client/docs/ImagePusherStatus.html" class=md-nav__link >ImagePusherStatus</a> <li class=md-nav__item > <a href="python_client/docs/ImagePusherType.html" class=md-nav__link >ImagePusherType</a> <li class=md-nav__item > <a href="python_client/docs/IndexingAlgorithm.html" class=md-nav__link >IndexingAlgorithm</a> <li class=md-nav__item > <a href="python_client/docs/IndexingSettings.html" class=md-nav__link >IndexingSettings</a> <li class=md-nav__item > <a href="python_client/docs/InstrumentMetadata.html" class=md-nav__link >InstrumentMetadata</a> <li class=md-nav__item > <a href="python_client/docs/IntegrationModel.html" class=md-nav__link >IntegrationModel</a> <li class=md-nav__item > <a href="python_client/docs/JfjochSettings.html" class=md-nav__link >JfjochSettings</a> <li class=md-nav__item > <a href="python_client/docs/JfjochStatistics.html" class=md-nav__link >JfjochStatistics</a> <li class=md-nav__item > <a href="python_client/docs/MeasurementStatistics.html" class=md-nav__link >MeasurementStatistics</a> <li class=md-nav__item > <a href="python_client/docs/PcieDevicesInner.html" class=md-nav__link >PcieDevicesInner</a> <li class=md-nav__item > <a href="python_client/docs/PixelMaskStatistics.html" class=md-nav__link >PixelMaskStatistics</a> <li class=md-nav__item > <a href="python_client/docs/Plot.html" class=md-nav__link >Plot</a> <li class=md-nav__item > <a href="python_client/docs/PlotUnitX.html" class=md-nav__link >PlotUnitX</a> <li class=md-nav__item > <a href="python_client/docs/Plots.html" class=md-nav__link >Plots</a> <li class=md-nav__item > <a href="python_client/docs/RoiAzimList.html" class=md-nav__link >RoiAzimList</a> <li class=md-nav__item > <a href="python_client/docs/RoiAzimuthal.html" class=md-nav__link >RoiAzimuthal</a> <li class=md-nav__item > <a href="python_client/docs/RoiBox.html" class=md-nav__link >RoiBox</a> <li class=md-nav__item > <a href="python_client/docs/RoiBoxList.html" class=md-nav__link >RoiBoxList</a> <li class=md-nav__item > <a href="python_client/docs/RoiCircle.html" class=md-nav__link >RoiCircle</a> <li class=md-nav__item > <a href="python_client/docs/RoiCircleList.html" class=md-nav__link >RoiCircleList</a> <li class=md-nav__item > <a href="python_client/docs/RoiDefinitions.html" class=md-nav__link >RoiDefinitions</a> <li class=md-nav__item > <a href="python_client/docs/RotationAxis.html" class=md-nav__link >RotationAxis</a> <li class=md-nav__item > <a href="python_client/docs/ScanResult.html" class=md-nav__link >ScanResult</a> <li class=md-nav__item > <a href="python_client/docs/ScanResultImagesInner.html" class=md-nav__link >ScanResultImagesInner</a> <li class=md-nav__item > <a href="python_client/docs/SpotFindingSettings.html" class=md-nav__link >SpotFindingSettings</a> <li class=md-nav__item > <a href="python_client/docs/StandardDetectorGeometry.html" class=md-nav__link >StandardDetectorGeometry</a> <li class=md-nav__item > <a href="python_client/docs/TcpSettings.html" class=md-nav__link >TcpSettings</a> <li class=md-nav__item > <a href="python_client/docs/UnitCell.html" class=md-nav__link >UnitCell</a> <li class=md-nav__item > <a href="python_client/docs/ZeromqMetadataSettings.html" class=md-nav__link >ZeromqMetadataSettings</a> <li class=md-nav__item > <a href="python_client/docs/ZeromqPreviewSettings.html" class=md-nav__link >ZeromqPreviewSettings</a> <li class=md-nav__item > <a href="python_client/docs/ZeromqSettings.html" class=md-nav__link >ZeromqSettings</a> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc > <div class=md-sidebar__scrollwrap > <div class=md-sidebar__inner > <nav class="md-nav md-nav--secondary"> <ul class=md-nav__list data-md-scrollfix=""> </ul> </nav> </div> </div> </div> <div class=md-content > <article class="md-content__inner md-typeset" role=main > <section class="tex2jax_ignore mathjax_ignore" id=cbor-messages > <h1 id=cbor--page-root >CBOR messages<a class=headerlink href="#cbor--page-root" title="Link to this heading"></a></h1> <p>To communicate between FPGA-equipped receiver system and writers, Jungfraujoch is using binary CBOR encoding with tinycbor library (Intel). The protocol is based on and compatible with <a class="reference external" href="https://github.com/dectris/documentation/tree/main/stream_v2">DECTRIS Stream2</a>. There are minor differences at the moment:</p> <ul class=simple > <li><p>LZ4 alone is not allowed; Bitshuffle+LZ4 and Bitshuffle+Zstandard are allowed</p> <li><p>Few fields are currently absent</p> <li><p>Extra fields are present beyond DECTRIS standard</p> <li><p>There are calibration and metadata messages defined beyond DECTRIS specification</p> </ul> <section id=start-message > <h2 id=start-message >Start message<a class=headerlink href="#start-message" title="Link to this heading"></a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Field name</p> <th class=head ><p>Type</p> <th class=head ><p>Description</p> <th class="head text-center"><p>Present in DECTRIS format</p> <tr class=row-even ><td><p>type</p> <td><p>String</p> <td><p>value “start”</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>magic_number</p> <td><p>uint64</p> <td><p>Number used to describe version of the Jungfraujoch data interface - to allow to detect inconsistency between sender and receiver</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>detector_distance</p> <td><p>float</p> <td><p>Detector distance [m]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>detector_translation</p> <td><p>Array(float)</p> <td><p>Detector translation vector [m]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>beam_center_x</p> <td><p>float</p> <td><p>Beam center in X direction [pixels]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>beam_center_y</p> <td><p>float</p> <td><p>Beam center in Y direction [pixels]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>countrate_correction_enabled</p> <td><p>bool</p> <td><p>Countrate correction enabled</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>flatfield_enabled</p> <td><p>bool</p> <td><p>Flatfield enabled</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>number_of_images</p> <td><p>uint64</p> <td><p>Number of images in the series</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>image_size_x</p> <td><p>uint64</p> <td><p>Image width [pixels]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>image_size_y</p> <td><p>uint64</p> <td><p>Image height [pixels]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>incident_energy</p> <td><p>float</p> <td><p>X-ray energy [eV]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>incident_wavelength</p> <td><p>float</p> <td><p>X-ray wavelength [Angstrom]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>incident_wavelength_spread</p> <td><p>float (optional)</p> <td><p>FWHM of the X-ray wavelength distribution [Angstrom] (NXmx incident_wavelength_spread); omitted when the beam is monochromatic</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>frame_time</p> <td><p>float</p> <td><p>Frame time, if multiple frames per trigger [s]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>count_time</p> <td><p>float</p> <td><p>Exposure time [s]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>saturation_value</p> <td><p>int64</p> <td><p>Maximum valid sample value</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>error_value</p> <td><p>int64 (optional)</p> <td><p>Value used in images to describe pixels that are in error state or missing</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>pixel_size_x</p> <td><p>float</p> <td><p>Pixel width [m]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>pixel_size_y</p> <td><p>float</p> <td><p>Pixel height [m]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>sensor_thickness</p> <td><p>float</p> <td><p>Sensor thickness [m]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>sensor_material</p> <td><p>string</p> <td><p>Sensor material</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>arm_date</p> <td><p>date</p> <td><p>Approximate date of arming</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>pixel_mask_enabled</p> <td><p>bool</p> <td><p>Pixel mask applied on images</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>detector_description</p> <td><p>string</p> <td><p>Name of the detector</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>detector_serial_number</p> <td><p>string</p> <td><p>Detector serial number</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>series_unique_id</p> <td><p>string</p> <td><p>Unique text ID of the series (run_name parameter)</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>series_id</p> <td><p>uint64</p> <td><p>Unique numeric ID of the series (run_number parameter)</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>fluorescence</p> <td><p>object (optional)</p> <td><p>X-ray fluorescence spectrum collected at start</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- energy</p> <td><p>Array(float)</p> <td><p>Energy of measuring point [eV]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- data</p> <td><p>Array(float)</p> <td><p>Fluorescence scan result <code class="docutils literal notranslate"><span class=pre >data</span></code> [arbitrary units]; must be strictly the same length as energy</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>goniometer</p> <td><p>Map</p> <td><p>Definition of rotation axis (optional)</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- <code class="docutils literal notranslate"><span class=pre >AXIS</span></code></p> <td><p>string</p> <td><p>Rotation axis name (e.g. omega) - only one axis is supported in Jungfraujoch</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- - increment</p> <td><p>float</p> <td><p>Rotation axis increment (per image) in degree [deg]</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- - start</p> <td><p>float</p> <td><p>Rotation axis start angle [deg]</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- - axis</p> <td><p>Array(float)</p> <td><p>Vector for the rotation axis</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- - helical_step</p> <td><p>Array(float)</p> <td><p>Translation for helical scan for 1 image [m]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- - screening_wedge</p> <td><p>Array(float)</p> <td><p>Wedge for screening [deg] (increment would correspond to difference between screening points)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>grid_scan</p> <td><p>object</p> <td><p>Grid scan definition (optional and exclusive with rotation axis)</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- n_fast</p> <td><p>uint64</p> <td><p>Number of elements along fast axis</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- n_slow</p> <td><p>uint64</p> <td><p>Number of elements along slow axis</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- step_x_axis</p> <td><p>float</p> <td><p>Step along X axis, can be negative [m]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- step_y_axis</p> <td><p>float</p> <td><p>Step along Y axis, can be negative [m]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- snake_scan</p> <td><p>bool</p> <td><p>Snake scan (rows alternate direction)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- vertical_scan</p> <td><p>bool</p> <td><p>Vertical scan (enabled: fast direction = Y, disabled: fast direction = X)</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>jungfrau_conversion_enabled</p> <td><p>bool (optional)</p> <td><p>Applying JUNGFRAU pixel conversion (to photons or keV)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>jungfrau_conversion_factor</p> <td><p>float (optional)</p> <td><p>Factor used for JUNGFRAU conversion [eV]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>geometry_transformation_enabled</p> <td><p>bool (optional)</p> <td><p>Transformation from detector module geometry (512x1024) to full detector geometry</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>pixel_mask</p> <td><p>Map(string -&gt; Image)</p> <td><p>Pixel mask - multiple in case of storage cells</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>channels</p> <td><p>Array(string)</p> <td><p>List of image channels</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>max_spot_count</p> <td><p>uint64</p> <td><p>Maximum number of spots identified in spot finding</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>max_extra_lattices</p> <td><p>uint64</p> <td><p>Maximum number of extra lattices</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>storage_cell_number</p> <td><p>uint64 (optional)</p> <td><p>Number of storage cells used by JUNGFRAU</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>storage_cell_delay</p> <td><p>Rational</p> <td><p>Delay of storage cells in JUNGFRAU</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>threshold_energy</p> <td><p>Map(string -&gt; float)</p> <td><p>Per-channel threshold energy [eV] (map of channel name to value)</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>image_dtype</p> <td><p>string</p> <td><p>Pixel bit type (e.g. uint16)</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>unit_cell</p> <td><p>object (optional)</p> <td><p>Unit cell of the system: a, b, c [angstrom] and alpha, beta, gamma [degree]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>az_int_q_bin_count</p> <td><p>uint64</p> <td><p>Number of azimuthal integration bins in the radial direction</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>az_int_phi_bin_count</p> <td><p>uint64</p> <td><p>Number of azimuthal integration bins in the phi angle direction</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>az_int_bin_to_q</p> <td><p>Array(float)</p> <td><p>Q value for each azimuthal integration bin [angstrom^-1]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>az_int_bin_to_two_theta</p> <td><p>Array(float)</p> <td><p>Two theta angle value for each azimuthal integration bin [deg]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>az_int_bin_to_phi</p> <td><p>Array(float)</p> <td><p>Phi value for each azimuthal integration bin [deg]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>az_int_map</p> <td><p>Image</p> <td><p>Mapping between pixel and bin number</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>summation</p> <td><p>uint64</p> <td><p>Factor of frame summation</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>user_data</p> <td><p>string</p> <td><p>JSON serialized to string that can contain the following fields (all fields are optional):</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- file_prefix</p> <td><p>string</p> <td><p>File prefix</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- images_per_file</p> <td><p>uint64</p> <td><p>Number of images written per file</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- images_per_trigger</p> <td><p>uint64</p> <td><p>Number of images collected per trigger</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- source_name</p> <td><p>string</p> <td><p>Facility name</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- source_type</p> <td><p>string</p> <td><p>Type of X-ray source (use NXsource/type values, for example “Synchrotron X-ray Source” or “Free-Electron Laser”)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- instrument_name</p> <td><p>string</p> <td><p>Instrument name</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- sample_name</p> <td><p>string</p> <td><p>Name of the sample</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- user</p> <td><p>any valid JSON</p> <td><p>Value of header_appendix provided at collection start to Jungfraujoch</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- attenuator_transmission</p> <td><p>float</p> <td><p>Attenuator transmission []</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- total_flux</p> <td><p>float</p> <td><p>Total flux [ph/s]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- space_group_number</p> <td><p>uint64</p> <td><p>Space group number</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- summation_mode</p> <td><p>string</p> <td><p>Summation mode (internal|fpga|cpu)</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- overwrite</p> <td><p>bool</p> <td><p>Overwrite existing HDF5 files</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- file_format</p> <td><p>int</p> <td><p>File writer format: 0 = only data files, 1 = NXmx legacy soft links, 2 = NXmx VDS, 3 = NXmx integrated, 4 = CBF, 5 = TIFF, 6 = no file written</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- roi</p> <td><p>Array(object)</p> <td><p>ROI configurations; each element is one of:</p> <td class=text-center ><p></p> <tr class=row-even ><td><p></p> <td><p></p> <td><p>type “box”: xmin, xmax, ymin, ymax (numbers)</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p></p> <td><p></p> <td><p>type “circle”: r, x, y (numbers)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p></p> <td><p></p> <td><p>type “azim”: qmin, qmax (numbers); optional phi_min, phi_max (numbers, deg) for an angular sector</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- gain_file_names</p> <td><p>Array(string)</p> <td><p>Names of JUNGFRAU gain files used for the current detector</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- write_master_file</p> <td><p>bool</p> <td><p>With multiple sockets, it selects which socket will provide master file</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- write_images</p> <td><p>bool</p> <td><p>Write images in the HDF5 file (if false, will only write metadata)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- data_reduction_factor_serialmx</p> <td><p>uint64</p> <td><p>Data reduction factor for serial MX</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- experiment_group</p> <td><p>string</p> <td><p>ID of instrument user, e.g., p-group (SLS/SwissFEL) or proposal number</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- jfjoch_release</p> <td><p>string</p> <td><p>Jungfraujoch release number</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- socket_number</p> <td><p>uint64</p> <td><p>Number of ZeroMQ socket (on <code class="docutils literal notranslate"><span class=pre >jfjoch_broker</span></code> side) used for transmission</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- bit_depth_readout</p> <td><p>uint64</p> <td><p>Bit depth of the detector readout</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- writer_notification_zmq_addr</p> <td><p>string</p> <td><p>ZeroMQ address to inform <code class="docutils literal notranslate"><span class=pre >jfjoch_broker</span></code> about writers that finished operation</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- xfel_pulse_id</p> <td><p>uint64</p> <td><p>Pulse IDs are recorded for images</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- ring_current_mA</p> <td><p>float</p> <td><p>Ring current at the start of the measurement</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- sample_temperature_K</p> <td><p>float</p> <td><p>Sample temperature [K]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- detect_ice_rings</p> <td><p>bool</p> <td><p>Ice ring detection feature is enabled</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- indexing_algorithm</p> <td><p>string</p> <td><p>Indexing algorithm used on-the-fly; allowed values: ffbidx, fft, fftw, none</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- geom_refinement_algorithm</p> <td><p>string</p> <td><p>Post-indexing detector geometry refinement algorithm; allowed values: none, beam_center</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- poni_rot1</p> <td><p>float</p> <td><p>Tilt of the detector rot1 according to PyFAI PONI convention [rad]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- poni_rot2</p> <td><p>float</p> <td><p>Tilt of the detector rot2 according to PyFAI PONI convention [rad]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- poni_rot3</p> <td><p>float</p> <td><p>Tilt of the detector rot3 according to PyFAI PONI convention [rad]</p> <td class=text-center ><p></p> </table> <p>See <a class="reference external" href="https://github.com/dectris/documentation/tree/main/stream_v2">DECTRIS documentation</a> for definition of Image as MultiDimArray with optional compression.</p> </section> <section id=image-message > <h2 id=image-message >Image message<a class=headerlink href="#image-message" title="Link to this heading"></a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Field name</p> <th class=head ><p>Type</p> <th class=head ><p>Description</p> <th class="head text-center"><p>Present in DECTRIS format</p> <th class="head text-center"><p>Optional</p> <tr class=row-even ><td><p>type</p> <td><p>String</p> <td><p>value “image”</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>magic_number</p> <td><p>uint64</p> <td><p>Number used to describe version of the Jungfraujoch data interface - to allow to detect inconsistency between sender and receiver</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>series_unique_id</p> <td><p>string</p> <td><p>Unique text ID of the series (run_name parameter)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>series_id</p> <td><p>uint64</p> <td><p>Unique numeric ID of the series (run_number parameter)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>image_id</p> <td><p>uint64</p> <td><p>Number of image within the series; for MX lossy compression this is sequential excluding removed frames</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>original_image_id</p> <td><p>uint64</p> <td><p>Number of image within the series; for MX lossy compression this includes removed frames in the count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>real_time</p> <td><p>Rational</p> <td><p>Exposure time</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>start_time</p> <td><p>Rational</p> <td><p>Exposure start time (highly approximate)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>end_time</p> <td><p>Rational</p> <td><p>Exposure end time (highly approximate)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spots</p> <td><p>Array(object)</p> <td><p>Spots:</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- x</p> <td><p>float</p> <td><p>observed position in x (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- y</p> <td><p>float</p> <td><p>observed position in y (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- I</p> <td><p>float</p> <td><p>intensity (photons)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- maxc</p> <td><p>int64</p> <td><p>max count (photons)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- ice_ring</p> <td><p>bool</p> <td><p>spot in resolution range for ice rings</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- indexed</p> <td><p>bool</p> <td><p>indexed solution</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- latt</p> <td><p>int64</p> <td><p>Lattice to which the peak belongs (negative number = not indexed)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- image</p> <td><p>int64</p> <td><p>image number the spot belongs to</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- h</p> <td><p>int64</p> <td><p>Miller index (indexed spots only)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- k</p> <td><p>int64</p> <td><p>Miller index (indexed spots only)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- l</p> <td><p>int64</p> <td><p>Miller index (indexed spots only)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- dist_ewald</p> <td><p>float</p> <td><p>distance to Ewald sphere [Angstrom^-1] (indexed spots only)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>reflections</p> <td><p>Array(object)</p> <td><p>Reflections:</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- h</p> <td><p>int64</p> <td><p>Miller index</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- k</p> <td><p>int64</p> <td><p>Miller index</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- l</p> <td><p>int64</p> <td><p>Miller index</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- x</p> <td><p>float</p> <td><p>prediced position in x (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- y</p> <td><p>float</p> <td><p>predicted position in y (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- obs_x</p> <td><p>float</p> <td><p>observed position in x (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- obs_y</p> <td><p>float</p> <td><p>observed position in y (pixels)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- d</p> <td><p>float</p> <td><p>resolution [Angstrom]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- I</p> <td><p>float</p> <td><p>integrated intensity (photons)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- bkg</p> <td><p>float</p> <td><p>mean background value (photons)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- var_bkg</p> <td><p>float</p> <td><p>non-signal (background) part of sigma^2, carried to the merge (photons^2)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- sigma</p> <td><p>float</p> <td><p>standard deviation, estimated from counting statistics (photons)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- image</p> <td><p>float</p> <td><p>image number (present for each spot)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- rp</p> <td><p>float</p> <td><p>Distance to Ewald sphere [Angstrom^-1]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- rlp</p> <td><p>float</p> <td><p>Reciprocal Lorentz and polarization corrections</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- partiality</p> <td><p>float</p> <td><p>Partiality of the reflection</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- phi</p> <td><p>float</p> <td><p>phi angle from XDS: difference from middle of current frame, not absolute [deg]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- zeta</p> <td><p>float</p> <td><p>Lorentz zeta factor (reciprocal-space geometry term)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- image_scale_corr</p> <td><p>float</p> <td><p>Per-image scale correction; I_true = image_scale_corr * I</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>spot_count</p> <td><p>uint64</p> <td><p>Spot count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_count_ice_rings</p> <td><p>uint64</p> <td><p>Number of spots within identified rings (experimental)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>spot_count_low_res</p> <td><p>uint64</p> <td><p>Number of spots in low resolution (prior to filtering)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_count_indexed</p> <td><p>uint64</p> <td><p>Number of spots which fit indexing solution within a given tolerance</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>az_int_profile</p> <td><p>Array(float)</p> <td><p>Azimuthal integration results, use az_int_bin_to_q from start message for legend</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p></p> <td><p></p> <td><p>NaN is used for empty bins and has to be taken care by the receiver</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>az_int_profile_std</p> <td><p>Array(float)</p> <td><p>Standard deviation for azimuthal integration. (NaN for less than 2 samples)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>az_int_profile_count</p> <td><p>Array(uint64)</p> <td><p>Number of pixels contributing to azimuthal bin</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexing_result</p> <td><p>bool</p> <td><p>Indexing successful</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>indexing_lattice_count</p> <td><p>int64</p> <td><p>Number of indexing lattices found for this image</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexing_lattice</p> <td><p>Array(9 * float)</p> <td><p>Indexing result real lattice; present only if indexed</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>indexing_extra_lattices</p> <td><p>Array(Array(9*float))</p> <td><p>Additional indexed lattices (orientation variants); present only if found</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexing_unit_cell</p> <td><p>object</p> <td><p>Indexing result unit cell: a, b, c [angstrom] and alpha, beta, gamma [degree]; present only if indexed</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p></p> <td><p></p> <td><p>Unit cell is redundant to lattice - yet to simplify downstream programs to analyze results, both are provided</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>profile_radius</p> <td><p>float</p> <td><p>Profile radius of the image - describes distance of observed reflections from the Ewald sphere [Angstrom^-1]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>integrated_reflections</p> <td><p>int64</p> <td><p>Count of integrated reflections</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>mosaicity</p> <td><p>float</p> <td><p>Angular range of spots in image from a rotation scan [degree]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>b_factor</p> <td><p>float</p> <td><p>Estimated B-factor (Angstrom^2)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>compression_time</p> <td><p>float</p> <td><p>Time spent on compression/decompressing image [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>preprocessing_time</p> <td><p>float</p> <td><p>Time spent on preparing the image for analysis [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>azint_time</p> <td><p>float</p> <td><p>Time spent on azimuthal integration [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_finding_time</p> <td><p>float</p> <td><p>Time spent on spot finding [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexing_time</p> <td><p>float</p> <td><p>Time spent on indexing [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>refinement_time</p> <td><p>float</p> <td><p>Time spent on refinement of indexing solution and experimental geometry [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>index_analysis_time</p> <td><p>float</p> <td><p>Time spent on analyzing idnexing solution, calculating profile radius and mosaicity [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>bragg_prediction_time</p> <td><p>float</p> <td><p>Time spent on predicting Bragg spots [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>integration_time</p> <td><p>float</p> <td><p>Time spent on Bragg integration [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>image_scale_time</p> <td><p>float</p> <td><p>Time spent on on-the-fly scaling [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>processing_time</p> <td><p>float</p> <td><p>Total processing time [s]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>xfel_pulse_id</p> <td><p>uint64</p> <td><p>Bunch ID (for pulsed source, e.g., SwissFEL)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>xfel_event_code</p> <td><p>uint64</p> <td><p>Event code (for pulsed source, e.g., SwissFEL)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>lattice_type</p> <td><p>object</p> <td><p>Bravais lattice classification of the indexing result (present only if available)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- centering</p> <td><p>string</p> <td><p>One-letter centering code: P, A, B, C, I, F, or R</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- niggli_class</p> <td><p>int64</p> <td><p>Integer identifier for the Niggli-reduced Bravais class</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- system</p> <td><p>string</p> <td><p>Crystal system: triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal, cubic</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>jf_info</p> <td><p>uint64</p> <td><p>Detector info field</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>receiver_aq_dev_delay</p> <td><p>uint64</p> <td><p>Receiver internal delay</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>receiver_free_send_buf</p> <td><p>uint64</p> <td><p>Receiver internal number of available buffer locations</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>receiver_buf_in_sending</p> <td><p>uint64</p> <td><p>Receiver internal number of buffer locations currently in sending/writing</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>receiver_buf_in_preparation</p> <td><p>uint64</p> <td><p>Receiver internal number of buffer locations currently in processing</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>storage_cell</p> <td><p>uint64</p> <td><p>Storage cell number</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>saturated_pixel_count</p> <td><p>uint64</p> <td><p>Saturated pixel count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>pixel_sum</p> <td><p>uint64</p> <td><p>Sum of all pixels, excl. error and saturation</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>error_pixel_count</p> <td><p>uint64</p> <td><p>Error pixel count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>strong_pixel_count</p> <td><p>uint64</p> <td><p>Strong pixel count (first stage of spot finding)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>min_viable_pixel_value</p> <td><p>int64</p> <td><p>Minimal pixel value, excl. error and saturation</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>max_viable_pixel_value</p> <td><p>int64</p> <td><p>Maximal pixel value, excl. error and saturation</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>resolution_estimate</p> <td><p>float</p> <td><p>Diffraction resolution estimation [Angstrom]</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>data_collection_efficiency</p> <td><p>float</p> <td><p>Image collection efficiency []</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>packets_expected</p> <td><p>uint64</p> <td><p>Number of packets expected per image (in units of 2 kB)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>packets_received</p> <td><p>uint64</p> <td><p>Number of packets received per image (in units of 2 kB)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>bkg_estimate</p> <td><p>float</p> <td><p>Mean value for pixels in resolution range from 3.0 to 5.0 A [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>ice_ring_score</p> <td><p>float</p> <td><p>Strongest hexagonal-ice ring intensity over the smooth radial background (1 = no ice)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_count_ice_control</p> <td><p>float</p> <td><p>Spots in the ice-free flanks beside the hexagonal rings, rescaled to the ring bands own q width (control for spot_count_ice_rings)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>beam_corr_x</p> <td><p>float</p> <td><p>Beam center correction X applied during processing [pixel]</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>beam_corr_y</p> <td><p>float</p> <td><p>Beam center correction Y applied during processing [pixel]</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>image_scale_factor</p> <td><p>float</p> <td><p>Scaling result: Image scale factor (g)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>image_scale_mosaicity</p> <td><p>float</p> <td><p>Scaling result: Image scale mosaicity [deg]</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>image_scale_cc</p> <td><p>float</p> <td><p>Scaling result: Image scale CC</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>adu_histogram</p> <td><p>Array(uint64)</p> <td><p>ADU histogram</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>roi_integrals</p> <td><p>object</p> <td><p>Results of ROI calculation</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- sum</p> <td><p>int64</p> <td><p>Sum of pixels in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- sum_square</p> <td><p>int64</p> <td><p>Sum of squares of pixels in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- pixels</p> <td><p>uint64</p> <td><p>Valid pixels in ROI area</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- max_count</p> <td><p>int64</p> <td><p>Highest count in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- x_weighted_sum</p> <td><p>int64</p> <td><p>ROI pixel X position multiplied by photon count [photons * pixels]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- y_weighted_sum</p> <td><p>int64</p> <td><p>ROI pixel Y position multiplied by photon count [photons * pixels]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>user_data</p> <td><p>string</p> <td><p>Optional user defined text information - this is image_appendix serialized to JSON format</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>data</p> <td><p>Map(string -&gt; Image)</p> <td><p>Image</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> </table> </section> <section id=metadata-message > <h2 id=metadata-message >Metadata message<a class=headerlink href="#metadata-message" title="Link to this heading"></a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Field name</p> <th class=head ><p>Type</p> <th class=head ><p>Description</p> <th class="head text-center"><p>Present in DECTRIS format</p> <th class="head text-center"><p>Optional</p> <tr class=row-even ><td><p>type</p> <td><p>String</p> <td><p>value “metadata”</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>magic_number</p> <td><p>uint64</p> <td><p>Number used to describe version of the Jungfraujoch data interface - to allow to detect inconsistency between sender and receiver</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>series_unique_id</p> <td><p>string</p> <td><p>Unique text ID of the series (run_name parameter)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>series_id</p> <td><p>uint64</p> <td><p>Unique numeric ID of the series (run_number parameter)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>images</p> <td><p>Array(object)</p> <td><p>Array of images (order and size of the array are not guaranteed)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- image_id</p> <td><p>uint64</p> <td><p>Number of image within the series; for MX lossy compression this is sequential excluding removed frames</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- original_image_id</p> <td><p>uint64</p> <td><p>Number of image within the series; for MX lossy compression this includes removed frames in the count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- real_time</p> <td><p>Rational</p> <td><p>Exposure time</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- start_time</p> <td><p>Rational</p> <td><p>Exposure start time (highly approximate)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- end_time</p> <td><p>Rational</p> <td><p>Exposure end time (highly approximate)</p> <td class=text-center ><p>X</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- spot_count</p> <td><p>uint64</p> <td><p>Spot count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- spot_count_ice_rings</p> <td><p>uint64</p> <td><p>Number of spots within identified rings (experimental)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- az_int_profile</p> <td><p>Array(float)</p> <td><p>Azimuthal integration results, use az_int_bin_to_q from start message for legend</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- indexing_result</p> <td><p>bool</p> <td><p>Indexing successful</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- indexing_lattice</p> <td><p>Array(9 * float)</p> <td><p>Indexing result real lattice; present only if indexed</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- indexing_unit_cell</p> <td><p>object</p> <td><p>Indexing result unit cell: a, b, c [angstrom] and alpha, beta, gamma [degree]; present only if indexed</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p></p> <td><p></p> <td><p>Unit cell is redundant to lattice - yet to simplify downstream programs to analyze results, both are provided</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- xfel_pulse_id</p> <td><p>uint64</p> <td><p>Bunch ID (for pulsed source, e.g., SwissFEL)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- xfel_event_code</p> <td><p>uint64</p> <td><p>Event code (for pulsed source, e.g., SwissFEL)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- jf_info</p> <td><p>uint64</p> <td><p>Detector info field</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- receiver_aq_dev_delay</p> <td><p>uint64</p> <td><p>Receiver internal delay</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- receiver_free_send_buf</p> <td><p>uint64</p> <td><p>Receiver internal number of available send buffers</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- storage_cell</p> <td><p>uint64</p> <td><p>Storage cell number</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- saturated_pixel_count</p> <td><p>uint64</p> <td><p>Saturated pixel count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- error_pixel_count</p> <td><p>uint64</p> <td><p>Error pixel count</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- strong_pixel_count</p> <td><p>uint64</p> <td><p>Strong pixel count (first stage of spot finding)</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- data_collection_efficiency</p> <td><p>float</p> <td><p>Image collection efficiency []</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- bkg_estimate</p> <td><p>float</p> <td><p>Mean value for pixels in resolution range from 3.0 to 5.0 A [photons] (with solid angle/polarization corrections, if applied)</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- resolution_estimate</p> <td><p>float</p> <td><p>Diffraction resolution estimation</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- adu_histogram</p> <td><p>Array(uint64)</p> <td><p>ADU histogram</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>- roi_integrals</p> <td><p>object</p> <td><p>Results of ROI calculation</p> <td class=text-center ><p></p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>- - sum</p> <td><p>int64</p> <td><p>Sum of pixels in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- - sum_square</p> <td><p>int64</p> <td><p>Sum of squares of pixels in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- - pixels</p> <td><p>uint64</p> <td><p>Valid pixels in ROI area</p> <td class=text-center ><p></p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- - max_count</p> <td><p>int64</p> <td><p>Highest count in ROI area [photons]</p> <td class=text-center ><p></p> <td class=text-center ><p></p> </table> </section> <section id=end-message > <h2 id=end-message >End message<a class=headerlink href="#end-message" title="Link to this heading"></a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Field name</p> <th class=head ><p>Type</p> <th class=head ><p>Description</p> <th class="head text-center"><p>Present in DECTRIS format</p> <tr class=row-even ><td><p>type</p> <td><p>String</p> <td><p>value “end”</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>magic_number</p> <td><p>uint64</p> <td><p>Number used to describe version of the Jungfraujoch data interface - to allow to detect inconsistency between sender and receiver</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>series_unique_id</p> <td><p>string</p> <td><p>Unique text ID of the series (run_name parameter)</p> <td class=text-center ><p>X</p> <tr class=row-odd ><td><p>series_id</p> <td><p>uint64</p> <td><p>Unique numeric ID of the series (run_number parameter)</p> <td class=text-center ><p>X</p> <tr class=row-even ><td><p>end_date</p> <td><p>string</p> <td><p>Approximate end date</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>max_image_number</p> <td><p>uint64</p> <td><p>Number of image with the highest number; counted from 1 to distinguish zero images and one image</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>images_collected</p> <td><p>uint64</p> <td><p>Number of images collected</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>images_sent_to_write</p> <td><p>uint64</p> <td><p>Number of images sent to writer; if writer queues were full, it is possible this is less than images collected</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>data_collection_efficiency</p> <td><p>float</p> <td><p>Overall network packets collected / network packets expected</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>az_int_result</p> <td><p>Map(text-&gt;Array(float))</p> <td><p>Azimuthal integration results, use az_int_bin_to_q from start message for legend</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>adu_histogram</p> <td><p>Map(text-&gt;Array(uint64))</p> <td><p>ADU values histogram</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>adu_histogram_bin_width</p> <td><p>uint64</p> <td><p>Width of bins in the above histogram [ADU]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>max_receiver_delay</p> <td><p>uint64</p> <td><p>Internal performance of Jungfraujoch</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>bkg_estimate</p> <td><p>float</p> <td><p>Mean background estimate for the whole run</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexing_rate</p> <td><p>float</p> <td><p>Mean indexing rate for the whole run</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>unit_cell</p> <td><p>object (optional)</p> <td><p>Unit cell of the system, based on the actual experiment: a, b, c [angstrom] and alpha, beta, gamma [degree]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>rotation_lattice_type</p> <td><p>object</p> <td><p>Bravais lattice classification of the total rotation solution over the run, if available; same schema as <code class="docutils literal notranslate"><span class=pre >lattice_type</span></code></p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- centering</p> <td><p>string</p> <td><p>One-letter centering code: P, A, B, C, I, F, or R</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>- niggli_class</p> <td><p>int64</p> <td><p>Integer identifier for the Niggli-reduced Bravais class</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>- system</p> <td><p>string</p> <td><p>Crystal system: triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal, cubic</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>rotation_lattice</p> <td><p>Array(9 * float)</p> <td><p>Real-space lattice basis, flattened 3x3 in row-major order</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>rotation_extra_lattices</p> <td><p>Array(Array(9*float))</p> <td><p>Additional indexed lattices (orientation variants); present only if found</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>data_collection_efficiency_image</p> <td><p>Array(float)</p> <td><p>Per-image data collection efficiency. Missing values are encoded as 0 or 1 depending on producer context</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_count</p> <td><p>Array(int32)</p> <td><p>Per-image spot count</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>spot_count_ice_ring</p> <td><p>Array(int32)</p> <td><p>Per-image number of spots within identified ice-ring resolution ranges</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>spot_count_low_res</p> <td><p>Array(int32)</p> <td><p>Per-image number of low-resolution spots</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>spot_count_indexed</p> <td><p>Array(int32)</p> <td><p>Per-image number of spots fitting indexing solution</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>image_indexed</p> <td><p>Array(uint8)</p> <td><p>Per-image indexing result; 0 = not indexed, nonzero = indexed</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>v_bkg_estimate</p> <td><p>Array(float)</p> <td><p>Per-image background estimate</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>ice_ring_score</p> <td><p>Array(float)</p> <td><p>Per-image strongest ice-ring intensity over the smooth radial background (1 = no ice)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>spot_count_ice_control</p> <td><p>Array(float)</p> <td><p>Per-image spot count in the ice-free flanks beside the hexagonal rings, rescaled to the ring bands q width</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>ice_ring_score_mean</p> <td><p>float</p> <td><p>Mean ice-ring score for the whole run (1 = no ice)</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>profile_radius</p> <td><p>Array(float)</p> <td><p>Per-image profile radius [Angstrom^-1]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>mosaicity</p> <td><p>Array(float)</p> <td><p>Per-image mosaicity [degree]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>bFactor</p> <td><p>Array(float)</p> <td><p>Per-image estimated B-factor [Angstrom^2]</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>resolution_estimate</p> <td><p>Array(float)</p> <td><p>Per-image diffraction resolution estimate [Angstrom]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>min_viable_pixel_value</p> <td><p>Array(int64)</p> <td><p>Per-image minimum valid pixel value, excluding error/saturated pixels</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>max_viable_pixel_value</p> <td><p>Array(int64)</p> <td><p>Per-image maximum valid pixel value, excluding error/saturated pixels</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>saturated_pixel_count</p> <td><p>Array(int32)</p> <td><p>Per-image saturated pixel count</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>error_pixel_count</p> <td><p>Array(int32)</p> <td><p>Per-image error pixel count</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>image_scale_factor</p> <td><p>Array(float)</p> <td><p>Per-image scale factor, if scaling/merging was performed</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>integrated_reflections</p> <td><p>Array(int32)</p> <td><p>Per-image count of integrated reflections</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>indexed_lattice_count</p> <td><p>Array(int32)</p> <td><p>Per-image count of indexed lattices</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>niggli_class</p> <td><p>Array(uint8)</p> <td><p>Per-image Niggli class identifier for indexed images; 0 if unavailable</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>pixel_sum</p> <td><p>Array(int64)</p> <td><p>Per-image sum of all valid pixels, excluding error/saturated pixels</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>image_scale_mosaicity</p> <td><p>Array(float)</p> <td><p>Scaling result: Image scale mosaicity [deg]</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>image_scale_cc</p> <td><p>Array(float)</p> <td><p>Scaling result: Image scale CC</p> <td class=text-center ><p></p> </table> <p>End-message vector fields are optional. When present, they provide master-file summary data so readers can inspect scan-level and per-image analysis results without opening every linked data file. Missing optional per-image values are encoded by the producer as zero unless otherwise noted.</p> </section> <section id=calibration-message > <h2 id=calibration-message >Calibration message<a class=headerlink href="#calibration-message" title="Link to this heading"></a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Field name</p> <th class=head ><p>Type</p> <th class=head ><p>Description</p> <th class="head text-center"><p>Present in DECTRIS format</p> <tr class=row-even ><td><p>type</p> <td><p>String</p> <td><p>value “calibration”</p> <td class=text-center ><p></p> <tr class=row-odd ><td><p>magic_number</p> <td><p>uint64</p> <td><p>Number used to describe version of the Jungfraujoch data interface - to allow to detect inconsistency between sender and receiver</p> <td class=text-center ><p></p> <tr class=row-even ><td><p>data</p> <td><p>Map(string -&gt; Image)</p> <td><p>Calibration map (only single pedestal array per message)</p> <td class=text-center ><p></p> </table> </section> <section id=user-data > <h2 id=user-data >User data<a class=headerlink href="#user-data" title="Link to this heading"></a></h2> <p>In many cases there is an interest from facilities to forward more metadata, than available explicitly in the Jungfraujoch. For this reason two fields can be provided: <code class="docutils literal notranslate"><span class=pre >header_appendix</span></code> (sent with start message) and <code class="docutils literal notranslate"><span class=pre >image_appendix</span></code> (send with image message). To increase flexibility, both appendices can contain any valid JSON message. These appendices are serialized into string and stored in CBOR messages as <code class="docutils literal notranslate"><span class=pre >user_data</span></code>.</p> <p>Notably for start message, <code class="docutils literal notranslate"><span class=pre >user_data</span></code> can contain more information (non-DECTRIS compliant metadata). Therefore <code class="docutils literal notranslate"><span class=pre >user_data</span></code> is serialized by Jungfraujoch as CBOR object. There is member <code class="docutils literal notranslate"><span class=pre >user</span></code> which contains <code class="docutils literal notranslate"><span class=pre >header_appendix</span></code> defined in OpenAPI of Jungfraujoch.</p> <section id=notes-on-images-and-compression > <h3 id=notes-on-images-and-compression >Notes on images and compression<a class=headerlink href="#notes-on-images-and-compression" title="Link to this heading"></a></h3> <ul class=simple > <li><p>Images are encoded as DECTRIS MultiDimArray with typed array tags:</p> <ul> <li><p>For RGB: shape [3, height, width], type: u8</p> <li><p>For grayscale: shape [height, width], type according to bit depth and sign (e.g., uint16 LE)</p> </ul> <li><p>Compression:</p> <ul> <li><p>Uncompressed: raw CBOR byte string</p> <li><p>Bitshuffle+LZ4: tag with [“bslz4”, elem_size, bytes]</p> <li><p>Bitshuffle+Zstandard: tag with [“bszstd”, elem_size, bytes]</p> </ul> </ul> </section> <section id=notes-on-typed-arrays > <h3 id=notes-on-typed-arrays >Notes on typed arrays<a class=headerlink href="#notes-on-typed-arrays" title="Link to this heading"></a></h3> <p>Jungfraujoch uses RFC 8746-style typed byte-string tags for compact numeric arrays.</p> <p>Common tags used in this protocol include:</p> <ul class=simple > <li><p>float32 little-endian arrays for <code class="docutils literal notranslate"><span class=pre >Array(float)</span></code></p> <li><p>uint8 arrays for compact boolean/integer flags such as <code class="docutils literal notranslate"><span class=pre >image_indexed</span></code></p> <li><p>int32 little-endian arrays for per-image counts</p> <li><p>int64 little-endian arrays for large per-image integer values</p> <li><p>uint64 little-endian arrays for histograms</p> </ul> </section> </section> </section> </article> </div> </div> </main> </div> <footer class=md-footer > <div class=md-footer-nav > <nav class="md-footer-nav__inner md-grid"> <a href=OPENAPI_SPECS.html title="OpenAPI specification" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev > <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis > <span class=md-footer-nav__direction > "Previous" </span> OpenAPI specification </span> </div> </a> <a href=HDF5.html title="HDF5 / NeXus data format" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next > <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"><span class=md-flex__ellipsis > <span class=md-footer-nav__direction > "Next" </span> HDF5 / NeXus data format </span> </div> <div class="md-flex__cell md-flex__cell--shrink"><i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright > <div class=md-footer-copyright__highlight > &#169; Copyright 2024, Paul Scherrer Institute. </div> Created using <a href="http://www.sphinx-doc.org/">Sphinx</a> 8.1.3. and <a href="https://github.com/bashtage/sphinx-material/">Material for Sphinx</a> </div> </div> </div> </footer> <script src="_static/javascripts/application.js"></script> <script>app.initialize({version: "1.0.4", url: {base: ".."}})</script>