denoising_inhomogeneity_correction_tool
Description
Denoising-Inhomogeneity Correction Tool is designed to perform a customisable image pre-processing to reduce noise and inhomogeneity field effect, thus improving image quality and reproducibility of radiomics features. This tool consists of two independent steps: one for denoising using one of the 5 integrated filters (Bilateral Filter, Anisotropic Diffusion Filter (ADF), Curvature Flow Filter (CFF), SUSAN and Non Local Means (NLM)), and another for the ANTs N4 and another for the ANT's N4 bias correction filter. The parameter configuration of this tool has been optimised for TW1, T2W, DWI and DCE sequences in neuroblastoma (NB) and paediatric brain tumours, but it can also be configured with some of their parameters using a JSON parameter configuration file.
Reference
Please cite the following paper when using this tool:
Fernández Patón M, Cerdá Alberich L, Sangüesa Nebot C, Martínez de Las Heras B, Veiga Canuto D, Cañete Nieto A, Martí-Bonmatí L. MR Denoising Increases Radiomic Biomarker Precision and Reproducibility in Oncologic Imaging. J Digit Imaging. 2021 Oct;34(5):1134-1145. doi: 10.1007/s10278-021-00512-8. Epub 2021 Sep 10. PMID: 34505958; PMCID: PMC8554919.
And the following one:
Martí-Bonmatí L, Alberich-Bayarri Á, Ladenstein R, Blanquer I, Segrelles JD, Cerdá-Alberich L, Gkontra P, Hero B, García-Aznar JM, Keim D, Jentner W, Seymour K, Jiménez-Pastor A, González-Valverde I, Martínez de Las Heras B, Essiaf S, Walker D, Rochette M, Bubak M, Mestres J, Viceconti M, Martí-Besa G, Cañete A, Richmond P, Wertheim KY, Gubala T, Kasztelnik M, Meizner J, Nowakowski P, Gilpérez S, Suárez A, Aznar M, Restante G, Neri E. PRIMAGE project: predictive in silico multiscale analytics to support childhood cancer personalised evaluation empowered by imaging biomarkers. Eur Radiol Exp. 2020 Apr 3;4(1):22. doi: 10.1186/s41747-020-00150-9. PMID: 32246291; PMCID: PMC7125275.
Usage
Option 1: Example using JSON Configuration File
Create a parameter_configuration.json file with the following structure:
{
"Paths": [
"~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W_Sequence",
"~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T2W_Sequence",
"~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_2/Study/DWI_Sequence"
],
"_comment": "Optional: Uncomment to override defaults",
"_series_number": 2000,
"_series_description_suffix": " - Harmonized",
"Denoising_adf": [{
"Conductance": 0.5,
"Iterations": 3,
"Time_step": 0.0625
}],
"N4": [{
"BSpline_size": 50,
"Iterations": [50, 30],
"Shrink_factor": 2
}]
}
Behavior:
- Without
series_number: Original SeriesNumber + 1000 (e.g., 5 → 1005) ✅ Recommended
- With
series_number: 2000: SeriesNumber = 2000 (absolute value)
Run with Jobman:
jobman submit -i denoising_inhomogeneity_correction_tool -- \
--config ~/persistent-home/denoising/parameter_configuration.json \
--output ~/persistent-home/denoising/output
Note the config file and the output directory path should be any within the persistent-home, which is shared between all desktops and jobs created by the user, otherwise the config file will not be found and the results will be lost after the end of the job.
Option 2: Using Command-Line Arguments
You can run the tool directly with command-line arguments (instead of using a config file):
jobman submit -i denoising_inhomogeneity_correction_tool -- \
--paths ~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W ~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_2/Study/T2W \
--series_number 2000 \
--series_description_suffix " - Harmonized" \
--denoising adf \
--conductance 0.5 \
--iterations 3 \
--time_step 0.0625 \
--n4 \
--bspline_size 50 \
--n4_iterations 50 30 \
--shrink_factor 2 \
--output ~/persistent-home/denoising/output
Configuration Parameters
Whether using option 1 or 2, below are the paramateres you can specify.
Paths (Required)
Paths: List of DICOM folder paths
Series Metadata (Optional)
Control how the harmonized series appears in DICOM viewers:
Note: The tool automatically generates:
- SeriesInstanceUID: Deterministic UID (same input always produces same UID)
- SOPInstanceUID: Unique for each DICOM slice
- DerivationDescription: Documents applied filters (e.g., "Denoising: ADF; N4 Bias Field Correction")
Denoising Filters (Optional)
Choose one of the following:
Anisotropic Diffusion Filter (ADF)
"Denoising_adf": [{
"Conductance": 0.5,
"Iterations": 3,
"Time_step": 0.0625
}]
CLI arguments:
--denoising adf
--conductance <value> (default: 0.5)
--iterations <value> (default: 3)
--time_step <value> (default: 0.0625)
Curvature Flow Filter (CFF)
"Denoising_cff": [{
"Iterations": 3,
"Time_step": 0.0625
}]
CLI arguments:
--denoising cff
--iterations <value> (default: 3)
--time_step <value> (default: 0.0625)
Bilateral Filter
"Denoising_bilateral": [{
"DomainSigma": 1.5,
"RangeSigma": 50.0
}]
CLI arguments:
--denoising bilateral
--domain_sigma <value> (default: 1.5)
--range_sigma <value> (default: 50.0)
SUSAN Filter
"Denoising_susan": [{
"brightness_threshold": 0.75,
"fwhm": 3.0
}]
CLI arguments:
--denoising susan
--brightness_threshold <value> (default: 0.75, multiplier of Otsu threshold)
--fwhm <value> (default: 3.0)
Non-Local Means (NLM)
"Denoising_nlm": [{
"Sigma": 1.0,
"Patch_radius": 1,
"Block_radius": 5
}]
CLI arguments:
--denoising nlm
--sigma <value> (default: 1.0)
--patch_radius <value> (default: 1)
--block_radius <value> (default: 5)
N4 Bias Field Correction (Optional)
"N4": [{
"BSpline_size": 50,
"Iterations": [50, 30],
"Shrink_factor": 2
}]
CLI arguments:
--n4 (flag to enable)
--bspline_size <value> (default: 50)
--n4_iterations <values...> (default: 50 30)
--shrink_factor <value> (default: 2)
Optimal Parameters
Optimized configurations for different tumor types and sequences:
The optimised parameter configuration for each tumour and sequence is shown in the table below:

