1 line
30 KiB
HTML
1 line
30 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>CPU-side crystallographic data analysis (Jungfraujoch) — Jungfraujoch 1.0.0-rc.174 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=3dccfb20"></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="Data analysis: from images to spots (§0–§3)" href=CPU_DATA_ANALYSIS_IMAGE.html /> <link rel=prev title="Detector calibration from powder rings (rugnux --mode calibration)" href=RUGNUX_CALIBRATION.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="#CPU_DATA_ANALYSIS" 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.174 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 > CPU-side crystallographic data analysis (Jungfraujoch) </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.174 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.174 documentation" class="md-nav__button md-logo"> <i class=md-icon ></i> </a> <a href=index.html title="Jungfraujoch 1.0.0-rc.174 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 >rugnux — data processing</span></span> <li class=md-nav__item > <a href=RUGNUX.html class=md-nav__link >Rugnux</a> <li class=md-nav__item > <a href=RUGNUX_OVERVIEW.html class=md-nav__link >What Rugnux does</a> <li class=md-nav__item > <a href=RUGNUX_INSTALL.html class=md-nav__link >Installing Rugnux</a> <li class=md-nav__item > <a href=RUGNUX_FORMATS.html class=md-nav__link >What Rugnux reads</a> <li class=md-nav__item > <a href=RUGNUX_TUTORIAL.html class=md-nav__link >Running Rugnux</a> <li class=md-nav__item > <a href=RUGNUX_INTEGRATION.html class=md-nav__link >Rugnux with other programs</a> <li class=md-nav__item > <a href=RUGNUX_REPORT.html class=md-nav__link >The results report</a> <li class=md-nav__item > <a href=RUGNUX_ADVANCED.html class=md-nav__link >Advanced Rugnux</a> <li class=md-nav__item > <a href=RUGNUX_CALIBRATION.html class=md-nav__link >Detector calibration from powder rings (<code class="docutils literal notranslate"><span class=pre >rugnux</span> <span class=pre >--mode</span> <span class=pre >calibration</span></code>)</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 > CPU-side crystallographic data analysis (Jungfraujoch) </label> <a href="#" class="md-nav__link md-nav__link--active">CPU-side crystallographic data analysis (Jungfraujoch)</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="#references" class=md-nav__link >References</a> </ul> <li class=md-nav__item > <a href=CPU_DATA_ANALYSIS_IMAGE.html class=md-nav__link >Data analysis: from images to spots (§0–§3)</a> <li class=md-nav__item > <a href=CPU_DATA_ANALYSIS_INDEXING.html class=md-nav__link >Data analysis: indexing and geometry (§4–§7)</a> <li class=md-nav__item > <a href=CPU_DATA_ANALYSIS_INTEGRATION.html class=md-nav__link >Data analysis: integration, scaling and merging (§8–§12)</a> <li class=md-nav__item > <a href=CPU_DATA_ANALYSIS_DECISIONS.html class=md-nav__link >Data analysis: space group and validation (§13–§14)</a> <li class=md-nav__item > <span class="md-nav__link caption"><span class=caption-text >Jungfraujoch — acquisition</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=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 > <a href=DEPLOYMENT.html class=md-nav__link >Deployment</a> <li class=md-nav__item > <a href=DETECTORS.html class=md-nav__link >Supported 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 > <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=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=PYTHON_CLIENT.html class=md-nav__link >OpenAPI Python client</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 >Project</span></span> <li class=md-nav__item > <a href=ACKNOWLEDGEMENT.html class=md-nav__link >Acknowledgements</a> <li class=md-nav__item > <a href=EXTERNAL_TEST_DATA.html class=md-nav__link >External test data</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=VERSIONING.html class=md-nav__link >Semantic versioning</a> <li class=md-nav__item > <a href=SECURITY.html class=md-nav__link >Security</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> </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=cpu-side-crystallographic-data-analysis-jungfraujoch > <h1 id=cpu-data-analysis--page-root >CPU-side crystallographic data analysis (Jungfraujoch)<a class=headerlink href="#cpu-data-analysis--page-root" title="Link to this heading">¶</a></h1> <p>This document describes the crystallographic algorithms implemented in Jungfraujoch for <strong>CPU</strong>- and <strong>GPU</strong>-side real‑time and near‑real‑time data analysis.</p> <p><strong>Scope.</strong> The pipeline covered here comprises:</p> <ol class="arabic simple"> <li><p>geometry mapping and corrections,</p> <li><p>azimuthal integration (powder/radial profiles),</p> <li><p>Bragg spot finding (strong pixels → connected components → spot descriptors),</p> <li><p>indexing (still and rotation modes),</p> <li><p>Bravais lattice / centering inference,</p> <li><p>geometry and lattice refinement,</p> <li><p>reflection prediction (still and rotation),</p> <li><p>Bragg integration by either 2D box summation or profile fitting (Kabsch, reference-free),</p> <li><p>scaling and merging,</p> <li><p>merge-level error modelling, outlier rejection and the resolution cutoff,</p> <li><p>space-group determination from the merged intensities (Laue group, screw axes, glide planes, centering, the centre of symmetry), the twinning check and the translational pseudo-symmetry check,</p> <li><p>auxiliary statistics (Wilson plot, ⟨I/σ(I)⟩, CC1/2, CCref),</p> <li><p>amplitude estimation (French–Wilson) and R-free test-set flagging,</p> <li><p>optional model-based validation: rigid-body placement of a supplied model, R-free against it, sigma_A-weighted 2mFo−DFc / mFo−DFc electron-density maps, and an anomalous difference map with the strongest anomalous sites named.</p> </ol> <p>The reference is split into four parts, in pipeline order; the section numbers run continuously across them and are the ones the rest of the documentation cites.</p> <ul class=simple > <li><p><a class="reference internal" href=CPU_DATA_ANALYSIS_IMAGE.html ><span class="std std-doc">From images to spots (§0–§3)</span></a> — device-side decoding, geometry and reciprocal-space mapping, azimuthal integration, spot finding.</p> <li><p><a class="reference internal" href=CPU_DATA_ANALYSIS_INDEXING.html ><span class="std std-doc">Indexing and geometry refinement (§4–§7)</span></a> — FFT and fast-feedback indexing, the lattice search, geometry refinement, post-refinement and powder calibration.</p> <li><p><a class="reference internal" href=CPU_DATA_ANALYSIS_INTEGRATION.html ><span class="std std-doc">Prediction, integration, scaling and merging (§8–§12)</span></a> — reflection prediction, profile-fitted integration, scaling, merging, mosaicity and the auxiliary statistics.</p> <li><p><a class="reference internal" href=CPU_DATA_ANALYSIS_DECISIONS.html ><span class="std std-doc">Space group and validation (§13–§14)</span></a> — the space-group search, twinning and translational pseudo-symmetry, the resolution cutoff, diffraction anisotropy, and model-based validation.</p> </ul> <section id=references > <h2 id=references >References<a class=headerlink href="#references" title="Link to this heading">¶</a></h2> <p>The methods draw on, and in places reimplement, solutions from:</p> <ul class=simple > <li><p>W. Kabsch, “XDS”, <em>Acta Cryst.</em> <strong>D66</strong> (2010), 125–132 and related XDS papers (rotation geometry, partiality, scaling concepts).</p> <li><p>W. Kabsch, “Integration, scaling, space-group assignment and post-refinement”, <em>Acta Cryst.</em> <strong>D66</strong> (2010), 133–144 (mosaicity/partiality likelihood treatment; notation such as ζ and rotation factors).</p> <li><p>T. A. White et al., CrystFEL method papers (spot finding, three‑ring integration, serial/still diffraction processing concepts).</p> <li><p>J. Kieffer & J. P. Wright, “PyFAI: a Python library for high performance azimuthal integration on GPU”, <em>Powder Diffraction</em> <strong>28</strong> (2013), S339-S350 (detector geometry definition, azimuthal integration)</p> <li><p>I. Steller, R. Bolotovsky & M. G. Rossmann, “An algorithm for automatic indexing of oscillation images using Fourier analysis”, <em>J. Appl. Cryst.</em> <strong>30</strong> (1997), 1036-1040 (the projection/1D-FFT autoindexing algorithm of §5).</p> <li><p>H. Powell, “The Rossmann Fourier autoindexing algorithm in MOSFLM”, <em>Acta Cryst.</em> <strong>D55</strong> (1999), 1690-1695 (the MOSFLM implementation of it, whose practice is followed)</p> <li><p>P. Gasparotto, L. Barba, H.-C. Stadler et al., “TORO Indexer: a PyTorch-based indexing algorithm for kilohertz serial crystallography”, <em>J. Appl. Cryst.</em> <strong>57</strong> (2024), 931-944 (the algorithm of the <code class="docutils literal notranslate"><span class=pre >ffbidx</span></code> fast-feedback indexer, §4).</p> <li><p>I. Křivý & B. Gruber, “A unified algorithm for determining the reduced (Niggli) cell”, <em>Acta Cryst.</em> <strong>A32</strong> (1976), 297-298, and International Tables for Crystallography Vol. A, Table 9.2.5.1 (the Niggli reduction and the lattice-character table of §5.3/§6).</p> <li><p>J. E. Padilla & T. O. Yeates, “A statistic for local intensity differences: robustness to anisotropy and pseudo-centering and utility for detecting twinning”, <em>Acta Cryst.</em> <strong>D59</strong> (2003), 1124-1130 (the L test, §13.2).</p> <li><p>A. J. C. Wilson, “The probability distribution of X-ray intensities”, <em>Acta Cryst.</em> <strong>2</strong> (1949), 318-321, and E. R. Howells, D. C. Phillips & D. Rogers, “The probability distribution of X-ray intensities. II. Experimental investigation and the X-ray detection of centres of symmetry”, <em>Acta Cryst.</em> <strong>3</strong> (1950), 210-214 (the acentric and centric intensity distributions behind the centre-of-symmetry statistics of §13.1 and the Wilson outlier test of §13.3).</p> <li><p>W. H. Baur & D. Kassner, “The perils of Cc: comparing the frequencies of falsely assigned space groups with their general population”, <em>Acta Cryst.</em> <strong>B48</strong> (1992), 356-369 (writing the centrosymmetric group where the absences cannot decide the centre, §13.1).</p> <li><p>R. J. Read, P. D. Adams & A. J. McCoy, “Intensity statistics in the presence of translational noncrystallographic symmetry”, <em>Acta Cryst.</em> <strong>D69</strong> (2013), 176-183 (the native-Patterson detection of translational pseudo-symmetry, and the intensity modulation it produces, which the axial-zone screw-absence test scores against).</p> <li><p>A. Barty, R. A. Kirian, F. R. N. C. Maia et al., “Cheetah: software for high-throughput reduction and analysis of serial femtosecond X-ray diffraction data”, <em>J. Appl. Cryst.</em> <strong>47</strong> (2014), 1118-1131 (peakfinder8: the per-resolution-ring background statistics of §3.2).</p> <li><p>A. Hennequin, B. Couturier, V. V. Gligorov & L. Lacassagne, “SparseCCL: Connected Components Labeling and Analysis for sparse images”, DASIP 2019, 65-70 (the connected-component labelling of §3.4, used via ACTS/traccc).</p> <li><p>S. French & K. Wilson, “On the treatment of negative intensity observations”, <em>Acta Cryst.</em> <strong>A34</strong> (1978), 517-525 (Bayesian amplitude estimation from intensities), and CCP4’s ctruncate (C. Ballard & N. Stein), whose anisotropic Wilson prior §10.8 follows, cited through M. D. Winn et al., “Overview of the CCP4 suite and current developments”, <em>Acta Cryst.</em> <strong>D67</strong> (2011), 235-242.</p> <li><p>A. T. Brünger, “Free R value: a novel statistical quantity for assessing the accuracy of crystal structures”, <em>Nature</em> <strong>355</strong> (1992), 472-475 (R-free cross-validation).</p> <li><p>P. H. C. Eilers, “A perfect smoother”, <em>Anal. Chem.</em> <strong>75</strong> (2003), 3631-3636, after E. T. Whittaker, “On a new method of graduation”, <em>Proc. Edinburgh Math. Soc.</em> <strong>41</strong> (1923), 63-75 (the penalised smoother of the fulls’ per-frame scale, §10.6).</p> <li><p>R. A. Fisher, “Frequency distribution of the values of the correlation coefficient in samples from an indefinitely large population”, <em>Biometrika</em> <strong>10</strong> (1915), 507-521 (the z-transformation on which the correction surfaces’ held-out half-set CC1/2 is compared).</p> <li><p>M. Wojdyr, “GEMMI: A library for structural biology”, <em>J. Open Source Softw.</em> <strong>7</strong> (2022), 4200 (model / structure-factor / map machinery used in §14).</p> <li><p>J. P. Wright, “Experiences with GPU decompression for bitshuffle + LZ4 data”, HDF5 User Group meeting (2021), and <a class="reference external" href="https://github.com/jonwright/bslz4decoders">github.com/jonwright/bslz4decoders</a> (device-side decoding of bitshuffle+LZ4 images, §0).</p> <li><p>A. Thorn & G. M. Sheldrick, “ANODE: anomalous and heavy-atom density calculation”, <em>J. Appl. Cryst.</em> <strong>44</strong> (2011), 1285-1287 (anomalous difference density read at the model’s sites).</p> <li><p>R. Kahn, R. Fourme, A. Gadet, J. Janin, C. Dumas & D. Andre, “Macromolecular crystallography with synchrotron radiation: photographic data collection and polarization correction”, <em>J. Appl. Cryst.</em> <strong>15</strong> (1982), 330-337 (the azimuthal polarization factor of §2.2, applied to the azimuthal profile, the Bragg intensities and the ring background the beam-stop shadow test compares against).</p> <li><p>R. J. Read, “Improved Fourier coefficients for maps using phases from partial structures with errors”, <em>Acta Cryst.</em> <strong>A42</strong> (1986), 140-149 (the sigma_A formalism and the m, D weighting of the map coefficients of §14.4).</p> <li><p>A. Fokine & A. Urzhumtsev, “Flat bulk-solvent model: obtaining optimal parameters”, <em>Acta Cryst.</em> <strong>D58</strong> (2002), 1387-1392 (the flat bulk-solvent model, its optimal parameters and the range they are physically meaningful over, used when scaling a model to the data in §14).</p> <li><p>P. V. Afonine, R. W. Grosse-Kunstleve & P. D. Adams, “A robust bulk-solvent correction and anisotropic scaling procedure”, <em>Acta Cryst.</em> <strong>D61</strong> (2005), 850-855 (the grid search over that range that fits k_sol and b_sol, with the overall scale and anisotropic B refitted at each grid point).</p> <li><p>K. Shoemake, “Uniform Random Rotations”, in <em>Graphics Gems III</em>, ed. D. Kirk, Academic Press (1992), 124-132 (the uniform random rotations the model-fit null of §14.5 is built from).</p> <li><p>G. H. Golub & V. Pereyra, “The differentiation of pseudo-inverses and nonlinear least squares problems whose variables separate”, <em>SIAM J. Numer. Anal.</em> <strong>10</strong> (1973), 413-432, and L. Kaufman, “A variable projection method for solving separable nonlinear least squares problems”, <em>BIT</em> <strong>15</strong> (1975), 49-57 (the scale re-fit folded into the rigid-body Jacobian of §14.8).</p> <li><p>Z. Otwinowski & W. Minor, “Processing of X-ray diffraction data collected in oscillation mode”, <em>Methods Enzymol.</em> <strong>276</strong> (1997), 307-326 (reweighted, de-biased profile-fit variances).</p> <li><p>G. Winter et al., “DIALS: implementation and evaluation of a new integration package”, <em>Acta Cryst.</em> <strong>D74</strong> (2018), 85-97, and J. Beilsten-Edmands et al., <em>Acta Cryst.</em> <strong>D76</strong> (2020), 385-399 (CC1/2 resolution cutoff, merge outlier rejection, scaling error model).</p> <li><p>R. H. Blessing, “An empirical correction for absorption anisotropy”, <em>Acta Cryst.</em> <strong>A51</strong> (1995), 33-38 (absorption as spherical harmonics of the beam directions).</p> <li><p>P. Evans, “Scaling and assessment of data quality”, <em>Acta Cryst.</em> <strong>D62</strong> (2006), 72-82, and P. R. Evans, <em>Acta Cryst.</em> <strong>D67</strong> (2011), 282-292 (POINTLESS: operator-by-operator point-group scoring, and the axial-zone screw-absence test).</p> <li><p>A. G. W. Leslie & H. R. Powell, “Processing diffraction data with MOSFLM” (2007), NATO Science Series II <strong>245</strong>, 41-51 (post-refinement practice: what is refined per image and what over a wedge).</p> <li><p>D. W. Moreau, H. Atakisi & R. E. Thorne, “Ice in biomolecular cryocrystallography”, <em>Acta Cryst.</em> <strong>D77</strong> (2021), 540-554 (measured hexagonal-ice ring positions, used by the ice-ring score, the ice flagging and the ice calibrant).</p> <li><p>K. Röttger, A. Endriss, J. Ihringer, S. Doyle & W. F. Kuhs, “Lattice constants and thermal expansion of H2O and D2O ice Ih between 10 and 265 K”, <em>Acta Cryst.</em> <strong>B50</strong> (1994), 644-648 (the ice Ih cell the ring positions below 1.522 Å are calculated from).</p> <li><p>S. Sheriff & W. A. Hendrickson, “Description of overall anisotropy in diffraction from macromolecular crystals”, <em>Acta Cryst.</em> <strong>A43</strong> (1987), 118-121 (the overall anisotropic B tensor and its symmetry constraints), and A. N. Popov & G. P. Bourenkov, “Choice of data-collection parameters based on statistic modelling”, <em>Acta Cryst.</em> <strong>D59</strong> (2003), 1145-1153 (the sigma-aware estimation of the anisotropy of the observed intensity distribution, part of that paper’s statistic modelling).</p> <li><p>P. R. Evans & G. N. Murshudov, “How good are my data and what is the resolution?”, <em>Acta Cryst.</em> <strong>D69</strong> (2013), 1204-1214 (AIMLESS: the anisotropic deltaB as the range of the principal components, and diffraction limits from a cone about each principal direction).</p> <li><p>G. Assmann, W. Brehm & K. Diederichs, “Identification of rogue datasets in serial crystallography”, <em>J. Appl. Cryst.</em> <strong>49</strong> (2016), 1021-1028, and G. M. Assmann, M. Wang & K. Diederichs, <em>Acta Cryst.</em> <strong>D76</strong> (2020), 636-652 (XDSCC12: sigma-tau CC1/2, delta-CC1/2, the Fisher transformation and the rejection discipline the frame disposition follows).</p> <li><p>K. Diederichs & P. A. Karplus, <em>Nat. Struct. Biol.</em> <strong>4</strong> (1997), 269-275, and P. A. Karplus & K. Diederichs, <em>Science</em> <strong>336</strong> (2012), 1030-1033 (R_meas / R_pim, CC1/2 and CC*).</p> <li><p>IUCr Commission on Crystallographic Nomenclature, “Statistical descriptors in crystallography”, <em>Acta Cryst.</em> <strong>A45</strong> (1989), 63-75, and <em>Acta Cryst.</em> <strong>A51</strong> (1995), 565-569 (uncertainty conventions).</p> </ul> <p>(list is not exhaustive; the full citations, with DOIs, are in <a class="reference internal" href=ACKNOWLEDGEMENT.html ><span class="std std-doc">ACKNOWLEDGEMENT.md</span></a>)</p> </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=RUGNUX_CALIBRATION.html title="Detector calibration from powder rings (rugnux --mode calibration)" 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> Detector calibration from powder rings (<code class="docutils literal notranslate"><span class=pre >rugnux</span> <span class=pre >--mode</span> <span class=pre >calibration</span></code>) </span> </div> </a> <a href=CPU_DATA_ANALYSIS_IMAGE.html title="Data analysis: from images to spots (§0–§3)" 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> Data analysis: from images to spots (§0–§3) </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> |