Skip to content

modosaic.normals.preconfigured_modality

modosaic.normals.preconfigured_modality

build_preconfigured_normals_modality

build_preconfigured_normals_modality()

Build the default surface-normal modality.

Returns:

Type Description
ConfiguredModality[ndarray]

Configured normals modality with depth-agreement and field-quality

ConfiguredModality[ndarray]

validators.

Source code in modosaic/normals/preconfigured_modality.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def build_preconfigured_normals_modality() -> ConfiguredModality[np.ndarray]:
    """Build the default surface-normal modality.

    Returns:
        Configured normals modality with depth-agreement and field-quality
        validators.
    """
    return ConfiguredModality(
        modality=Modalities.NORMALS,
        model=NormalsGeneratorFactory.get(),
        postprocessor=NormalsPostprocessor(),
        validators=[
            ValidatorStep(
                validator=DepthNormalsAngularAgreementValidator(),
                dependencies={"depth_map": Modalities.DEPTH},
                constraint=ValidationConstraint(
                    minimum=NORMALS_DEPTH_AGREEMENT_MINIMUM,
                    score_name="depth_normals_agreement",
                    score_fn=_depth_normals_agreement_score,
    )
            ),
            ValidatorStep(
                validator=NormalsFieldQualityValidator(),
                constraint=ValidationConstraint(
                    minimum=NORMALS_FIELD_QUALITY_MINIMUM,
                    score_name="normals_field_quality",
                    score_fn=_normals_field_quality_score,
                ),
            ),
        ],
    )