License: Apache License - 2.0
Language: MATLAB
More details can be found in the file "manual.pdf". Note, for Mac, please use the DomainATM_Mac.zip
DomainATM is a MATLAB-based toolbox that provides an intuitive GUI and ready-to-use implementations for feature-level and image-level domain adaptation methods, specifically tailored for medical data analysis. The toolbox supports both real-world and synthetic datasets and enables easy evaluation, visualization, and extension with user-defined algorithms.
- MATLAB (2020 or later versions are recommended)
- Image Processing Toolbox
- Statistics & Machine Learning Toolbox
- Download the
DomainATM.mlappinstallfile. - On Windows/macOS: Double-click the
.mlappinstallfile.
On Linux: Open MATLAB →Appstab → ClickInstall App. - Set the MATLAB current directory to the folder containing the toolbox.
Example:E:/DomainATM
data/: Stores real or synthetic datasets for fast verification.algorithms_feat/: Feature-level adaptation methods.algorithms_img/: Image-level adaptation methods.evaluation/: Stores the output of each experiment.tools/: Utility functions used by the GUI.
- Subspace Alignment (SA)
- Correlation Alignment (CORAL)
- Transfer Component Analysis (TCA)
- Optimal Transport (OT)
- Joint Distribution Adaptation (JDA)
- Transfer Joint Matching (TJM)
- Geodesic Flow Kernel (GFK)
- Scatter Component Analysis (SCA)
- Information-Theoretic Learning (ITL)
- Click
Create Datasetto generate synthetic data or place your.matdataset indata/. - Click
Load Dataand select your dataset. - Click
Feature-Level Adaptationand choose an algorithm to apply. - Click
Feature-Level Metricsto evaluate the results (accuracy, visualization, etc.).
- Histogram Matching (HM)
- Spectrum Swapping-based Image-Level Harmonization (SSIMH)
- Click
Image-Level Adaptation. - Select source and target
.niiimages. - Choose an algorithm and click
Run. - Use
Image-Level Metricsto evaluate harmonization quality.
To add your own domain adaptation method:
- For feature-level: Place your
.mscript inalgorithms_feat/using:
X_adapted = FeatureDA(X, domain_label, Y, param);
- For image-level: Place your
.mscript inalgorithms_img/using:
S_adapted = ImageDA(source, target, param);
Use "Add Your Algorithm" in the GUI and click "Refresh".
If you find this toolbox useful in your research, please cite:
@article{guan2023domainatm,
title={DomainATM: Domain adaptation toolbox for medical data analysis},
author={Guan, Hao and Liu, Mingxia},
journal={NeuroImage},
volume={268},
pages={119863},
year={2023},
publisher={Elsevier}
}