11 lines
63 KiB
HTML
11 lines
63 KiB
HTML
<!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>jfjoch_process — Jungfraujoch 1.0.0-rc.155 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=502bdfb1"></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=jfjoch_viewer href=JFJOCH_VIEWER.html /> <link rel=prev title=jfjoch_writer href=JFJOCH_WRITER.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="#JFJOCH_PROCESS" 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.155 documentation" class="md-header-nav__button md-logo"> <i class=md-icon ></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 > jfjoch_process </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 >  </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.155 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.155 documentation" class="md-nav__button md-logo"> <i class=md-icon ></i> </a> <a href=index.html title="Jungfraujoch 1.0.0-rc.155 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=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=REPOSITORIES.html class=md-nav__link >Linux package repositories</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 > <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 > jfjoch_process </label> <a href="#" class="md-nav__link md-nav__link--active">jfjoch_process</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="#where-it-fits-among-the-three-analysis-tools" class=md-nav__link >Where it fits among the three analysis tools</a> <li class=md-nav__item > <a href="#hardware" class=md-nav__link >Hardware</a> <li class=md-nav__item > <a href="#input-and-output" class=md-nav__link >Input and output</a> <li class=md-nav__item > <a href="#re-scaling-and-re-merging-jfjoch-scale" class=md-nav__link >Re-scaling and re-merging (<code class="docutils literal notranslate"><span class=pre >jfjoch_scale</span></code>)</a> <li class=md-nav__item > <a href="#quick-start" class=md-nav__link >Quick start</a> <li class=md-nav__item > <a href="#command-line-options" class=md-nav__link >Command-line options</a> </ul> <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 > <a href=CBOR.html class=md-nav__link >CBOR messages</a> <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-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/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/ColorScale.html" class=md-nav__link >ColorScale</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/DatasetSettingsUnitCell.html" class=md-nav__link >DatasetSettingsUnitCell</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-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/DetectorListDetectorsInner.html" class=md-nav__link >DetectorListDetectorsInner</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/GridPlot.html" class=md-nav__link >GridPlot</a> <li class=md-nav__item > <a href="python_client/docs/GridPlots.html" class=md-nav__link >GridPlots</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/GridScanResult.html" class=md-nav__link >GridScanResult</a> <li class=md-nav__item > <a href="python_client/docs/GridScanResultImagesInner.html" class=md-nav__link >GridScanResultImagesInner</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/JfjochBrokerApi.html" class=md-nav__link >jfjoch_client.JfjochBrokerApi</a> <li class=md-nav__item > <a href="python_client/docs/JfjochBrokerApi.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/JfjochSettings.html" class=md-nav__link >JfjochSettings</a> <li class=md-nav__item > <a href="python_client/docs/JfjochSettingsSsl.html" class=md-nav__link >JfjochSettingsSsl</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/PlotTypeEnum.html" class=md-nav__link >PlotTypeEnum</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/PreviewSettings.html" class=md-nav__link >PreviewSettings</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=jfjoch-process > <h1 id=jfjoch-process--page-root >jfjoch_process<a class=headerlink href="#jfjoch-process--page-root" title="Link to this heading">¶</a></h1> <p><code class="docutils literal notranslate"><span class=pre >jfjoch_process</span></code> is the <strong>offline</strong> crystallographic data-analysis tool of Jungfraujoch. It takes an existing HDF5 dataset, runs the full analysis pipeline — spot finding, indexing, geometry refinement, Bragg integration and (optionally) scaling and merging — and writes the results to a <code class="docutils literal notranslate"><span class=pre >_process.h5</span></code> file, plus reflection files (<code class="docutils literal notranslate"><span class=pre >.mtz</span></code>/<code class="docutils literal notranslate"><span class=pre >.cif</span></code>/<code class="docutils literal notranslate"><span class=pre >.hkl</span></code>) when merging is requested.</p> <p>It runs the <em>same</em> analysis code as the online and interactive tools, just driven from the command line over a file rather than a live detector stream.</p> <blockquote> <div><p><strong>Note.</strong> <code class="docutils literal notranslate"><span class=pre >jfjoch_process</span></code> is under very active development. This page describes the tool and its options at a high level; the authoritative, always-current list of options is the program’s own usage message — run <code class="docutils literal notranslate"><span class=pre >jfjoch_process</span></code> with no arguments.</p> </div></blockquote> <section id=where-it-fits-among-the-three-analysis-tools > <h2 id=where-it-fits-among-the-three-analysis-tools >Where it fits among the three analysis tools<a class=headerlink href="#where-it-fits-among-the-three-analysis-tools" title="Link to this heading">¶</a></h2> <table> <thead> <tr class=row-odd ><th class=head ><p>Tool</p> <th class=head ><p>Mode</p> <th class=head ><p>Driven by</p> <th class=head ><p>Output</p> <tr class=row-even ><td><p><a class="reference internal" href=JFJOCH_BROKER.html ><span class="std std-doc"><code class="docutils literal notranslate"><span class=pre >jfjoch_broker</span></code></span></a></p> <td><p>Online, real-time streaming analysis on FPGA + GPU</p> <td><p>HTTP/REST + ZeroMQ</p> <td><p>Live results and statistics, images streamed to <a class="reference internal" href=JFJOCH_WRITER.html ><span class="std std-doc"><code class="docutils literal notranslate"><span class=pre >jfjoch_writer</span></code></span></a></p> <tr class=row-odd ><td><p><a class="reference internal" href=JFJOCH_VIEWER.html ><span class="std std-doc"><code class="docutils literal notranslate"><span class=pre >jfjoch_viewer</span></code></span></a></p> <td><p>Interactive, on-screen exploration</p> <td><p>Qt desktop application</p> <td><p>Displayed on screen (results not saved to disk)</p> <tr class=row-even ><td><p><strong><code class="docutils literal notranslate"><span class=pre >jfjoch_process</span></code></strong></p> <td><p><strong>Offline batch processing of a stored dataset</strong></p> <td><p><strong>Command-line interface</strong></p> <td><p><strong><code class="docutils literal notranslate"><span class=pre >_process.h5</span></code>, and <code class="docutils literal notranslate"><span class=pre >.mtz</span></code>/<code class="docutils literal notranslate"><span class=pre >.cif</span></code>/<code class="docutils literal notranslate"><span class=pre >.hkl</span></code> when merging</strong></p> </table> <p>Use <code class="docutils literal notranslate"><span class=pre >jfjoch_process</span></code> to re-analyse data after acquisition, to experiment with processing parameters, or to produce merged intensities for downstream structure solution.</p> </section> <section id=hardware > <h2 id=hardware >Hardware<a class=headerlink href="#hardware" title="Link to this heading">¶</a></h2> <p>As with the rest of Jungfraujoch, <strong>serious performance requires an NVIDIA GPU</strong>. The CUDA build provides the GPU fast-feedback indexer (<code class="docutils literal notranslate"><span class=pre >ffbidx</span></code>) and the GPU FFT indexer (<code class="docutils literal notranslate"><span class=pre >fft</span></code>); without CUDA only the CPU <code class="docutils literal notranslate"><span class=pre >fftw</span></code> indexer is available. Spot finding, integration and scaling run on the CPU and scale with the thread count (<code class="docutils literal notranslate"><span class=pre >-N</span></code>).</p> </section> <section id=input-and-output > <h2 id=input-and-output >Input and output<a class=headerlink href="#input-and-output" title="Link to this heading">¶</a></h2> <p><strong>Input</strong> is a single Jungfraujoch HDF5 master file (NXmx-based). If the dataset already contains stored spot lists, two-pass rotation indexing can reuse them instead of re-running spot finding on the first pass.</p> <p><strong>Output</strong> (controlled by <code class="docutils literal notranslate"><span class=pre >-o,</span> <span class=pre >--output-prefix</span></code>, default <code class="docutils literal notranslate"><span class=pre >output</span></code>):</p> <ul class=simple > <li><p><code class="docutils literal notranslate"><span class=pre ><prefix>_process.h5</span></code> — NXmx-compliant HDF5 with derived metadata (spots, indexing, integration, azimuthal integration, per-image statistics). See <a class="reference internal" href=HDF5.html ><span class="std std-doc">HDF5 / NeXus data format</span></a> for the layout.</p> <li><p>When merging (<code class="docutils literal notranslate"><span class=pre >-M</span></code>, or whenever a <code class="docutils literal notranslate"><span class=pre >--reference-mtz</span></code> is supplied), the merged reflections are written as <code class="docutils literal notranslate"><span class=pre ><prefix>.mtz</span></code> (default), or <code class="docutils literal notranslate"><span class=pre ><prefix>.cif</span></code> / <code class="docutils literal notranslate"><span class=pre ><prefix>.hkl</span></code> depending on <code class="docutils literal notranslate"><span class=pre >--scaling-output</span></code>. No-reference scaling additionally emits per-iteration <code class="docutils literal notranslate"><span class=pre ><prefix>_iterN_scale.dat</span></code>.</p> </ul> <p>Merged statistics (⟨I/σ⟩, CC1/2, completeness, …), the error model and timing are printed to the console.</p> </section> <section id=re-scaling-and-re-merging-jfjoch-scale > <h2 id=re-scaling-and-re-merging-jfjoch-scale >Re-scaling and re-merging (<code class="docutils literal notranslate"><span class=pre >jfjoch_scale</span></code>)<a class=headerlink href="#re-scaling-and-re-merging-jfjoch-scale" title="Link to this heading">¶</a></h2> <p>The companion tool <code class="docutils literal notranslate"><span class=pre >jfjoch_scale</span></code> re-scales and merges the <em>already-integrated</em> reflections stored in one or more <code class="docutils literal notranslate"><span class=pre >_process.h5</span></code> files, without re-running spot finding or integration. Use it to re-merge quickly with a different space group, partiality model, resolution limit or reference MTZ, or to combine several processed runs into one set of merged intensities.</p> </section> <section id=quick-start > <h2 id=quick-start >Quick start<a class=headerlink href="#quick-start" title="Link to this heading">¶</a></h2> <section id=rotation-data > <h3 id=rotation-data >Rotation data<a class=headerlink href="#rotation-data" title="Link to this heading">¶</a></h3> <p>Two-pass rotation indexing, rotation partiality, scale and merge in space group 96:</p> <div class="highlight-default notranslate"><div class=highlight ><pre><span></span><span class=n >jfjoch_process</span> <span class=n >rotation_master</span><span class=o >.</span><span class=n >h5</span> \
|
||
<span class=o >-</span><span class=n >o</span> <span class=n >lyso_rot</span> <span class=o >-</span><span class=n >N</span> <span class=mi >16</span> \
|
||
<span class=o >-</span><span class=n >R</span> <span class=o >-</span><span class=n >S</span> <span class=mi >96</span> \
|
||
<span class=o >-</span><span class=n >M</span> <span class=o >-</span><span class=n >P</span> <span class=n >rot</span>
|
||
</pre></div> </div> <p><code class="docutils literal notranslate"><span class=pre >-R</span></code> runs the two-pass rotation indexer (index the sweep once, then process every frame against that lattice); <code class="docutils literal notranslate"><span class=pre >-P</span> <span class=pre >rot</span></code> selects the rotation partiality model; <code class="docutils literal notranslate"><span class=pre >-M</span></code> scales and merges. For strong rotation data the de-novo FFT indexer often indexes more frames — add <code class="docutils literal notranslate"><span class=pre >-X</span> <span class=pre >fft</span></code> (and drop <code class="docutils literal notranslate"><span class=pre >-C</span></code> to let it find the cell from scratch).</p> </section> <section id=still-serial-data > <h3 id=still-serial-data >Still / serial data<a class=headerlink href="#still-serial-data" title="Link to this heading">¶</a></h3> <p>Known-cell indexing of independent stills with the GPU fast-feedback indexer, then merge against a reference structure:</p> <div class="highlight-default notranslate"><div class=highlight ><pre><span></span><span class=n >jfjoch_process</span> <span class=n >serial_master</span><span class=o >.</span><span class=n >h5</span> \
|
||
<span class=o >-</span><span class=n >o</span> <span class=n >lyso_serial</span> <span class=o >-</span><span class=n >N</span> <span class=mi >16</span> \
|
||
<span class=o >-</span><span class=n >X</span> <span class=n >ffbidx</span> <span class=o >-</span><span class=n >C</span> <span class=mi >79</span><span class=p >,</span><span class=mi >79</span><span class=p >,</span><span class=mi >38</span><span class=p >,</span><span class=mi >90</span><span class=p >,</span><span class=mi >90</span><span class=p >,</span><span class=mi >90</span> <span class=o >-</span><span class=n >S</span> <span class=mi >96</span> \
|
||
<span class=o >--</span><span class=n >spot</span><span class=o >-</span><span class=n >sigma</span> <span class=mi >4</span> \
|
||
<span class=o >-</span><span class=n >M</span> <span class=o >-</span><span class=n >z</span> <span class=n >reference</span><span class=o >.</span><span class=n >mtz</span> <span class=o >-</span><span class=n >r</span> <span class=n >pixelrefine</span> \
|
||
<span class=o >--</span><span class=n >scaling</span><span class=o >-</span><span class=n >high</span><span class=o >-</span><span class=n >resolution</span> <span class=mf >1.8</span>
|
||
</pre></div> </div> <p><code class="docutils literal notranslate"><span class=pre >ffbidx</span></code> requires a known cell (<code class="docutils literal notranslate"><span class=pre >-C</span></code>) and is the indexer of choice for sparse serial stills. <code class="docutils literal notranslate"><span class=pre >-r</span> <span class=pre >pixelrefine</span></code> selects the experimental reference-driven still integrator (needs <code class="docutils literal notranslate"><span class=pre >--reference-mtz</span></code>). For weak serial data, tightening spot finding with <code class="docutils literal notranslate"><span class=pre >--spot-sigma</span> <span class=pre >4</span></code> typically raises the indexing rate substantially.</p> </section> </section> <section id=command-line-options > <h2 id=command-line-options >Command-line options<a class=headerlink href="#command-line-options" title="Link to this heading">¶</a></h2> <p>General:</p> <table> <thead> <tr class=row-odd ><th class=head ><p>Option</p> <th class=head ><p>Description</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-o,</span> <span class=pre >--output-prefix</span> <span class=pre ><txt></span></code></p> <td><p>Output file prefix (default: <code class="docutils literal notranslate"><span class=pre >output</span></code>)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-N,</span> <span class=pre >--threads</span> <span class=pre ><num></span></code></p> <td><p>Number of worker threads (default: 1)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-s,</span> <span class=pre >--start-image</span> <span class=pre ><num></span></code></p> <td><p>First image to process (default: 0)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-e,</span> <span class=pre >--end-image</span> <span class=pre ><num></span></code></p> <td><p>Last image to process (default: all)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-t,</span> <span class=pre >--stride</span> <span class=pre ><num></span></code></p> <td><p>Process every <em>n</em>-th image (default: 1)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-v,</span> <span class=pre >--verbose</span></code></p> <td><p>Verbose output</p> </table> <p>Spot finding:</p> <table> <thead> <tr class=row-odd ><th class=head ><p>Option</p> <th class=head ><p>Description</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--spot-sigma</span> <span class=pre ><num></span></code></p> <td><p>Noise sigma level for spot finding (default: 3.0)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--spot-threshold</span> <span class=pre ><num></span></code></p> <td><p>Photon-count threshold for spot finding (default: 10)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--spot-high-resolution</span> <span class=pre ><num></span></code></p> <td><p>High-resolution limit for spot finding, Å (default: 1.5)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--max-spots</span> <span class=pre ><num></span></code></p> <td><p>Maximum spot count (default: 250)</p> </table> <p>Indexing:</p> <table> <thead> <tr class=row-odd ><th class=head ><p>Option</p> <th class=head ><p>Description</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-X,</span> <span class=pre >--indexing-algorithm</span> <span class=pre ><txt></span></code></p> <td><p><code class="docutils literal notranslate"><span class=pre >FFBIDX</span></code> | <code class="docutils literal notranslate"><span class=pre >FFT</span></code> | <code class="docutils literal notranslate"><span class=pre >FFTW</span></code> | <code class="docutils literal notranslate"><span class=pre >Auto</span></code> | <code class="docutils literal notranslate"><span class=pre >None</span></code></p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-C,</span> <span class=pre >--unit-cell</span> <span class=pre ><cell></span></code></p> <td><p>Reference unit cell <code class="docutils literal notranslate"><span class=pre >"a,b,c,alpha,beta,gamma"</span></code> (required by <code class="docutils literal notranslate"><span class=pre >ffbidx</span></code>)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-S,</span> <span class=pre >--space-group</span> <span class=pre ><num></span></code></p> <td><p>Space group number (used for indexing and scaling)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-r,</span> <span class=pre >--refine</span> <span class=pre ><txt></span></code></p> <td><p>Geometry refinement: <code class="docutils literal notranslate"><span class=pre >none</span></code> | <code class="docutils literal notranslate"><span class=pre >orientation</span></code> | <code class="docutils literal notranslate"><span class=pre >beam_and_lattice</span></code> (default) | <code class="docutils literal notranslate"><span class=pre >pixelrefine</span></code></p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-R,</span> <span class=pre >--two-pass-rotation[=num]</span></code></p> <td><p>Two-pass offline rotation indexing (optional image count, default 30)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--single-pass-rotation[=num]</span></code></p> <td><p>Online-like single-pass rotation indexing (optional min angular range, deg)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--redo-rotation-spots</span></code></p> <td><p>Redo spot finding for the two-pass rotation first pass</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--force-rotation-lattice</span> <span class=pre ><vec></span></code></p> <td><p>Force rotation lattice (9 floats, Å), skipping the first pass</p> </table> <p>Indexer choice in brief: <code class="docutils literal notranslate"><span class=pre >ffbidx</span></code> (GPU) refines toward a <strong>known cell</strong> and is best for sparse serial stills; <code class="docutils literal notranslate"><span class=pre >fft</span></code> (GPU) / <code class="docutils literal notranslate"><span class=pre >fftw</span></code> (CPU) index <strong>de novo</strong> and suit strong rotation data. See the <a class="reference internal" href=CPU_DATA_ANALYSIS.html ><span class="std std-doc">CPU/GPU data-analysis reference</span></a> for the algorithms.</p> <p>Scaling and merging:</p> <table> <thead> <tr class=row-odd ><th class=head ><p>Option</p> <th class=head ><p>Description</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-M,</span> <span class=pre >--scale-merge</span></code></p> <td><p>Scale and merge</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-P,</span> <span class=pre >--partiality</span> <span class=pre ><txt></span></code></p> <td><p>Partiality model: <code class="docutils literal notranslate"><span class=pre >fixed</span></code> (default) | <code class="docutils literal notranslate"><span class=pre >rot</span></code> | <code class="docutils literal notranslate"><span class=pre >unity</span></code></p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-A,</span> <span class=pre >--anomalous</span></code></p> <td><p>Anomalous mode (keep Friedel pairs separate)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >-B,</span> <span class=pre >--refine-bfactor</span></code></p> <td><p>Refine a per-image B-factor</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-w,</span> <span class=pre >--wedge[=num]</span></code></p> <td><p>Refine the per-image rotation wedge (optional starting value)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--scaling-high-resolution</span> <span class=pre ><num></span></code></p> <td><p>High-resolution limit for scaling, Å (default: no limit)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--min-partiality</span> <span class=pre ><num></span></code></p> <td><p>Minimum partiality to accept a reflection (default: 0.02)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--reject-outliers</span> <span class=pre ><num></span></code></p> <td><p>Per-observation outlier rejection, N σ from the per-reflection median (default: off)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--reject-delta-cchalf</span> <span class=pre ><num></span></code></p> <td><p>Drop images with ΔCC1/2 below mean − N·stddev (default: off)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--min-image-cc</span> <span class=pre ><num></span></code></p> <td><p>Per-image CC limit, percent (default: no limit)</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--scaling-iterations</span> <span class=pre ><num></span></code></p> <td><p>Scaling iterations with no reference data (default: 3)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--scaling-output</span> <span class=pre ><txt></span></code></p> <td><p>Reflection output format: <code class="docutils literal notranslate"><span class=pre >mtz</span></code> (default) | <code class="docutils literal notranslate"><span class=pre >cif</span></code> | <code class="docutils literal notranslate"><span class=pre >txt</span></code></p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >-z,</span> <span class=pre >--reference-mtz</span> <span class=pre ><file></span></code></p> <td><p>Reference MTZ (enables reference-driven scaling)</p> </table> <p>Pixel refinement (experimental; select with <code class="docutils literal notranslate"><span class=pre >-r</span> <span class=pre >pixelrefine</span></code>, requires <code class="docutils literal notranslate"><span class=pre >--reference-mtz</span></code>):</p> <table> <thead> <tr class=row-odd ><th class=head ><p>Option</p> <th class=head ><p>Description</p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--bandwidth</span> <span class=pre ><num></span></code></p> <td><p>Relative X-ray bandwidth FWHM (e.g. <code class="docutils literal notranslate"><span class=pre >0.01</span></code> for a 1% DMM); default from file or 0 (monochromatic)</p> <tr class=row-odd ><td><p><code class="docutils literal notranslate"><span class=pre >--integration-radius</span> <span class=pre ><r></span></code></p> <td><p>Signal-box radius <code class="docutils literal notranslate"><span class=pre >r1</span></code>, or <code class="docutils literal notranslate"><span class=pre >r1,r2,r3</span></code> (px). One value ⇒ <code class="docutils literal notranslate"><span class=pre >r2=r1+2</span></code>, <code class="docutils literal notranslate"><span class=pre >r3=r1+4</span></code></p> <tr class=row-even ><td><p><code class="docutils literal notranslate"><span class=pre >--profile-multiplier</span> <span class=pre ><num></span></code></p> <td><p>Scale the measured tangential profile width (default: 6; XDS-style generous aperture)</p> </table> </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=JFJOCH_WRITER.html title=jfjoch_writer 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> jfjoch_writer </span> </div> </a> <a href=JFJOCH_VIEWER.html title=jfjoch_viewer 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> jfjoch_viewer </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 > © 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> |