Denoising¶
The denoising module reduces noise in cryo-electron tomograms while preserving structural detail. It is typically the first step in a CryoSiam pipeline, preceding semantic segmentation, instance segmentation, or particle identification.
For best performance, it is recommended to use WBP-reconstructed tomograms, as the denoising model was trained on simulated WBP data. Since the implementation of WBP reconstruction in AreTomo3 is different from the IMOD implementation, there is additional model supporting WBP reconstruction from AreTomo3.
- Left: Raw WBP noisy tomogram
- Middle: Gaussian filtered tomogram
- Right: CryoSiam denoised tomogram
Trained Model¶
A pre-trained denoising model is provided and can be downloaded from:
CryoSiam denoising model (v1.0)
CryoSiam denoising model - AreTomo3 supported (v1.0)
Running denoising¶
Denoising is performed via the command-line interface using a YAML configuration file:
cryosiam denoise_predict --config_file=configs/config_denoising.yaml
What this command does
- Loads the trained denoising model and the input tomogram(s)
- Applies sliding-window 3D inference (GPU)
- Writes denoised tomograms to the specified output directory
- Optionally saves intermediate or raw prediction files
Visualization Denoised outputs can be visualized using CryoSiam-Vis. See the visualization instructions here.
Example Configuration File¶
data_folder: '/scratch/stojanov/dataset1/tomograms'
prediction_folder: '/scratch/stojanov/dataset1/predictions/denoised'
trained_model: '/scratch/stojanov/trained_models/cryosiam_denoising.ckpt'
file_extension: '.mrc'
test_files: null
save_raw_predictions: False
scale_prediction: True
parameters:
data:
patch_size: [ 128, 128, 128 ]
min: 0
max: 1
mean: 0
std: 1
network:
in_channels: 1
spatial_dims: 3
hyper_parameters:
batch_size: 3
Config Reference¶
Top‑level keys¶
| Key | Type | Must change the default value | Description |
|---|---|---|---|
data_folder |
str |
✅ | Directory containing input tomograms to denoise |
prediction_folder |
str |
✅ | Output directory for denoised tomograms |
trained_model |
str |
✅ | Path to the trained denoising model checkpoint (.ckpt) |
file_extension |
str |
❌ | Input file extension (.mrc or .rec, default: .mrc) |
test_files |
list[str] or null |
❌ | List of specific filenames to process. Use null to process all files in data_folder |
save_raw_predictions |
bool |
❌ | Save raw prediction files (.h5) in addition to final outputs |
scale_prediction |
bool |
❌ | Rescale output intensities to [0, 1] |
parameters¶
| Key | Type | Must change the default value | Description |
|---|---|---|---|
data.patch_size |
list[int] |
❌ | Sliding-window patch size for 3D inference |
data.min |
float |
❌ | Intensity minimum value for data scaling |
data.max |
float |
❌ | Intensity maximum value for data scaling |
data.mean |
float |
❌ | Mean used for normalization |
data.std |
float |
❌ | Std used for normalization |
network.in_channels |
int |
❌ | Number of input channels (usually 1) |
network.spatial_dims |
int |
❌ | Dimensionality of the model (3 for tomograms) |
Tips
Keeppatch_sizeconsistent with the value used during training (e.g. 128³ for the provided model). Reduce it only if you encounter GPU memory issues.
hyper_parameters¶
| Key | Type | Must change the default value | Description |
|---|---|---|---|
batch_size |
int |
❌ | Number of 3D patches processed per forward pass. |
Outputs¶
The denoising step produces:
- Denoised tomograms saved to
prediction_folder(file extension as implemented). - Optional raw prediction files if
save_raw_predictions: true.
Output filenames follow the input basenames with appropriate suffixes.
Troubleshooting¶
| Symptom | Suggested Fix |
|---|---|
CUDA out of memory |
Reduce batch_size and/or patch_size; ensure no other heavy GPU processes are running. |
| No files processed | Ensure data_folder exists and test_files is null or matches filenames exactly. |
| Output intensities look off | Toggle scale_prediction. |
| Model/shape mismatch | Verify in_channels and spatial_dims and the correct .ckpt file are used. |
Next Steps¶
After denoising, continue with:
For an overview of complete pipelines, see the Usage overview.
