Skip to content

parameter_validation

data.transform.parameter_validation

ImageSizeType module-attribute

ImageSizeType = tuple[int, int]

validate_inspection_size_wh

validate_inspection_size_wh(inspection_size_wh: ImageSizeType) -> None

inspection_size_wh가 유효한지 확인합니다. inspection_size_wh는 (width, height)로 모두 1 이상의 int여야 합니다.

유효하지 않을 경우, error를 발생시킵니다.

Parameters:

  • inspection_size_wh (Optional[ImageSizeType]) –

    검사할 inspection_size_wh.

Raises:

  • InspectionSizeTypeError

    맞지 않는 타입일 경우 발생합니다.

  • InspectionSizeValueError

    값이 1 이상이 아닐 경우 발생합니다.

Source code in SaigeToolkit/data/transform/parameter_validation.py
def validate_inspection_size_wh(inspection_size_wh: ImageSizeType) -> None:
    """inspection_size_wh가 유효한지 확인합니다.
    inspection_size_wh는 (width, height)로 모두 1 이상의 int여야 합니다.

    유효하지 않을 경우, error를 발생시킵니다.

    Args:
        inspection_size_wh (Optional[ImageSizeType], optional): 검사할 inspection_size_wh.

    Raises:
        InspectionSizeTypeError: 맞지 않는 타입일 경우 발생합니다.
        InspectionSizeValueError: 값이 1 이상이 아닐 경우 발생합니다.
    """
    # 타입 체크
    valid_type = inspection_size_wh is None or (  # inspection_size는 None 이거나 혹은
        len(inspection_size_wh) == 2  # length가 2이면서 (width, height)
        and all([isinstance(v, int) for v in inspection_size_wh])  # 값은 모두 int여야 한다.
    )
    if not valid_type:
        raise InspectionSizeTypeError

    # 값 체크, inspection_size_wh의 값은 모두 1 이상이어야 한다.
    valid_value = inspection_size_wh is None or all([value >= 1 for value in inspection_size_wh])
    if not valid_value:
        raise InspectionSizeValueError