# coding: utf-8

"""
    Generated by: https://openapi-generator.tech
"""

from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class FaceQualityConfigName(str, Enum):
    """
    The name of the characteristic. For definitions, see the [FaceQualityConfigName enum](https://docs.regulaforensics.com/develop/face-sdk/web-service/development/enums/face-quality-config-name/).
    """

    """
    allowed enum values
    """
    IMAGE_WIDTH = 'ImageWidth'
    IMAGE_HEIGHT = 'ImageHeight'
    IMAGE_WIDTH_TO_HEIGHT = 'ImageWidthToHeight'
    IMAGE_CHANNELS_NUMBER = 'ImageChannelsNumber'
    PADDING_RATIO = 'PaddingRatio'
    FACE_MID_POINT_HORIZONTAL_POSITION = 'FaceMidPointHorizontalPosition'
    FACE_MID_POINT_VERTICAL_POSITION = 'FaceMidPointVerticalPosition'
    HEAD_WIDTH_RATIO = 'HeadWidthRatio'
    HEAD_HEIGHT_RATIO = 'HeadHeightRatio'
    EYES_DISTANCE = 'EyesDistance'
    YAW = 'Yaw'
    PITCH = 'Pitch'
    ROLL = 'Roll'
    BLUR_LEVEL = 'BlurLevel'
    NOISE_LEVEL = 'NoiseLevel'
    EYE_RIGHT_CLOSED = 'EyeRightClosed'
    EYE_LEFT_CLOSED = 'EyeLeftClosed'
    EYE_RIGHT_OCCLUDED = 'EyeRightOccluded'
    EYE_LEFT_OCCLUDED = 'EyeLeftOccluded'
    EYES_RED = 'EyesRed'
    EYE_RIGHT_COVERED_WITH_HAIR = 'EyeRightCoveredWithHair'
    EYE_LEFT_COVERED_WITH_HAIR = 'EyeLeftCoveredWithHair'
    OFF_GAZE = 'OffGaze'
    FACE_DYNAMIC_RANGE = 'FaceDynamicRange'
    UNNATURAL_SKIN_TONE = 'UnnaturalSkinTone'
    TOO_DARK = 'TooDark'
    TOO_LIGHT = 'TooLight'
    FACE_GLARE = 'FaceGlare'
    SHADOWS_ON_FACE = 'ShadowsOnFace'
    DARK_GLASSES = 'DarkGlasses'
    REFLECTION_ON_GLASSES = 'ReflectionOnGlasses'
    FRAMES_TOO_HEAVY = 'FramesTooHeavy'
    FACE_OCCLUDED = 'FaceOccluded'
    HEAD_COVERING = 'HeadCovering'
    BACKGROUND_UNIFORMITY = 'BackgroundUniformity'
    SHADOWS_ON_BACKGROUND = 'ShadowsOnBackground'
    OTHER_FACES = 'OtherFaces'
    SHOULDERS_POSE = 'ShouldersPose'
    EXPRESSION_LEVEL = 'ExpressionLevel'
    MOUTH_OPEN = 'MouthOpen'
    FOREHEAD_COVERING = 'ForeheadCovering'
    SMILE = 'Smile'
    STRONG_MAKEUP = 'StrongMakeup'
    HEADPHONES = 'Headphones'
    MEDICAL_MASK = 'MedicalMask'
    BACKGROUND_COLOR_MATCH = 'BackgroundColorMatch'
    ART_FACE = 'ArtFace'
    CONTACT_LENSES = 'ContactLenses'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of FaceQualityConfigName from a JSON string"""
        return cls(json.loads(json_str))


