{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2609-02126","title":"Scalable Bayesian Optimization of Composite Functions for Image-Based Inverse Problems in Materials Characterization","arxiv_id":"2609.02126","date":"2026-09-02","proceeding":null,"authors":["Dasol Yoon","Poompol Buathong","Chia-Hao Lee","Yujia Zhang","David A. Muller","Peter I. Frazier"],"abstract":"Estimating physical parameters from scientific images is a common inverse problem in materials characterization that often relies on expensive physics-based simulations. In electron microscopy, specimen thickness and crystal mistilt are critical parameters that govern how electrons scatter through the sample, and therefore the accuracy of any atomic-scale structure recovered from it. They are commonly inferred by matching experimental position-averaged convergent-beam electron diffraction (PACBED) patterns to simulated ones, but grid searches scale poorly and neural-network methods require extensive pretraining that may not transfer to new conditions. Here, we propose scalable Bayesian optimization of composite functions (SBOCF), a simulation-efficient method that exploits the known composite structure of the image-matching objective and the intermediate information contained in simulated images. By representing PACBED images with patch-level summaries and two correction terms, SBOCF preserves the original pixel-wise objective while reducing the number of modeled outputs from 24,649 to 11. Under a budget of 50 simulator evaluations, SBOCF outperformed standard Bayesian optimization with expected improvement on synthetic SrTiO3 benchmarks with thick and thin specimens, reducing the median final SSE by up to 290x in the thick-sample case. On experimental data, SBOCF produced parameter estimates consistent with previously reported values without task-specific pretraining. For a simulated mistilted specimen, using the SBOCF estimates in a downstream ptychographic reconstruction recovered sharp atoms that were otherwise blurred. These results establish SBOCF as a promising approach for inverse problems involving expensive simulators and high-dimensional structured outputs.","url_abs":"https://arxiv.org/abs/2609.02126","url_pdf":"https://arxiv.org/pdf/2609.02126","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2609.02126","atlas_url":"https://app.syntology.ai/?focus=2609.02126","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2609.02126"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/dasol-yoon/bott","reach":{"status":"ok"}}],"summary":{"unverified":12},"by_repo_kind":{"found_in_text":{"samples":12,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":12,"samples":[{"code_sha256_prefix":"8af5b00182642ca0","entry":"MSE","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/loss.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8af5b00182642ca0"}},{"code_sha256_prefix":"2b9ddb890123488d","entry":"NRMSE","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/loss.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b9ddb890123488d"}},{"code_sha256_prefix":"6ec342a24b69f84c","entry":"SSE","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/loss.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ec342a24b69f84c"}},{"code_sha256_prefix":"86f73091c6d7dc36","entry":"create_circular_mask","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/utils.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"86f73091c6d7dc36"}},{"code_sha256_prefix":"7ebaa123ce5254aa","entry":"get_long_tiles","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/reduction.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/reduction.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7ebaa123ce5254aa"}},{"code_sha256_prefix":"4bb0e359466110ae","entry":"get_square_tiles","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/reduction.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/reduction.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4bb0e359466110ae"}},{"code_sha256_prefix":"2efee2b09a765b8d","entry":"load_img","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/io.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/io.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2efee2b09a765b8d"}},{"code_sha256_prefix":"141a306ad6408572","entry":"load_npy","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/io.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/io.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"141a306ad6408572"}},{"code_sha256_prefix":"3d6cbf71a1efe83e","entry":"load_tif","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/io.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/io.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d6cbf71a1efe83e"}},{"code_sha256_prefix":"a19403c49d5f39c1","entry":"make_output_filenm","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/utils.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a19403c49d5f39c1"}},{"code_sha256_prefix":"d50e18be1214200b","entry":"quadrant_masks_from_inv","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/utils.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d50e18be1214200b"}},{"code_sha256_prefix":"7f9fa7c5ba518d1e","entry":"solve","repo":"dasol-yoon/bott","repo_kind":"found_in_text","path":"bott/optimization.py","file_url":"https://github.com/dasol-yoon/bott/blob/HEAD/bott/optimization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f9fa7c5ba518d1e"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_daily_20260903.json"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}