Data · dataset · 2026
<b>Code for "A model-fitting perspective on the robustness and speed of CLASS in reflection matrix microscopy"</b>
Listed in ZivaHub and Deakin Research Online and DMU Figshare — shown once because both records carry DOI 10.6084/m9.figshare.33172871.v2
Description
<p dir="ltr">Python implementation of the pupil-phase solvers compared in the accompanying paper, <b>"A model-fitting perspective on the robustness and speed of CLASS in reflection matrix microscopy"</b>, together with the experiment runners that reproduce Figures 3 to 6 and the scripts that compose those figures.</p><p dir="ltr">The paper recasts CLASS as the solution of a model-fitting problem and identifies two specific features of that fit: <b>variable projection</b>, which eliminates the object spectrum from the fitted parameters, and <b>multiplicity weighting</b>, which favors the momentum-transfer groups resting on the most data.
This code is what puts that account to the test.</p><p dir="ltr"><b>Contents</b>: <code>rmm/</code> holds the solvers. CLASS maximizes the coherent-accumulation objective J, under either an Adam update or the established alternating direct update. The full and the reduced model fit instead minimize the least-squares loss L; the full model fit is run at two object learning rates, as full model fit I and II.
Read the rest (7 more)
The three carry the two features above in different combinations, and each adjacent pair differs in one feature only, so together they form a ladder that isolates what each feature contributes.</p><p dir="ltr"><code>experiments/</code> holds the runners behind Figures 3 to 6: the multiple-scattering sweep, the aberration sweep, the reduced-angular-sampling study with its object-learning-rate sweep, and the comparison of the two CLASS update rules; <code>figures/</code> composes the four figures from their outputs.
All of them share a single protocol with fixed hyperparameters, so no solver is tuned in its own favor; the one exception is full model fit II under reduced angular sampling, whose object learning rate is chosen at each removal level as the one of eleven tested values that reaches the lowest loss, without reference to the ground truth. Wall times are measured at bare per-iteration cost, with the quality evaluation moved into a separate replay pass or kept off the solver's clock, so no reported timing carries evaluation overhead.</p><p dir="ltr"><b>Requirements and use</b>: Python 3.10 to 3.13 with NumPy, SciPy and Matplotlib, at the versions pinned in <code>requirements.txt</code> (the code itself also runs on Python 3.9).
CuPy is optional: on a GPU it returns the same results, up to floating-point rounding, at far shorter wall times. The figures and timings of the paper were produced on one NVIDIA RTX A6000 with Python 3.10.19, NumPy 2.1.2, SciPy 1.15.3 and CuPy 13.6.0 (CUDA 11.8). Only <code>config.py</code> needs editing, to point at the reflection matrices and at an output folder.
The README documents the array conventions that must be preserved, the measurement protocol, the commands for each figure, and how to call the solvers directly on a matrix of your own.</p><p dir="ltr"><b>Data</b>: This record contains code only. The 26 measured reflection matrices that the runners consume are deposited separately, at <a href="doi.org/10.6084/m9.figshare.33171494" target="_blank" rel="noreferrer">doi:10.6084/m9.figshare.33171494</a></p><p dir="ltr"><b>Version</b>: Version 2 (2.0.0, 2026-10-01) is a frozen snapshot of the code as it accompanies the revised paper; version 1 accompanied the paper as first submitted.
Changes since version 1: full model fit II (object learning rate 1e4 in the recorded units of the matrices) runs next to the other solvers in Figures 3 and 4; a new runner, <code>run_muO_sweep.py</code>, gives full model fit II of Figure 5 and the runs without the stopping rule; under reduced angular sampling the two model fits now leave the removed input modes out of the loss and out of the multiplicity count (<code>RMM_RETAINED_PAIRS=0</code> restores version 1); every runner reports the speed as the iterations and the wall time to 99 % of the recovery; <code>figures/</code> composes Figures 3 to 6; <code>requirements.txt</code> pins the versions above.
The stopping rule of the code (patience 300 iterations, relative tolerance 1e-15, cap 20000 iterations) is unchanged and is the rule of the revised paper, and outside the retained-pair treatment the solvers of version 1 compute exactly what they computed there. As in version 1, the files keep the folder structure of the repository, and they are identical to those of release v2.0.0 of the GitHub repository, <a href="github.com/Center-For-Deep-Imaging/class-model-fitting-rmm/releases/tag/v2.0.0" target="_blank" rel="noreferrer">github.com/Center-For-Deep-Imaging/class-model-fitting-rmm/releases/tag/v2.0.0</a>.
The living version, including any later corrections, is the GitHub repository: <a href="github.com/Center-For-Deep-Imaging/class-model-fitting-rmm" target="_blank" rel="noreferrer">github.com/Center-For-Deep-Imaging/class-model-fitting-rmm</a></p><p dir="ltr"><b>License</b>: Released under the MIT License</p>
Links
Where it is published
- DOI doi.org/10.6084/m9.figshare.33172871.v2 ↗
DOI / persistent id · from zivahub uct ac za
Catalogue records · 1
- OAI-PMH record api.figshare.com/v2/oai?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai%3Af… ↗
metadata API · from zivahub uct ac za
Topics
- From keywords
- Biomedical imaging · Biomedical imaging · Biomedical imaging · Computational imaging · Computational imaging · Computational imaging · Earth & Environmental Science · Earth & Environmental Science · Earth & Environmental Science · Life Sciences · Life Sciences · Life Sciences · Photonics, optoelectronics and optical communications · Photonics, optoelectronics and optical communications · Photonics, optoelectronics and optical communications · Physics · Physics · Physics
- Inferred from text
- Microscopy 75%
Provenance · 3 source records, 24 field assertions
| Source | Key | Last seen | Raw |
|---|---|---|---|
| ZivaHub | oai:figshare.com:article/33172871 | 5 d ago | JSON v1 |
| Deakin Research Online | oai:figshare.com:article/33172871 | 5 d ago | JSON v1 |
| DMU Figshare | oai:figshare.com:article/33172871 | 5 d ago | JSON v1 |
| Field | Assertion | Extractor | Evidence |
|---|---|---|---|
| access_level | source · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | |
| concepts[field].anzsrc:field:400304 | mapping · dro deakin edu au | vocabulary-mapper@1.0.0 | keywords['Biomedical imaging'] |
| concepts[field].anzsrc:field:400304 | mapping · zivahub uct ac za | vocabulary-mapper@1.0.0 | keywords['Biomedical imaging'] |
| concepts[field].anzsrc:field:400304 | mapping · figshare dmu ac uk | vocabulary-mapper@1.0.0 | keywords['Biomedical imaging'] |
| concepts[field].anzsrc:field:460303 | mapping · dro deakin edu au | vocabulary-mapper@1.0.0 | keywords['computational imaging'] |
| concepts[field].anzsrc:field:460303 | mapping · figshare dmu ac uk | vocabulary-mapper@1.0.0 | keywords['computational imaging'] |
| concepts[field].anzsrc:field:460303 | mapping · zivahub uct ac za | vocabulary-mapper@1.0.0 | keywords['computational imaging'] |
| concepts[field].anzsrc:field:510204 | mapping · dro deakin edu au | vocabulary-mapper@1.0.0 | keywords['Photonics, optoelectronics and optical communications'] |
| concepts[field].anzsrc:field:510204 | mapping · zivahub uct ac za | vocabulary-mapper@1.0.0 | keywords['Photonics, optoelectronics and optical communications'] |
| concepts[field].anzsrc:field:510204 | mapping · figshare dmu ac uk | vocabulary-mapper@1.0.0 | keywords['Photonics, optoelectronics and optical communications'] |
| concepts[field].local:field:earth-environmental | mapping · figshare dmu ac uk | connector:figshare_dmu_ac_uk@1.0.0 | |
| concepts[field].local:field:earth-environmental | mapping · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | |
| concepts[field].local:field:earth-environmental | mapping · dro deakin edu au | connector:dro_deakin_edu_au@1.0.0 | |
| concepts[field].local:field:life-sciences | mapping · figshare dmu ac uk | connector:figshare_dmu_ac_uk@1.0.0 | |
| concepts[field].local:field:life-sciences | mapping · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | |
| concepts[field].local:field:life-sciences | mapping · dro deakin edu au | connector:dro_deakin_edu_au@1.0.0 | |
| concepts[field].local:field:physics | mapping · dro deakin edu au | connector:dro_deakin_edu_au@1.0.0 | |
| concepts[field].local:field:physics | mapping · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | |
| concepts[field].local:field:physics | mapping · figshare dmu ac uk | connector:figshare_dmu_ac_uk@1.0.0 | |
| concepts[modality].local:modality:microscopy | enrichment · zivahub uct ac za | keyword-concept-rules@1.0.0 | title+description (75%) |
| description | source · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | /metadata/dc/description |
| license | source · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | /metadata/dc/rights |
| publication_date | source · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | |
| title | source · zivahub uct ac za | connector:zivahub_uct_ac_za@1.0.0 | /metadata/dc/title |