Skip to content
Back to skills

Data Generators

ASecurity

"Use VoxelMorph volume I/O, npz/NIfTI/MGZ data conventions,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
toolspythonbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-generators --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Generators?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Generators
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-generators/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-generators)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-generators
description: "Use VoxelMorph volume I/O, npz/NIfTI/MGZ data conventions,
  segmentation utilities, metric helpers, and NumPy data generators for
  registration workflows."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Data Generators

Use this sub-skill when a task is about preparing, validating, loading, or selecting data streams for VoxelMorph workflows before model-specific training or transform math begins.

## Route here for

- Reading or writing volumes with `voxelmorph.py.utils.load_volfile()` and `save_volfile()`.
- Explaining `.npz`, `.npy`, NIfTI, and MGZ conventions, including `vol` and optional `seg` keys.
- Building image lists, pair lists, phenotype CSV maps, label lists, atlas arrays, and segmentation inputs.
- Choosing a generator from `voxelmorph.py.generators` for scan-to-scan, scan-to-atlas, semisupervised, template, surface, or SynthMorph workflows.
- Computing or checking segmentation helpers: Dice overlap, label filtering, largest-component cleanup, signed distance transforms, surface point clouds, and Jacobian determinant summaries.
- Validating user-provided `.npz` files without downloading data or running training.

## Route elsewhere

- PyTorch model construction, loss selection, checkpoints, and training loops: use `../pairwise-registration/SKILL.md`.
- Dense displacement, affine, coordinate, interpolation, integration, composition, and tensor-transform mathematics: use `transform-ops`.
- Real dataset acquisition, clinical preprocessing, benchmark evaluation, or long-running training: out of scope unless the user supplies explicit data, runtime, and acceptance criteria.

## First decision

1. Identify the workflow target: scan-to-scan, scan-to-atlas, semisupervised labels, template creation, surface-distance learning, or SynthMorph label-map synthesis.
2. Confirm the data contract before writing any model code:
   - Volume arrays should have consistent spatial shape across a training list.
   - Standard `.npz` files should contain `vol`; semisupervised and surface workflows also need discrete integer `seg` arrays.
   - Generators add a batch axis first and usually add a feature axis last, yielding NumPy arrays shaped `(batch, *spatial, features)`.
   - NIfTI/MGZ loading uses nibabel; `.npz`/`.npy` loading does not carry affine metadata unless the caller separately manages it.
3. If the user supplies `.npz` files or a VoxelMorph image list, run the bundled validator before choosing a generator.

## Bundled references

- `references/api-reference.md` — signatures and behavioral notes for `voxelmorph.py.utils` and `voxelmorph.py.generators`, including generator yield structures.
- `references/data-formats.md` — volume, atlas, segmentation, label, list-file, affine, and README-derived data assumptions.
- `references/workflows.md` — generator-selection matrix and copyable recipes for scan-to-scan, scan-to-atlas, semisupervised, template, surface, and SynthMorph data streams.
- `references/troubleshooting.md` — symptoms, likely causes, and recovery steps for missing keys, shape mismatches, invalid labels, empty globs, and surface-generator edge cases.
- `scripts/validate_vxm_npz.py` — safe `.npz` validator for `vol`/`seg` keys, shape consistency, label dtypes, NaNs, and expected labels.

## Quick safe checks

From this sub-skill directory:

```bash
python scripts/validate_vxm_npz.py --help
python scripts/validate_vxm_npz.py data/*.npz --require-seg --allowed-labels 0,1,2,3
python scripts/validate_vxm_npz.py --file-list images.txt --prefix data/ --expect-shape 160,192,224
```

The validator reads only local files, writes nothing, performs no downloads, and exits non-zero on schema failures.

## Operating rules

- Keep data-generator work NumPy/file-schema focused. Hand off tensor conversion and model consumption to the pairwise-registration or transform-ops owners.
- Do not rely on legacy TensorFlow script paths or external tutorial downloads as runtime instructions. Distill the data contract into this skill instead.
- Prefer synthetic or user-supplied tiny fixtures for validation. Do not invent a requirement for OASIS, FreeSurfer, model weights, or private datasets.
- When users provide real NIfTI or MGZ files, validate shape and affine expectations with their own tools or a short local probe; this sub-skill's bundled validator intentionally targets `.npz` files only.

Files in this skill

  • SKILL.md4.3 KB
  • references/api-reference.md9 KB
  • references/data-formats.md4.6 KB
  • references/troubleshooting.md5.5 KB
  • references/workflows.md6.2 KB
  • scripts/validate_vxm_npz.py15 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.