Examples
Example 1: ADF Denoising + N4 Correction (JSON config)
parameter_configuration.json:
{
"Paths": [
"~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W_Sequence"
],
"Denoising_adf": [{
"Conductance": 0.5,
"Iterations": 3,
"Time_step": 0.0625
}],
"N4": [{
"BSpline_size": 50,
"Iterations": [50, 30],
"Shrink_factor": 2
}]
}
Command:
jobman submit -i denoising_inhomogeneity_correction_tool -- \
--config ~/persistent-home/denoising/parameter_configuration.json \
--output ~/persistent-home/denoising/output
Example 2: NLM Denoising Only (CLI)
jobman submit -i denoising_inhomogeneity_correction_tool -- \
--paths ~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/DWI ~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_2/Study/DWI \
--denoising nlm \
--sigma 1.0 \
--patch_radius 1 \
--block_radius 5 \
--output ~/persistent-home/denoising/output
Example 3: N4 Correction Only (CLI)
jobman submit -i denoising_inhomogeneity_correction_tool -- \
--paths ~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W \
--n4 \
--bspline_size 50 \
--n4_iterations 50 30 \
--shrink_factor 2 \
--output ~/persistent-home/denoising/output
DICOM Metadata and UIDs
The tool generates harmonized DICOM files with properly structured metadata following DICOM standards:
Generated UIDs
Series Metadata
-
SeriesNumber: Configurable via series_number parameter
- Default: Original SeriesNumber + 1000
- Example: Original series 5 → Harmonized series 1005 (or 2000 if configured)
-
SeriesDescription: Original description + configurable suffix
- Default suffix:
"_harmonized"
- Example:
"T1W_MPRAGE" → "T1W_MPRAGE_harmonized"
- Or with custom suffix:
"T1W_MPRAGE - Harmonized"
-
DerivationDescription: Automatically documents processing steps
- Lists applied filters in order
- Example:
"Denoising: ADF; N4 Bias Field Correction"
Authors
This tool was developed by Matías Fernández Patón in collaboration with the GIBI230 Research Group at La Fe Health Research Institute (IIS La Fe), Valencia, Spain.
Contact info
pedromiguel_martinez@iislafe.es
carina_soler@iislafe.es
matias_fernandez@iislafe.es
URL
User manual:
https://drive.google.com/file/d/1W0aHAIG_bdU9Z1J3aDNsb1r39WBuX9Ot/view?usp=drive_link
EUCAIM Catalogue:
https://bio.tools/denoising-inhomogeneity_correction_tool
EUCAIM Harbor:
https://harbor.eucaim.cancerimage.eu/harbor/projects/4/repositories/denoising_inhomogeneity_correction_tool/artifacts-tab
Public dockerfile repository:
https://bitbucket.org/gibi230/harmonization_tool/src/cd1ed47c578c77de631772623f7df0f3c976c329/?at=release%2FEUCAIM
License
https://drive.google.com/file/d/1w1tdjaLdjBZYJTp_EpETN6nwyQIsy4vg/view?usp=drive_link
denoising_inhomogeneity_correction_tool
Description
Denoising-Inhomogeneity Correction Tool is designed to perform a customisable image pre-processing to reduce noise and inhomogeneity field effect, thus improving image quality and reproducibility of radiomics features. This tool consists of two independent steps: one for denoising using one of the 5 integrated filters (Bilateral Filter, Anisotropic Diffusion Filter (ADF), Curvature Flow Filter (CFF), SUSAN and Non Local Means (NLM)), and another for the ANTs N4 and another for the ANT's N4 bias correction filter. The parameter configuration of this tool has been optimised for TW1, T2W, DWI and DCE sequences in neuroblastoma (NB) and paediatric brain tumours, but it can also be configured with some of their parameters using a JSON parameter configuration file.
Reference
Please cite the following paper when using this tool:
And the following one:
Usage
Option 1: Example using JSON Configuration File
Create a
parameter_configuration.jsonfile with the following structure:{ "Paths": [ "~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W_Sequence", "~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T2W_Sequence", "~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_2/Study/DWI_Sequence" ], "_comment": "Optional: Uncomment to override defaults", "_series_number": 2000, "_series_description_suffix": " - Harmonized", "Denoising_adf": [{ "Conductance": 0.5, "Iterations": 3, "Time_step": 0.0625 }], "N4": [{ "BSpline_size": 50, "Iterations": [50, 30], "Shrink_factor": 2 }] }Behavior:
series_number: Original SeriesNumber + 1000 (e.g., 5 → 1005) ✅ Recommendedseries_number: 2000: SeriesNumber = 2000 (absolute value)Run with Jobman:
Note the config file and the output directory path should be any within the persistent-home, which is shared between all desktops and jobs created by the user, otherwise the config file will not be found and the results will be lost after the end of the job.
Option 2: Using Command-Line Arguments
You can run the tool directly with command-line arguments (instead of using a config file):
Configuration Parameters
Whether using option 1 or 2, below are the paramateres you can specify.
Paths (Required)
Paths: List of DICOM folder pathsSeries Metadata (Optional)
Control how the harmonized series appears in DICOM viewers:
series_number(optional): Absolute SeriesNumber for harmonized seriesseries_description_suffix(optional): Text appended to original SeriesDescription"_harmonized""series_description_suffix": " - Harmonized"Note: The tool automatically generates:
Denoising Filters (Optional)
Choose one of the following:
Anisotropic Diffusion Filter (ADF)
CLI arguments:
--denoising adf--conductance <value>(default: 0.5)--iterations <value>(default: 3)--time_step <value>(default: 0.0625)Curvature Flow Filter (CFF)
CLI arguments:
--denoising cff--iterations <value>(default: 3)--time_step <value>(default: 0.0625)Bilateral Filter
CLI arguments:
--denoising bilateral--domain_sigma <value>(default: 1.5)--range_sigma <value>(default: 50.0)SUSAN Filter
CLI arguments:
--denoising susan--brightness_threshold <value>(default: 0.75, multiplier of Otsu threshold)--fwhm <value>(default: 3.0)Non-Local Means (NLM)
CLI arguments:
--denoising nlm--sigma <value>(default: 1.0)--patch_radius <value>(default: 1)--block_radius <value>(default: 5)N4 Bias Field Correction (Optional)
CLI arguments:
--n4(flag to enable)--bspline_size <value>(default: 50)--n4_iterations <values...>(default: 50 30)--shrink_factor <value>(default: 2)Optimal Parameters
Optimized configurations for different tumor types and sequences:
The optimised parameter configuration for each tumour and sequence is shown in the table below:
Examples
Example 1: ADF Denoising + N4 Correction (JSON config)
parameter_configuration.json:
{ "Paths": [ "~/datasets/87f3be56-4725-45c3-9baa-d338de530f73/Patient_1/Study/T1W_Sequence" ], "Denoising_adf": [{ "Conductance": 0.5, "Iterations": 3, "Time_step": 0.0625 }], "N4": [{ "BSpline_size": 50, "Iterations": [50, 30], "Shrink_factor": 2 }] }Command:
Example 2: NLM Denoising Only (CLI)
Example 3: N4 Correction Only (CLI)
DICOM Metadata and UIDs
The tool generates harmonized DICOM files with properly structured metadata following DICOM standards:
Generated UIDs
SeriesInstanceUID: Deterministically generated using SHA256 hash
2.25.{hash_integer}(UUID-derived UID standard)SOPInstanceUID: Unique identifier for each DICOM instance
pydicom.uid.generate_uid()Series Metadata
SeriesNumber: Configurable via
series_numberparameterSeriesDescription: Original description + configurable suffix
"_harmonized""T1W_MPRAGE"→"T1W_MPRAGE_harmonized""T1W_MPRAGE - Harmonized"DerivationDescription: Automatically documents processing steps
"Denoising: ADF; N4 Bias Field Correction"Authors
This tool was developed by Matías Fernández Patón in collaboration with the GIBI230 Research Group at La Fe Health Research Institute (IIS La Fe), Valencia, Spain.
Contact info
pedromiguel_martinez@iislafe.es
carina_soler@iislafe.es
matias_fernandez@iislafe.es
URL
User manual:
https://drive.google.com/file/d/1W0aHAIG_bdU9Z1J3aDNsb1r39WBuX9Ot/view?usp=drive_link
EUCAIM Catalogue:
https://bio.tools/denoising-inhomogeneity_correction_tool
EUCAIM Harbor:
https://harbor.eucaim.cancerimage.eu/harbor/projects/4/repositories/denoising_inhomogeneity_correction_tool/artifacts-tab
Public dockerfile repository:
https://bitbucket.org/gibi230/harmonization_tool/src/cd1ed47c578c77de631772623f7df0f3c976c329/?at=release%2FEUCAIM
License
https://drive.google.com/file/d/1w1tdjaLdjBZYJTp_EpETN6nwyQIsy4vg/view?usp=drive_link