Skip to main content

Neural Pre-processing Python(NPPy)

Top: An overview of Neural Pre-processing. Bottom: The network archiecture of Neural Pre-processing

Objective: NPPY is an end-to-end weakly supervised learning approach for converting raw head MRI images to intensity-normalized, skull-stripped brain in a standard coordinate space.

Methods: NPPY solves three sub-tasks simultaneously through a neural network, without individual sub-task supervision. The sub-tasks include geometric-preserving intensity mapping, spatial transformation, and skull stripping. The model disentangles intensity mapping and spatial normalization to solve the under-constrained objective.

Results: NPPY outperforms the state-of-the-art methods, which tackle only a single sub-task, according to quantitative results. The importance of NPP's architecture design is demonstrated through ablation experiments. Additionally, NPP provides users with the flexibility to control each task during inference time.

Instructions

Neural Pre-processing Python(NPPY) can be accessed as a python library package.

Python library package

To use the NPP python (nppy) library, either clone this repository and install via 'pip install -e .' or install directly with pip.

pip install nppy

Usage

Once you download the Neural Pre-processing docker script, you can use NPP with the following command-line syntax:

nppy -i input_folder -o output_folder -s -g -w -1

In this command, "input_folder" represents the path to the input folder and "output_folder" is the pre-processed output folder path. NPP generates brain mask, intensity normalized brain and intensity normalized brain in the standard coordinate space. For the large majority of images with voxel sizes near 1 mm3, NPP should run in less than 10 seconds on the CPU. As image size or resolution increases, the runtime might increase as well. If you encounter any issues, please contact the NPP development team for support.

NPPY Papers

If you use NPPY or some part of the code, please cite:

  • Neural Pre-processing:

    Neural Pre-Processing: A Learning Framework for End-to-end Brain MRI Pre-processing.
    Xinzi He, Alan Wang, Mert R. Sabuncu
    Medical Image Computing and Computer Assisted Intervention 2023.
    Springer
    arXiv:2303.12148

Pre-trained models

See list of pre-trained models available here.

Data:

The Neural Pre-processing python(NPPY) model has been trained on a combination of seven different datasets, namely GSP, ADNI, OASIS, ADHD, ABIDE, MCIC, and COBRE. However, please note that most of the data used in the NPP papers cannot be shared due to redistribution restrictions. Nonetheless, if any researcher requires access to the Freesurfer outputs utilized during the training process, please feel free to contact me.

Metadata

Release files for nppy 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nppy 0.2.1
File Size Uploaded
nppy-0.2.1.tar.gz 27.5 kB Details

Release files / nppy-0.2.1.tar.gz

Download URL nppy-0.2.1.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f99e1325cc9c2e56807b8b90aedaf7b7dbc70229c7344f181a7be4eb8809d100
BLAKE2b-256 checksum
How to use checksums
e6e851108b3f80acc874aad7aa4fde0b7a6a7c647b0a5d547b7c9a9c22685f45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.9

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page