Welcome to Radiomics.jl
Radiomics.jl is a comprehensive Julia library designed for medical imaging researchers and clinicians. Our tool enables the extraction of high-throughput quantitative features from radiological images, supporting advanced research in precision medicine and computer-aided diagnosis.
Navigate through our documentation using the sidebar to explore detailed information about feature extraction methods, installation procedures, and implementation examples.
Why choose Radiomics.jl for your project
- Full IBSI Compliance: Every feature is calculated according to IBSI 1 - Phase 1 standards—our unit tests are strictly validated against IBSI sample images (go ahead, take a look!).
- GPU acceleration:Harness native NVIDIA GPU acceleration powered by CUDA.jl for feature extraction, with seamless, automatic CPU fallback if no GPU is available.
- User-Friendly API: Simplify your workflow by extracting features from multiple labels with a single call. Handling 2D slices or multiple planes/slices "in one shot" has never been easier.
- First-class 2D support: 2D analysis is treated with the same priority as 3D; computing features for a 2D matrix is just as seamless as the 3D case.
- Deep Insights: While other radiomics libraries focus only on final scalar values, Radiomics.jl also lets you easily get the raw matrices used under the hood for texture feature calculations.
- No silent failures: If something looks suspicious or ambiguous—like disconnected segmentation islands or oversized binning—the library raises clear warnings.
- Native Multi-threading: The engine is engineered from the ground up to take full advantage of multi-threaded performance.
- Cross-language ready: Radiomics.jl delivers a frictionless experience across languages, allowing Python, C++, R, and many other language developers to call Julia’s power with ease.
Quick Start Example
Once installed, you can begin extracting radiomic features with just a few lines of code. The following example demonstrates feature extraction using sample data included with the library:
using Radiomics
# Paths to the medical image and segmentation mask, with voxel spacing automatically read from the files
ct = "Path/to/Volume"
mask = "Path/to/Mask"
# Extract radiomic features
radiomic_features = Radiomics.extract_radiomic_features(ct, mask)
Below is an example of how to extract features when you already have the image and the mask loaded in memory as arrays:
using Radiomics
# img and mask: arrays of the same size (2D or 3D)
# spacing: voxel spacing, in the same axis order of the arrays
spacing = [1.0, 1.0, 1.0]
# Extract radiomic features
radiomic_features = Radiomics.extract_radiomic_features(img, mask, spacing)
Radiomics.jl is a research software package and is not a medical device. Not intended for diagnostic, therapeutic, or clinical use. Results must not be used to inform clinical decisions.