--- license: cc-by-4.0 library_name: scitomo tags: [cryo-electron-tomography, denoising, missing-wedge, safetensors, scitomo] --- # DeepDeWedge tutorial checkpoint for scitomo This repository contains the official DeepDeWedge tutorial checkpoint converted to a scitomo-native, non-executable Safetensors package. It reinstantiates the scitomo `UNet3D` used by the `deepdewedge` restoration method. It is not a PyTorch Lightning trainer-resume checkpoint and does not contain optimizer, scheduler, callback, random-number-generator, or dataloader state. Package identity: - scitomo catalog name: `deepdewedge_tutorial` - native package id: `deepdewedge_tutorial` - package revision: `1` - minimum scitomo version: `0.5.4` - learned-checkpoint format: `1` - method: restoration / `deepdewedge` - construction fingerprint: `sha256:c9da7decd489f0f4f893dce565f37db25abc63d0d3efcacad9835305ffd97cb2` - inference fingerprint: `sha256:c2c5eba72579510265258dcfce3a5be2f851f9276c7e53d92330d78eb37720dd` ## Source and attribution The original checkpoint is part of **DeepDeWedge Tutorial Data**, authored by Simon Wiedemann and published on Figshare under CC BY 4.0: - DOI: - Figshare file id: `45582309` - archive: `tutorial_data.zip` - archive member: `tutorial_data/fitted_model.ckpt` - archive SHA-256: `7c871342e51f5a66a773fe427d72944b5d2cc8ff41c5b7415ab38dbfc9ac6d58` - original checkpoint SHA-256: `5262f6c11e85fd662b02e59efe936fa7b69913758e841235be2683f7bd03ec76` The method and upstream implementation are described by: > Simon Wiedemann and Reinhard Heckel. “A deep learning method for > simultaneous denoising and missing wedge reconstruction in cryogenic > electron tomography.” Nature Communications 15, 8255 (2024). > Upstream code: The conversion changed the serialization, state names, and executable construction mechanism. It did not intentionally alter tensor values. Two learned normalization values that upstream stored as non-trainable parameters are native scitomo buffers with identical values. See `ATTRIBUTION.md`, `conversion/conversion-record.json`, and `LICENSES/`. ## Native construction and inference `construction.json` specifies a residual single-input/single-output 3D U-Net with 64 initial channels, three downsampling blocks, strided-convolution downsampling, transposed-convolution upsampling, leaky-ReLU activations, and the learned input-normalization location and scale from the tutorial checkpoint. Volume tensors use scitomo's canonical trailing-axis layout `(..., Z, Y, X)`. The network layout is `(..., C, Z, Y, X)`, with one scalar volume channel. The canonical rotation axis is `Z`; at theta zero the beam axis is `Y`, and detector `(V, U)` corresponds to `(Z, X)`. The frozen DeepDeWedge inference profile requires: - paired half-tomograms, refined separately and averaged; - a 50-degree full-width missing-wedge Fourier mask on each half; - `96 x 96 x 96` patches with overlap `32 x 32 x 32`; - trailing reflection padding for full coverage; - patch-statistic normalization and network denormalization; - linear-ramp weighted patch reassembly; and - no full-tomogram standardization. The package was converted from the tutorial's fitted network. It assumes the same scientific meaning, preprocessing, normalization, missing-wedge convention, and paired-half workflow. It is not a general-purpose cryo-ET foundation model. ## Files and identities | File | Bytes | SHA-256 | | --- | ---: | --- | | `construction.json` | 2,175 | `d4c7eced057042438827de168d47b7900311fba742ce52445675be7f40343432` | | `inference.json` | 968 | `217636919d17d9332aa49474e893064ed1dfb29f016a468cf22d439cf16887a0` | | `weights.safetensors` | 109,294,940 | `2a34aeb61dba5da5c7b78f4cc26de9b8a9134ac12dc08876a8e93bf02776c795` | | `conversion/conversion-record.json` | 13,953 | `e55c35f9e233e0ba04ea1332306b179b96db12158b4eb0cd8d5dcd3609ac8e54` | | `validation/validation-record.json` | 1,946 | `eb2f9153d49e7124a8aeb1951230b6124f5fdc18ea1f53b2c9e28db55273cc3f` | `manifest.json` binds these files plus this model card, attribution, and license resources by exact size and SHA-256. The immutable Hugging Face commit and scitomo learned-weight catalog bind the complete distribution, including the manifest and documentation resources, without a self-referential checksum inside this README. ## Validation All 56 source tensors were mapped one-to-one and exactly matched after native assignment. Predetermined CPU float32 checks: | Case | Tolerance | Result | | --- | --- | --- | | Synthetic forward parity | `atol=1e-6`, `rtol=1e-5` | bit-exact; max absolute error `0`; relative L2 `0` | | Real tutorial-volume crop | relative L2 `<=1e-4` | max absolute error `7.152557373046875e-7`; relative L2 `1.2612566990810592e-7` | The real-data case used a centered `32 x 32 x 32` crop from `tutorial_data/tomo_even_frames.rec`. Vendor and native outputs were finite, had identical shapes, and had the same absolute-peak spatial landmark at `(Z, Y, X) = (25, 13, 0)`. The evidence proves native network-state and reviewed forward parity for the frozen inputs. It does not establish accuracy on every microscope, specimen, acquisition protocol, missing-wedge angle, or preprocessing pipeline, nor does it replace validation of a complete user workflow. ## Safe loading The repository contains declared data files only. Loading does not execute remote code, import the vendor project, or use Python pickle. scitomo requires the exact catalog commit and verifies every declared size and SHA-256 before opening `weights.safetensors`. Hugging Face `trust_remote_code` is never used. Install the learned and catalog extras before resolving the catalog package: ```text pip install "scitomo[learned,catalog]" ``` Normal runtime loading is owned by scitomo's central learned-checkpoint API. Do not load the original Lightning checkpoint in an ordinary runtime. ## Licenses - Converted weights and their source tutorial dataset: CC BY 4.0. See `LICENSES/DeepDeWedge-Tutorial-Data-CC-BY-4.0.txt`. - Upstream DeepDeWedge code and behavior used for construction/conversion: BSD 2-Clause. See `LICENSES/DeepDeWedge-Code-BSD-2-Clause.txt`. The CC BY 4.0 attribution and modification notice are provided in `ATTRIBUTION.md`. No endorsement by the original authors or rights holders is implied.