{"id":"141c8843-876f-42d5-9ff5-ec41a0cc654e","arxiv_id":"2504.16446","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"low","formal_verification":"none","parameter_count":0,"one_line_summary":"Mumott is a new open-source Python package that reconstructs multi-modal tensor tomography data from SAXS and WAXS experiments with CPU/GPU acceleration.","lead":"A research team released Mumott, an open-source Python package that reconstructs 3D maps of nanoscale material orientation from X-ray scattering tensor tomography data. The package bundles previously scattered algorithms into one GPU-accelerated tool with an object-oriented design, aiming to lower the technical barrier for synchrotron users.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"WAXS support may rely on the small-angle approximation in Eq. (1) without quantifying the error at wide scattering angles.","rationale":"The reader's weakest assumption identifies the same load-bearing concern: WAXS support in Mumott is built on a forward model that includes a small-angle approximation, and the paper does not quantify its error at wide angles. This is central because the abstract and introduction explicitly claim WAXS capability, and Eq. (3) propagates any error in the scattering-vector direction into the reconstruction. The paper is otherwise strong: the methodology is clearly presented, the code is public and documented, benchmark timings are reported, and the alignment workflows are demonstrated on real data. The unresolved question is whether the WAXS mode is physically accurate at the angles where WAXS operates. The recommended resolution is to add a validation experiment or an explicit statement that the exact form of Eq. (1) is implemented. Since the reader already recommended a conditional verdict, my stress-test does not change the verdict; it reinforces the condition with a concrete test that would settle the question.","tokens_in":16891,"tokens_out":4593,"duration_ms":50159,"concrete_test":"Inspect the Mumott source code (e.g., the BasisSet or Geometry methods that compute reciprocal-space unit vectors) to determine whether q_hat includes the -sinθ p term from Eq. (1). Then run a synthetic WAXS tensor tomography test: generate data from a known anisotropic 2D-RSM at 2θ = 30° using the exact q_hat, reconstruct with Mumott using the geometry as implemented, and compare the recovered principal orientation to the ground truth. If the orientation error exceeds the angular resolution of the basis set, the small-angle approximation is a real limitation for WAXS; if the implementation is exact, the concern is resolved.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The paper's central claim is that Mumott supports both SAXS and WAXS tensor tomography. However, the forward model in Eq. (1) contains an explicit small-angle approximation, q_hat(φ) ≈ cosφ q0 + sinφ q90, which drops the -sinθ p term. This approximation is labelled 'valid for small scattering angles.' The paper does not state whether the implementation uses this approximate form or the exact form, nor does it quantify the error for WAXS angles. At 2θ = 30° (θ = 15°), the neglected term has magnitude sinθ = 0.26, so the modelled q direction differs from the true scattering vector by about 15°; at 2θ = 60° the error approaches 30°. Since Eq. (3) builds every basis-function integral B_{sc,i} on the chosen q_hat(φ), a systematic error in q_hat propagates directly into the system matrix A and biases reconstructed orientation tensors and derived quantities such as the second-moment tensor and fractional anisotropy. If the code uses the approximate form, WAXS reconstructions at large angles are not physically correct and the 'WAXS' claim in the abstract and introduction is unsupported. If the code uses the exact form, the paper should say so; the currently ambiguous presentation leaves the reader unable to assess the validity of the WAXS mode.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper introduces Mumott, an open-source Python package for the reconstruction of small- and wide-angle X-ray scattering tensor tomography (SAXS/WAXS-TT) data. The central methodological content is a linear forward model I = Ac, built from a projection operator P and basis-function integrals B over azimuthally regrouped detector segments; the inverse problem is posed as a regularized minimization. The paper describes the object-oriented architecture, four basis-set types (spherical harmonics, nearest neighbours, Gaussian kernels, zonal harmonics), several reconstruction pipelines (SIRT, MITRA, SIGTT, DD, MOTR, RADTT), alignment tools, and CPU/GPU implementations, and reports runtime benchmarks on a single-q dataset. The stated goal is to lower the adoption barrier for tensor tomography by providing a generally available, efficient, and extensible software framework.","tokens_in":17102,"tokens_out":5849,"duration_ms":61248,"significance":"If the package performs as claimed, it would be a genuinely useful community resource: it unifies previously scattered algorithms in one framework, supports CPU and GPU execution, is released under an open licence with online documentation, and reports a transparent benchmark protocol (10 runs, first run discarded, hardware specified, relative uncertainties under 5%). The forward-model mathematics in Eqs. (1)-(8) is standard and clearly presented, and the paper correctly emphasizes the non-factorizability of the tensor-tomography system matrix, which distinguishes it from simpler multimodal tomography. The main open questions concern the validity of the WAXS mode, the absence of quantitative accuracy validation, and the unsubstantiated comparison with previous implementations; these issues are addressable in revision and do not, at this stage, appear to invalidate the underlying design.","major_comments":[{"comment":"Eq. (1) presents both an exact expression for the normalized scattering vector and a small-angle approximation that drops the -sin(2θ/2)p̂ term. Since the abstract and introduction advertise WAXS support, the paper must state explicitly which form is evaluated in the BasisSet integrals of Eq. (3). If the approximate form is used, the error is not negligible at wide angles: for 2θ = 30° the modelled direction differs from the true scattering-vector direction by about 15°, and at 2θ = 60° by about 30°; because every B_{sc,i} and hence the system matrix A in Eq. (7) is built on ˆq(φ), this systematic error biases reconstructed orientation tensors and derived quantities such as the second-moment tensor and fractional anisotropy. If the exact form is used, the text should say so explicitly and relegate the small-angle form to a clearly labelled optional approximation. As written, the reader cannot determine whether the advertised WAXS mode is physically correct.","section":"II, Eq. (1)"},{"comment":"The opening sentence of Section III F claims that 'The computational resources required to perform reconstructions in Mumott are modest compared to previous implementations,' but Table V reports only Mumott's own runtimes and contains no comparison with any prior implementation, such as the algorithms of Refs. 19-23. Either provide a direct quantitative comparison on identical data and, if possible, identical hardware, or quote published timings from the earlier implementations; otherwise this comparative claim is unsupported and should be softened.","section":"III F, Table V"},{"comment":"The paper demonstrates runtime performance and shows qualitative reconstructions, but it contains no quantitative validation of reconstruction accuracy: there is no phantom or simulated dataset with a known orientation field, no error metrics (e.g., angular error of the principal direction, fractional-anisotropy error, or residuals against a reference solution), and no comparison with the output of the original implementations of the cited algorithms. For a package that implements several inversion pipelines (SIRT, MITRA, SIGTT, DD, MOTR, RADTT), a simulated-data validation would establish that the implemented forward model and solvers are correct. Please add such a test, or explicitly state that the accuracy of each pipeline was already established in the cited papers and point to the relevant figures and datasets.","section":"III F and Fig. 3"}],"minor_comments":[{"comment":"The notation cos(2θ/2) and sin(2θ/2) is awkward and invites confusion; writing cosθ and sinθ directly would be clearer.","section":"II, Eq. (1)"},{"comment":"In Eq. (10), the left-hand side uses the symbol f, which is also used for the 2D reciprocal-space map in Eq. (2); a distinct symbol such as f̄ or I_iso would avoid confusion.","section":"III B, Eq. (10)"},{"comment":"The sentence 'The Projector objects depends on a Geometry object' contains a subject-verb agreement error and should read 'The Projector objects depend on a Geometry object'.","section":"III E 2"},{"comment":"The caption says 'The HPC GPU timings were obtained used an Nvidia A100 GPU'; 'obtained used' should be 'obtained using'.","section":"III F, Table V caption"},{"comment":"The text says SIGTT solves the optimization problem with 'LBFGS-B algorithms', while the code example in Table III uses an LBFGS optimizer; please clarify which optimizer is actually used in the SIGTT pipeline.","section":"III D 1"}],"recommendation":"major_revision","confidential_remarks":"The manuscript is within scope for a methods/software contribution in this journal. The key decision point is the WAXS forward-model ambiguity in Eq. (1); the authors should be asked to clarify whether the exact or approximate form is implemented and, if the latter, to quantify and correct the bias. The absence of quantitative accuracy validation should also be addressed before acceptance, as it bears directly on the central claim that Mumott provides correct reconstructions."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The thing to know about this paper is that it presents an actual, working, open-source package for tensor tomography reconstruction, with documentation, benchmarks, and a clean object-oriented design. That is a real contribution: it standardizes what has been a bespoke analysis workflow and should lower the barrier for synchrotron users. The forward model in Eqs. (1-8) is standard and clearly laid out, and the performance benchmarks are reported with hardware details and run-to-run statistics, which is more than many software papers bother to do.\n\nThe genuinely new parts are the package itself, the asynchronous GPU pipelines (MOTR, RADTT), the sparse John transform, and the modular architecture that lets advanced users swap basis sets, projectors, and regularizers. I credit that. The citation pattern is appropriate: self-citations point to previously published algorithms that the package implements, and the novelty is the integration, not the math.\n\nNow the soft spots. The WAXS support is the one I would want fixed before publication. Eq. (1) gives an exact expression for the scattering vector and then a small-angle approximation, but the text never says whether the implementation uses the exact form or the approximation. Eq. (3) builds every basis-function integral on q_hat(phi), so if the approximate form is used at large 2-theta, the system matrix is systematically wrong and the WAXS reconstructions are biased. The error is not negligible at WAXS angles. This is a real ambiguity, easily fixed by stating that the exact form is used, or by quantifying the approximation error. A related minor issue is the claim that resource requirements are \"modest compared to previous implementations\" without an actual comparison; that should either be backed up or softened. And the placeholder \"VX.X\" in Section III.B is a manuscript defect.\n\nMissing, but not fatal, is any ground-truth validation of reconstruction accuracy. The package implements known algorithms, so the accuracy story is largely inherited, but a simulated-data test would strengthen the paper. The authors themselves list synthetic data generation as future work, which is telling.\n\nOverall, the central claim—that Mumott is an efficient, usable framework for tensor tomography—is well supported. The WAXS issue is a genuine concern but it is addressable in revision. This paper is for anyone working in or entering the field of scattering tensor tomography. I would bring it to a reading group and I would cite it as the reference implementation. It deserves serious peer review, and I expect it to be accepted after moderate revision.","headline":"A solid software paper for SAXS/WAXS tensor tomography that deserves peer review; the main revision should clarify the WAXS forward model and substantiate the 'modest resources' claim.","tokens_in":17662,"tokens_out":1749,"would_cite":true,"duration_ms":19128,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"Mumott reconstructs voxel-wise reciprocal-space maps from SAXS and WAXS tensor tomography through the linear forward model $I=Ac$, with pluggable basis sets, projectors, and regularizers.","keywords":["tensor tomography","small-angle X-ray scattering","wide-angle X-ray scattering","reciprocal space map","tomographic reconstruction","Python package","GPU acceleration","synchrotron data analysis"],"falsifier":"Simulate or measure a polycrystalline sample with known preferred orientation at wide angles, for example $2\\theta$ beyond $10^\\circ$, reconstruct it twice—once with the current approximated detector geometry and once with the exact scattering-vector formula of Eq. (1)—and compare the recovered orientation axes and fractional anisotropy maps; any angular deviation larger than the detector-bin width would show the approximation is not safe for WAXS.","tokens_in":16688,"feed_emoji":"🧭","tokens_out":9568,"duration_ms":87370,"temperature":0.7,"pith_summary":"Small-angle and wide-angle X-ray scattering tensor tomography (SAXS/WAXS-TT) recover, in every voxel of a 3D sample, the direction-dependent scattering pattern of the nanostructure. The paper presents Mumott, a Python package that makes this reconstruction practical by casting it as one linear forward model, $I = Ac$, and by providing ready-made pipelines for alignment, reconstruction, and analysis. The central claim is that a single modular code base can serve both SAXS and WAXS tensor tomography with competitive speed on CPUs and GPUs. If that is right, synchrotron users can go from azimuthally regrouped scattering data to voxel-wise orientation maps without writing their own tomography algorithms.","feed_headline":"One linear model turns scattering data into 3D orientation maps","feed_subtitle":"The open-source package handles both SAXS and WAXS data with pluggable basis sets and fast GPU pipelines.","key_machinery":"The load-bearing object is the forward model of Eq. (7), $I = Ac$, whose block structure is $[P_{sjk,xyz}] \\otimes [B_{sc,i}]$ for each goniometer setting $s$. $P$ describes real-space beam-voxel overlap, computed with bilinear interpolation in the spirit of Joseph's method, and $B$ integrates each basis function over the azimuthal angular range of every detector segment, using the scattering-vector geometry $\\hat{q}(\\varphi) \\approx \\cos\\varphi\\,\\hat{q}_0 + \\sin\\varphi\\,\\hat{q}_{90}$. The same machinery computes residuals and gradients for all pipelines, while basis sets (spherical harmonics, nearest-neighbor indicators, Gaussian kernels, and zonal harmonics) and regularizers (Laplacian, total variation, $L^1$, $L^2$, Huber) are interchangeable.","core_discovery":"The discovery the paper reports is a software architecture, not a new physical effect: every supported reconstruction algorithm is an instance of the linear problem $I = Ac$, in which the data vector $I$ contains measured intensities per tomographic angle, scan position, and detector segment, and the coefficient vector $c$ holds the unknown expansion of each voxel's reciprocal-space map (RSM) shell in a chosen basis. The system matrix $A$ is assembled from projection weights $P_{sjk,xyz}$, which encode how each voxel overlaps the beam, and basis integrals $B_{sc,i}$, which encode how much each basis function scatters into each detector segment at each sample rotation. Because both factors depend on the sample orientation, $A$ is a Kronecker product $[P_s]\\otimes[B_s]$ that does not factorize into separate real-space and reciprocal-space parts. Mumott solves this inverse problem by residual computation $r = Ac - I$ together with pluggable loss functions, regularizers, and optimizers, and it reconstructs a full 3D RSM by stacking independently reconstructed $q$-shells.","pith_inferences":["The paper leaves implicit that the same architecture, with a different $B$ matrix, could ingest other directional modalities such as dark-field imaging or neutron grating interferometry without changing the projector or the solvers.","A test that would isolate the WAXS concern raised by Eq. (1) is to reconstruct simulated wide-angle data with both the approximate and the exact $\\hat{q}(\\varphi)$ geometry and compare recovered orientation axes; this comparison is not reported.","A natural further step from the outlook is joint reconstruction over several $q$-shells; the block structure of $A$ suggests this could be introduced as a block-diagonal coupling, which is not yet in the package."],"forward_implications":["Researchers can run a complete reconstruction from a single $q$-bin of azimuthally regrouped data through the MITRA pipeline after an alignment step, with no custom algorithm code.","The package's asynchronous GPU pipelines, including tensor SIRT, MOTR, and RADTT, make full reconstructions fast enough for parameter sweeps; benchmarked single-$q$ runs on a consumer GPU take on the order of 10 to 60 seconds depending on basis size and pipeline.","Users can compute standard analysis quantities, such as isotropic intensity, the rank-2 orientation tensor, and fractional anisotropy, directly from the coefficient vector $c^*$, avoiding dense evaluation of the RSM.","Because the framework separates data, geometry, projectors, basis sets, residual calculators, loss functions, and optimizers into interchangeable objects, new scattering modalities or regularization schemes can be added without rewriting the reconstruction core.","The same reconstruction recipe applies to WAXS data, so wide-angle scattering orientation information is handled by the same code path as SAXS."],"supporting_citations":[{"why":"Establishes the SAXS tensor tomography reconstruction model with zonal harmonics and an RSM, which Mumott's ZH workflow builds on.","marker":"[19]"},{"why":"Demonstrates six-dimensional real- and reciprocal-space SAXS tomography by splitting the problem into independent scalar reconstructions; the DD pipeline emulates this approach.","marker":"[20]"},{"why":"Supplies the robust reconstruction framework and basis-set comparisons on which the SIGTT pipeline and the validation logic rest.","marker":"[23]"},{"why":"Reports WAXS tensor tomography, providing evidence that wide-angle scattering can carry tensor orientation information and motivating Mumott's WAXS support.","marker":"[24]"},{"why":"Provides the optical flow alignment toolbox that Mumott's optical flow pipeline implements for correcting projection misalignment.","marker":"[39]"},{"why":"Details the zonal-harmonics coefficient-space implementation using Wigner D-matrices that allows high-order ZH expansions in Mumott.","marker":"[43]"},{"why":"Introduces Joseph's ray-driven bilinear interpolation method used for the projector's spatial overlap weights.","marker":"[50]"},{"why":"Supplies just-in-time compilation enabling the CPU and GPU kernels on which the performance claims depend.","marker":"[34]"}],"fun_headline_variants":["One linear model maps 3D nanostructures from SAXS/WAXS","Mumott: Python package for fast tensor tomography analysis","Unified linear framework for multi-modal tensor tomography","GPU-accelerated Python makes tensor tomography accessible","Scattering data to 3D orientation maps, one linear model"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The load-bearing premise is that the small-angle approximation in Eq. (1), which sets $\\cos(2\\theta/2)\\approx1$ and $\\sin(2\\theta/2)\\approx0$, stays accurate at the wide scattering angles where WAXS operates; the paper does not quantify the resulting error, so the WAXS reconstructions could carry a systematic geometric bias.","fun_headline_variants_meta":{"raw":{"variants":["One linear model maps 3D nanostructures from SAXS/WAXS","Mumott: Python package for fast tensor tomography analysis","Unified linear framework for multi-modal tensor tomography","GPU-accelerated Python makes tensor tomography accessible","Scattering data to 3D orientation maps, one linear model"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000274,"raw_usage":{"total_tokens":1634,"prompt_tokens":934,"completion_tokens":700,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":550,"completion_tokens_details":{"reasoning_tokens":617}},"tokens_in":550,"tokens_out":700,"duration_ms":7253,"temperature":1.0,"reasoning_tokens":617,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-16T11:02:44.464728+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Simulate or measure a polycrystalline sample with known preferred orientation at wide angles, for example $2\\theta$ beyond $10^\\circ$, reconstruct it twice—once with the current approximated detector geometry and once with the exact scattering-vector formula of Eq. (1)—and compare the recovered orientation axes and fractional anisotropy maps; any angular deviation larger than the detector-bin width would show the approximation is not safe for WAXS.","supporting_citations":[{"cited_title":"Schrauwen, R","cited_arxiv_id":null,"evidence_quote":"Establishes the SAXS tensor tomography reconstruction model with zonal harmonics and an RSM, which Mumott's ZH workflow builds on."},{"cited_title":"Stribeck, U","cited_arxiv_id":null,"evidence_quote":"Demonstrates six-dimensional real- and reciprocal-space SAXS tomography by splitting the problem into independent scalar reconstructions; the DD pipeline emulates this approach."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Supplies the robust reconstruction framework and basis-set comparisons on which the SIGTT pipeline and the validation logic rest."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Reports WAXS tensor tomography, providing evidence that wide-angle scattering can carry tensor orientation information and motivating Mumott's WAXS support."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Provides the optical flow alignment toolbox that Mumott's optical flow pipeline implements for correcting projection misalignment."},{"cited_title":"Kieffer, V","cited_arxiv_id":null,"evidence_quote":"Details the zonal-harmonics coefficient-space implementation using Wigner D-matrices that allows high-order ZH expansions in Mumott."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Introduces Joseph's ray-driven bilinear interpolation method used for the projector's spatial overlap weights."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Supplies just-in-time compilation enabling the CPU and GPU kernels on which the performance claims depend."}],"review_version":1}