srproj_reader
data.dataset.srproj_reader
path_interpreter
data path interpreter
Parameters:
-
code(str) –dataset code (rule: {domain}-{source}-{category}) (ex) sample dataset for cls: "test_directory-sample-cls")
Raises:
-
RuntimeError–invalid classifier keys (code) for srproj code.
-
Exception–wrong type of input code
Returns:
-
Tuple[str, str, str, str]–Tuple[str, str, str, str]: absolute path for dataset, domain, source, category
Source code in SaigeToolkit/data/dataset/srproj_reader.py
read_srproj
read_srproj(code: str, split: str, two_class: bool = False, mode: Optional[str] = None, use_absolute_path: bool = False, srproj_image_directory: Optional[str] = None, system_image_directory: Optional[str] = None, get_class_colors: bool = False, skip_problematic_files: bool = False) -> Tuple[List[Dict], int, Union[List[str], List[Dict]]]
read srproj dataset from file-system.
Parameters:
-
code(str) –dataset code.
-
split(str) –split dataset, "Training" or "Validation".
-
two_class(bool, default:False) –load data as two class mode (ex) normal <-> abnormal)
-
mode(Optional[str], default:None) –select data label type.
-
use_absolute_path(bool, default:False) –use the image path in srproj as is.
-
srproj_image_directory(Optional[str], default:None) –srproj 파일에 작성된 이미지 경로를 현재 시스템 상의 이미지 경로로 변환하기 위해 치환해야 하는 이미지 폴더 경로. None이면 SaigeDatabase 규칙 사용.
-
system_image_directory(Optional[str], default:None) –코드가 구동되는 시스템 상의 이미지 폴더 경로. None이면 SaigeDatabase 규칙 사용.
-
get_class_colors(bool)–srproj에 정의된 각 클래스의 color를 받을지 여부. True이면
-
skip_problematic_files(bool)–srproj 파일에 작성된 이미지 경로로부터 이미지들을 읽을 때, 해당 파라미터가 True 라면, 파일이 실제 존재하지 않거나, 읽다가 문제가 발생할 경우 해당 파일을 제외하고 나머지 파일을 계속 읽음. 만약, False라면 Error를 raise 함.
Returns:
-
Tuple[List[Dict], int, Union[List[str], List[Dict]]]–Tuple[List[Dict], int, Union[List[str], List[Dict]]]: list of meta data dicts, number of classes, and list of class names or dict
Note
.sproj 파일에는 각 이미지들의 경로와 라벨 정보 등이 포함되어 있습니다.
이때 이미지 경로는 해당 파일을 생성한 PC 기준의 절대 경로로 작성되어 있기 때문에, 현재 이 코드가 실행되는 시스템에서의 경로로 변환해 주어야 합니다.
현재 이미지 경로 변환 옵션은 3가지가 존재합니다.
1. sproj를 생성한 PC에서 코드를 실행하는 경우,
use_absolute_path= True로 세팅하면 srproj에 작성된 이미지 경로를 그대로 사용합니다.
2. 이미지와 srproj가 SaigeDatabase 룰에 맞게 구성된 경우,
이미지는 images 폴더에 하위에 있고 (root/images/.../xxx.png)
srproj는 images 폴더보다 한 단계 아래 경로에 있어야 합니다 (root/projects/xxx.srproj)
이때는srproj_image_directory= None,system_image_directory= None 으로 설정합니다.
3. 이미지와 srproj가 SaigeDatabase 룰을 따르지 않는 경우,srproj_image_directory와system_image_directory`를 설정하면
srproj에 작성된 이미지 경로를 다음 규칙으로 변환합니다:
{srproj_image_directory}/.../xxx.png -> {system_image_directory}/.../xxx.png
Source code in SaigeToolkit/data/dataset/srproj_reader.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | |
check_label
check all data label is valid. If any data is corrupted, pop out from meta data list.
Parameters:
-
files(List[Dict]) –meta data list to be checked
-
mode(str) –label data type
Returns:
-
List[Dict]–List[Dict]: cleaned meta data list
Source code in SaigeToolkit/data/dataset/srproj_reader.py
load_srproj_label
load single data dict from srproj meta data.
Parameters:
-
file(Dict) –single meta data dict
-
use_crop_fn(bool, default:False) –Whether to use the crop function. Defaults to False.
Raises:
-
NotImplementedError–only four modes are available. ["Classification", "Detection", "Segmentation", "OpticalCharacterRecognition"]
Returns:
-
Dict(Dict) –label data as dict
Source code in SaigeToolkit/data/dataset/srproj_reader.py
load_label_cls
load_label_det
load detection label
Parameters:
-
file(Dict) –meta data for detection label
Returns:
-
Dict(Dict) –
Source code in SaigeToolkit/data/dataset/srproj_reader.py
load_label_seg
load segmentation label
Parameters:
-
file(Dict) –meta data for segmentation label
-
return_polygon(bool, default:True) –whether return polygon data. Defaults to True.
-
mask_to_pil(bool, default:False) –whether return mask as PIL.Image. Defaults to False.
Returns:
-
Dict(Dict) –segmentation label data dict
Source code in SaigeToolkit/data/dataset/srproj_reader.py
load_label_ocr
load ocr label
Parameters:
-
file(Dict) –meta data for ocr label
Returns:
-
Dict(Dict) –ocr label data dict
Source code in SaigeToolkit/data/dataset/srproj_reader.py
_refine_kie_labels
Source code in SaigeToolkit/data/dataset/srproj_reader.py
merge_srproj_classes
Source code in SaigeToolkit/data/dataset/srproj_reader.py
convert_srproj_class_color_to_rgb
srproj의 각 클래스 색 코드를 rgb 값으로 변환합니다.