English

MIP Candy: A Modular PyTorch Framework for Medical Image Processing

Computer Vision and Pattern Recognition 2026-02-25 v1 Artificial Intelligence Machine Learning Software Engineering

Abstract

Medical image processing demands specialized software that handles high-dimensional volumetric data, heterogeneous file formats, and domain-specific training procedures. Existing frameworks either provide low-level components that require substantial integration effort or impose rigid, monolithic pipelines that resist modification. We present MIP Candy (MIPCandy), a freely available, PyTorch-based framework designed specifically for medical image processing. MIPCandy provides a complete, modular pipeline spanning data loading, training, inference, and evaluation, allowing researchers to obtain a fully functional process workflow by implementing a single method, \texttt{build_network}, while retaining fine-grained control over every component. Central to the design is LayerT\texttt{LayerT}, a deferred configuration mechanism that enables runtime substitution of convolution, normalization, and activation modules without subclassing. The framework further offers built-in kk-fold cross-validation, dataset inspection with automatic region-of-interest detection, deep supervision, exponential moving average, multi-frontend experiment tracking (Weights & Biases, Notion, MLflow), training state recovery, and validation score prediction via quotient regression. An extensible bundle ecosystem provides pre-built model implementations that follow a consistent trainer--predictor pattern and integrate with the core framework without modification. MIPCandy is open-source under the Apache-2.0 license and requires Python~3.12 or later. Source code and documentation are available at https://github.com/ProjectNeura/MIPCandy.

Keywords

Cite

@article{arxiv.2602.21033,
  title  = {MIP Candy: A Modular PyTorch Framework for Medical Image Processing},
  author = {Tianhao Fu and Yucheng Chen},
  journal= {arXiv preprint arXiv:2602.21033},
  year   = {2026}
}
R2 v1 2026-07-01T10:50:15.470Z