def get_noise_fn()

in empose/data/noise_functions.py [0:0]


def get_noise_fn(config, randomize_if_configured, is_valid=False):
    """Factory function for convenience."""
    def no_noise(x, **kwargs):
        return x

    if randomize_if_configured:
        if config.spherical_noise_length > 0.0:
            assert config.suppression_noise_length <= 0.0, "We currently only support one noise type."
            noise_fn = SphericalMarkerNoise(config.spherical_noise_strength, config.spherical_noise_length,
                                            config.noise_num_markers)
        elif config.suppression_noise_length > 0.0:
            noise_fn = MarkerSuppressionNoise(config.suppression_noise_length, config.noise_num_markers,
                                              config.suppression_noise_value, config.n_markers)
        else:
            noise_fn = no_noise
    else:
        if is_valid and config.suppression_noise_length > 0.0:
            noise_fn = MarkerSuppressionNoise(config.suppression_noise_length, config.noise_num_markers,
                                              config.suppression_noise_value, config.n_markers)
        else:
            noise_fn = no_noise

    return noise_fn