Skip to main content

Dataset validation and preprocessing toolkit for neurology brain imaging (NIfTI)

Project description

DOI

NeuroTK: Dataset Validation for Neurology Brain Imaging

Motivation

Neurology brain imaging datasets are heterogeneous and frequently contain inconsistencies. Geometry, spacing, orientation, and annotation issues occur commonly across CT and MRI collections. These problems often surface late in modeling, when remediation is costly and compromises reproducibility. NeuroTK surfaces issues early, explicitly, and reproducibly to support dataset hygiene prior to analysis.

Scope

NeuroTK focuses on dataset quality assurance prior to downstream analysis. It provides dataset-level and file-level validation with structural and geometric consistency checks, and assessment of annotation presence and integrity.

  • Dataset-level and file-level validation
  • Structural and geometric consistency checks
  • Annotation presence and integrity assessment

NeuroTK does not modify scientific data.

Installation

pip install neurotk

Quickstart

neurotk validate --images imagesTr --labels labelsTr --out report.json

Inputs are expected as flat directories of NIfTI files, and filenames must match exactly for image–label pairing.

dataset/
  imagesTr/
    case_001.nii.gz
    case_002.nii.gz
  labelsTr/
    case_001.nii.gz
    case_002.nii.gz

Output

NeuroTK emits a JSON report containing a dataset-level summary, per-file diagnostics, and explicit listings of detected issues. For validate+preprocess runs, the report includes a processed summary and preprocess traceability so original and processed states are unambiguous.

{
  "summary": {"scope": "original_inputs", "num_images": 100, "files_with_issues": 7},
  "summary_processed": {"scope": "processed_outputs", "num_images": 100},
  "files": {"case_001.nii.gz": {"issues": ["label_missing"]}}
}

Validate vs preprocess semantics

  • summary always reflects original inputs.
  • summary_processed is present only for validate+preprocess runs and reflects outputs after preprocessing.
  • run_mode indicates whether preprocessing was requested.

Upgrading to v0.3.0

Reports now include explicit scope fields and preprocess traceability blocks. These additions are backward-compatible for validation-only users.

Citation

If you use NeuroTK in your research, please cite it as follows:

@software{neurotk,
  title  = {NeuroTK: Dataset Validation for Neurology Brain Imaging},
  author = {Sakshi Rathi},
  year   = {2026},
  doi    = {10.5281/zenodo.18252017},
  url    = {https://github.com/SakshiRa/neurotk},
  note   = {Open-source toolkit for dataset validation and quality assurance in neurology brain imaging}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neurotk-0.3.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neurotk-0.3.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file neurotk-0.3.0.tar.gz.

File metadata

  • Download URL: neurotk-0.3.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for neurotk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1655991c8193bfc611f57bd41b38dbe8bda2491f46f71910e8b37ff6389de4e4
MD5 4c707f313673071be9e56002b0ddc122
BLAKE2b-256 4195ac2bdadbe95cdebddcb50fe948ff2b1826af31b3d9b11e9e7c30254f273b

See more details on using hashes here.

Provenance

The following attestation bundles were made for neurotk-0.3.0.tar.gz:

Publisher: python-publish.yml on SakshiRa/neurotk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neurotk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: neurotk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for neurotk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c191ac729e6ff0a710636a0e31580939f98a7fc040dbe4bd5864ffad63425b7
MD5 2e0feb822da928dac08d45df17a46553
BLAKE2b-256 8d788024ae84eb71b599721bc42755b8191c9848390e2027c5d9cc78f2710a73

See more details on using hashes here.

Provenance

The following attestation bundles were made for neurotk-0.3.0-py3-none-any.whl:

Publisher: python-publish.yml on SakshiRa/neurotk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page