ROI
유저가 세팅한 파라미터에 대해 ROI를 미리보기할 수 있는 Preview API를 제공합니다.
data.transform.roi.api.ROIHandlerAPI
Set-ROI 기능을 위한 API입니다.
Usage
# 핸들러 빌드. 아래는 simple mode의 예제 config이며, 자세한 설명은 ROIHandlerAPI.set() 함수 참고.
config = {
"mode": "simple",
"left": 0.0,
"top": 0.0,
"right": 1.0,
"bottom": 1.0,
"blind_mask": None,
}
error, message, roi_hander = ROIHandlerAPI.build(config)
# image에 대한 roi 계산. 리턴 결과 설명은 ROIHandlerAPI.apply() 함수 참고.
image = np.zeros((100, 100, 3), dtype=np.unit8)
error, message, roi_results = roi_handler.apply(image)
# roi 파라미터 변경
config["left"] = 0.1
error, message, _ = roi_handler.set(config)
# 변경된 파라미터로 roi 다시 계산
error, message, roi_results = roi_handler.apply(image)
Source code in SaigeToolkit/data/transform/roi/api.py
build
classmethod
build(config: Dict) -> ROIHandlerAPI
ROIHandlerAPI를 빌드합니다. Args: config (Dict): ROIHandlerAPI.set의 파라미터와 동일합니다.
Returns:
-
ROIHandlerAPI(ROIHandlerAPI) –빌드된 ROIHandlerAPI
Source code in SaigeToolkit/data/transform/roi/api.py
set
ROI 파라미터를 변경합니다.
Parameters:
-
config(Dict) –ROI 파라미터의 dict입니다. mode에 따라 다른 파라미터를 가집니다.
# simple mode: { "mode": "simple", # Simple ROI 모드. "left": float, # ROI의 왼쪽 경계. [0.0, 1.0) 범위의 실수. "top": float, # ROI의 위쪽 경계. [0.0, 1.0) 범위의 실수. "right": float, # ROI의 오른쪽 경계. (right, 1.0] 범위의 실수. "bottom": float, # ROI의 아래쪽 경계. (top, 1.0] 범위의 실수. "blind_mask": Optional[np.ndarray], # blind mask 이미지. None인 경우 blind 적용 안함. # np.ndarray인 경우 (dtype=uint8, shape=(H_roi, W_roi))이며 픽셀 값은 0 또는 1. # mask의 값이 1인 영역이 학습/검사 시 마스킹됩니다. # polygons에는 blind_mask가 적용되지 않습니다. } # advanced mode: { "mode": "advanced", # Advanced ROI 모드. "intensity": List[int], # 필터링할 [최소, 최대] 픽셀값 범위. 각 값은 [0, 255] 범위의 정수. "expansion": int, # 필터링된 픽셀 영역에 대한 확장/축소 정도. [-10, 10] 범위의 정수. "inversion": bool, # True인 경우 필터링된 픽셀 영역을 반전. "offset_left": float, # ROI 박스의 왼쪽 사이즈. [0.0, 2.0] 범위의 실수 이며, 1인 경우 기본 크기. "offset_right": float, # ROI 박스의 오른쪽 사이즈. [0.0, 2.0] 범위의 실수 이며, 1인 경우 기본 크기. "offset_top": float, # ROI 박스의 위쪽 사이즈. [0.0, 2.0] 범위의 실수 이며, 1인 경우 기본 크기. "offset_bottom": float, # ROI 박스의 아래쪽 사이즈. [0.0, 2.0] 범위의 실수 이며, 1인 경우 기본 크기. "blind_mask": Optional[np.ndarray], # blind mask 이미지. None인 경우 blind 적용 안함. # np.ndarray인 경우 (dtype=uint8, shape=(H_roi, W_roi))이며 픽셀 값은 0 또는 1. # mask의 값이 1인 영역이 학습/검사 시 마스킹됩니다. # polygons에는 blind_mask가 적용되지 않습니다. }
Source code in SaigeToolkit/data/transform/roi/api.py
apply
image에 대한 ROI 좌표 및 기타 결과를 계산합니다.
Parameters:
-
image(ndarray) –ROI를 적용할 입력 이미지.
Returns:
-
Dict(Dict) –ROI 계산 결과 dict 입니다. mode에 따라 다른 결과 값들을 가집니다.