From Medical AI Skills repo root, run all steps in a single command so the
skill is self-bootstrapping against a fresh Python 3.12 venv:
bash
pip install -r skills/nv-segment-ct/requirements.txt && \
huggingface-cli download nvidia/NV-Segment-CT \
--local-dir skills/nv-segment-ct/bundle/ && \
python skills/nv-segment-ct/scripts/run_vista3d.py PATH_TO_CT.nii.gz \
--label-prompts "1,3,5,14" \
--output-dir vista3d_outputs
When the user names anatomies, translate them to VISTA3D class IDs before
running. For the common abdominal CT request:
For "segment the spleen, liver, right kidney, and left kidney", the correct
value is exactly
. Do not substitute kidney
IDs from another label dictionary; the wrapper validates the requested label
set and will mark the run invalid if the emitted mask contains labels outside
the requested set.
The
step is load-bearing: do not assume monai/torch/etc.
are already in the active environment. The
step is also part of the contract — it pulls the ~832 MB model bundle
into
skills/nv-segment-ct/bundle/
(cached after first run; subsequent
calls are no-ops).
are VISTA3D class IDs. The evidence output records input
geometry, output mask path, observed label IDs, unexpected labels,
per-class voxel counts, per-class physical volumes computed from the output
mask header spacing, runtime, model identity, and fixed code-derived artifact
checks such as mask shape, affine match, label set, foreground count, and
class-volume bounds.
Pass
to record a reference label-map path under
. The skill does not compute Dice; that is the
paired verifier's job.
Anatomy plausibility (per-class volume bounds, fragmentation, bilateral
symmetry, liver larger than spleen) and optional per-class Dice/IoU against
the recorded ground truth are checked by
verifiers/ct_segmentation_quality_v1
.
Not for clinical interpretation, production deployment, or non-CT modalities.