ExpressionVoxelFeatures
Note
This page is a reference documentation. It only explains the class signature, and not how to use it. Please refer to the Habitat Guide and Python API guide (v2.0) for usage.
- class ExpressionVoxelFeatures(features: Mapping[str, str] | None = None, expressions: Sequence[str] | None = None, feature_names: Sequence[str] | None = None, modalities: Sequence[str] = (), roi: str | None = None, eps: float = 1e-08)[source]
Bases:
objectPer-voxel features defined by restricted arithmetic expressions.
Each formula may reference modality keys on the subject (e.g.
T1,T2), the injected constanteps(override via the constructor), and the whitelisted functionsabs,sqrt,square,log,log10,exp,minimum,maximum,clip. Power may be written as**or^.Example:
Spec("expression", { "features": { "t1_over_t2_sq": "square(T1 / (T2 ** 3 + eps))", }, })
- Parameters:
features – Mapping of feature name to formula. Mutually exclusive with
expressions.expressions – Ordered formulas when names are not provided up front.
feature_names – Names aligned with
expressions; defaults toexpr_0,expr_1, …modalities – Optional explicit modality list. When empty, modality names are inferred from identifiers used in the formulas (excluding builtins and function names).
roi – Mask key;
Noneuses the subject’s single mask.eps – Value bound to the name
epsinside every formula.
- __init__(features: Mapping[str, str] | None = None, expressions: Sequence[str] | None = None, feature_names: Sequence[str] | None = None, modalities: Sequence[str] = (), roi: str | None = None, eps: float = 1e-08) None[source]
- __call__(subject: Subject) VoxelFeatureField[source]
Evaluate every formula on the ROI voxels of
subject.- Parameters:
subject – Subject providing the referenced modalities and mask.
- Returns:
One column per formula, one row per ROI voxel.
- Raises:
KeyError – If a referenced modality or the ROI is absent.
GeometryError – If a modality and the mask do not share a grid.
HABITAPIError – If a formula uses unsupported syntax or names.