# nnU-Net

> Self-configuring semantic segmentation framework that adapts its preprocessing, U-Net configuration, training and inference pipeline to a given dataset.

nnU-Net is an open-source semantic segmentation framework developed and maintained by the Applied Computer Vision Lab of Helmholtz Imaging and the Division of Medical Image Computing at the German Cancer Research Center (DKFZ). It analyzes a training dataset, builds a dataset fingerprint, and configures suitable U-Net variants automatically. The latest listed release is v2.4.1, which introduced residual encoder UNets.

## What It Is

nnU-Net is a Python framework for supervised semantic segmentation, primarily designed for biomedical images. It also serves as a baseline and development framework for researchers building new segmentation methods. It supports 2D and 3D data, arbitrary channel definitions, and multiple image formats.

## How the Pipeline Works

The workflow runs end to end: dataset analysis and fingerprinting, preprocessing, configuration of U-Net variants, training, model selection, and inference. Not every dataset produces every configuration; for example, the cascade is only generated when dataset characteristics justify it. Residual encoder presets are documented as recommended configurations, and the docs include a guide for finetuning from nnssl self-supervised checkpoints.

## Setup Path

Users install PyTorch for their hardware, then run pip install nnunetv2. Setup also involves defining the nnUNet_raw, nnUNet_preprocessed, and nnUNet_results directories. The documentation is organized into getting started, how-to guides, reference, and explanation sections. v2 is a complete reimplementation of the original nnU-Net, which remains available on the v1 branch.

## Where It Fits

The README states that it performs particularly well when training from scratch, such as on biomedical datasets, challenge datasets, and non-standard imaging problems where natural-image pretrained models fit poorly.

## Features
- Automatic dataset fingerprinting and pipeline configuration
- Self-configuring U-Net variants
- 2D and 3D segmentation support
- End-to-end preprocessing, training, model selection and inference
- Residual encoder presets
- Finetuning from nnssl self-supervised checkpoints
- Supports multiple image formats and arbitrary channel definitions

## Integrations
PyTorch

## Platforms
CLI, DEVELOPER_SDK

## Pricing
Open Source

## Version
v2.4.1

## Links
- Website: https://github.com/MIC-DKFZ/nnUNet
- Documentation: https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/README.md
- Repository: https://github.com/MIC-DKFZ/nnUNet
- EveryDev.ai: https://www.everydev.ai/tools/nnunet
