autods_pet.roi.lumbar_vb#

Lumbar vertebral body: mask refinement and PET statistics.

class autods_pet.roi.lumbar_vb.LumbarVB(lumbar_labels=None, erosion_mm=3.0, stats=None)[source]#

Bases: object

Lumbar vertebral body ROI extraction and refinement.

Parameters:
  • lumbar_labels (list[int] | None (default: None)) – TotalSegmentator labels for the target vertebrae. Defaults to L3, L4, L5.

  • erosion_mm (float (default: 3.0)) – Physical erosion radius in mm.

  • stats (list[str] | None (default: None)) – Statistics to compute (e.g. ["p95"]). Defaults to ["p95"].

refine(whole_seg, vert_body_seg)[source]#

Refine TotalSegmentator vertebra labels into a lumbar VB mask.

Pipeline: union of lumbar labels -> intersection with vertebral body binary mask -> physical erosion.

Parameters:
  • whole_seg (Image) – TotalSegmentator multilabel segmentation.

  • vert_body_seg (Image) – Binary vertebral body segmentation.

Returns:

Result with refined_mask and shrinkage populated.

Return type:

ROIResult

extract(whole_seg, vert_body_seg, pet)[source]#

Refine mask and compute PET statistics in one call.

Parameters:
  • whole_seg (Image) – TotalSegmentator multilabel segmentation.

  • vert_body_seg (Image) – Binary vertebral body segmentation.

  • pet (Image) – PET SUV image (must share geometry with whole_seg).

Returns:

Result with refined_mask, shrinkage, and stats populated.

Return type:

ROIResult

Raises:

ValueError – If whole_seg and pet have mismatched geometry.