| name | monai-seg-baseline-scaffold |
| description | Generates a complete MONAI-based training scaffold for medical image
segmentation or classification tasks. Creates training scripts, inference
scripts, configuration files, data loading pipelines, and model definitions.
|
| version | 0.1.0 |
| author | Medical AI Team <team@example.com> |
| license | MIT |
| tags | ["monai","segmentation","classification","training","scaffold","deep-learning","pytorch"] |
| maturity | scaffold |
| category | segmentation-ml |
| requires_extras | ["core","ml"] |
Overview
The monai-seg-baseline-scaffold skill generates a complete training scaffold for medical image analysis using the MONAI framework. It automates the creation of:
- Training script (
train.py) - Full training loop with validation
- Inference script (
inference.py) - Model prediction on new data
- Configuration file (
config.yaml) - All hyperparameters and settings
- Data loader (
data_loader.py) - MONAI-compatible data pipeline
- Model definition (
model.py) - Network architecture definitions
This skill is essential for rapidly prototyping medical image analysis projects, ensuring consistent code structure and following MONAI best practices.
Installation
pip install -r requirements.txt
Or install the specific dependencies:
pip install pyyaml jinja2 monai torch numpy nibabel
Dependencies:
- Python >= 3.10
- PyYAML >= 6.0
- Jinja2 >= 3.0
- MONAI >= 1.3.0
- PyTorch >= 2.0.0
- NumPy >= 1.20.0
- NiBabel >= 5.0.0 (for medical image I/O)
Usage
python scripts/main.py --dataset-path PATH --output-dir DIR [OPTIONS]
Arguments
| Argument | Required | Description |
|---|
--dataset-path | Yes | Path to the dataset directory |
--output-dir | Yes | Output directory for generated files |
Options
| Option | Default | Description |
|---|
--task | segmentation | Task type: segmentation or classification |
--model | unet | Model architecture: unet, swinunetr, resnet |
--config-only | false | Generate only config.yaml, no scripts |
--num-classes | 2 | Number of output classes |
--input-channels | 1 | Number of input channels |
--image-size | 96 | Input image size (isotropic) |
--batch-size | 4 | Training batch size |
--learning-rate | 0.0001 | Initial learning rate |
--max-epochs | 100 | Maximum training epochs |
--device | cuda | Training device: cuda, cpu, mps |
--amp | true | Enable automatic mixed precision |
--cache-rate | 1.0 | Cache rate for dataset (0.0-1.0) |
--num-workers | 4 | Number of data loading workers |
--verbose, -v | false | Enable verbose output |
--version | - | Show version and exit |
--help, -h | - | Show help message and exit |
Input Schema
Input is a dataset directory plus scaffold-generation parameters. The skill generates project files and configuration templates; it does not train or validate a model.
Output Schema
{
"success": true,
"result": {
"output_dir": "./experiment",
"generated_files": ["train.py", "inference.py", "config.yaml"],
"task": "segmentation",
"model": "unet"
},
"metadata": {
"timestamp": "2024-01-15T10:30:00Z",
"duration_ms": 250,
"version": "0.1.0"
}
}
Exit Codes
| Code | Meaning |
|---|
| 0 | Success - all files generated |
| 1 | Validation error - invalid arguments or config |
| 2 | Runtime error - file I/O or template error |
| 3 | Usage error - missing required arguments |
Examples
Basic usage (segmentation with default UNet)
python scripts/main.py \
--dataset-path /data/brain_tumor \
--output-dir ./brain_tumor_experiment
Classification task with ResNet
python scripts/main.py \
--dataset-path /data/chest_xray \
--output-dir ./chest_xray_exp \
--task classification \
--model resnet \
--num-classes 3
Generate config only
python scripts/main.py \
--dataset-path /data/experiment \
--output-dir ./config_only \
--config-only
Model Architectures
UNet (Default)
Standard U-Net architecture with configurable channels and strides.
SwinUNETR
Vision Transformer-based architecture for 3D medical image segmentation.
ResNet (Classification)
Residual network for classification tasks.
References
Disclaimer
For Research Use Only - This scaffold generates starter code and requires human review before any real-world or clinical use. It is not production-ready.
Changelog
0.1.0 (2026-03-15)
- Initial release
- Support for segmentation and classification tasks
- Model architectures: UNet, SwinUNETR, ResNet
- Jinja2 template-based code generation
- Complete training loop with validation