SYMBOL INDEX (120 symbols across 9 files) FILE: cleval/arg_parser.py function str2bool (line 7) | def str2bool(v): function get_params (line 18) | def get_params(): FILE: cleval/box_types.py function get_midpoints (line 13) | def get_midpoints(p1, p2): function point_distance (line 17) | def point_distance(p1, p2): class Box (line 23) | class Box(metaclass=abc.ABCMeta): method __init__ (line 24) | def __init__( method __and__ (line 39) | def __and__(self, other) -> float: method subtract (line 44) | def subtract(self, other): method center (line 49) | def center(self): method center_distance (line 53) | def center_distance(self, other): method diagonal_length (line 57) | def diagonal_length(self) -> float: method is_inside (line 62) | def is_inside(self, x, y) -> bool: method make_polygon_obj (line 67) | def make_polygon_obj(self): method pseudo_character_center (line 73) | def pseudo_character_center(self, *args) -> list: class QUAD (line 78) | class QUAD(Box): method __init__ (line 81) | def __init__( method __and__ (line 96) | def __and__(self, other) -> float: method subtract (line 103) | def subtract(self, other): method center (line 106) | def center(self): method center_distance (line 109) | def center_distance(self, other): method area (line 112) | def area(self): method __or__ (line 115) | def __or__(self, other): method make_polygon_obj (line 118) | def make_polygon_obj(self): method aspect_ratio (line 130) | def aspect_ratio(self): method pseudo_transcription_length (line 140) | def pseudo_transcription_length(self): method pseudo_character_center (line 143) | def pseudo_character_center(self, vertical_aspect_ratio_threshold): method diagonal_length (line 174) | def diagonal_length(self) -> float: method is_inside (line 183) | def is_inside(self, x, y) -> bool: class POLY (line 187) | class POLY(Box): method __init__ (line 190) | def __init__(self, points, confidence=0.0, transcription="", orientati... method __and__ (line 198) | def __and__(self, other): method subtract (line 203) | def subtract(self, other): method __or__ (line 207) | def __or__(self, other): method area (line 210) | def area(self): method center (line 213) | def center(self): method center_distance (line 216) | def center_distance(self, other): method diagonal_length (line 222) | def diagonal_length(self): method is_inside (line 236) | def is_inside(self, x, y) -> bool: method check_corner_points_are_continuous (line 239) | def check_corner_points_are_continuous(self, lt, rt, rb, lb): method get_four_max_distance_from_center (line 251) | def get_four_max_distance_from_center(self): method make_polygon_obj (line 263) | def make_polygon_obj(self): method aspect_ratio (line 297) | def aspect_ratio(self): method pseudo_transcription_length (line 300) | def pseudo_transcription_length(self): method make_aspect_ratio (line 303) | def make_aspect_ratio(self): method pseudo_character_center (line 314) | def pseudo_character_center(self): FILE: cleval/data.py class MatchReleation (line 7) | class MatchReleation: class CoreStats (line 14) | class CoreStats: class MatchResult (line 30) | class MatchResult: class Point (line 40) | class Point: class GTBoxResult (line 46) | class GTBoxResult: class DetBoxResult (line 56) | class DetBoxResult: class Stats (line 64) | class Stats: class SampleResult (line 80) | class SampleResult: class GlobalResult (line 89) | class GlobalResult: function accumulate_result (line 97) | def accumulate_result( function accumulate_stats (line 108) | def accumulate_stats(stats1: Stats, stats2: Stats, is_e2e: bool): function accumulate_core_stats (line 121) | def accumulate_core_stats(stats1: CoreStats, stats2: CoreStats): function calculate_global_rph (line 132) | def calculate_global_rph(res: GlobalResult, is_e2e: bool): function calculate_rph (line 138) | def calculate_rph(stats: CoreStats): FILE: cleval/eval_functions.py class EvalMaterial (line 20) | class EvalMaterial: function evaluation (line 37) | def evaluation(args, gt_boxes, det_boxes, scale_range=(0.0, 1.0)): function prepare_gt (line 104) | def prepare_gt(gt_boxes, is_case_sensitive, vertical_aspect_ratio_thresh... function prepare_det (line 129) | def prepare_det(det_boxes, is_case_sensitive): function calc_area_precision (line 136) | def calc_area_precision(gt_boxes, det_boxes, ap_constraint): function calc_pcc_inclusion (line 160) | def calc_pcc_inclusion(det_boxes, gt_pcc_points): function get_det_dc_indices (line 181) | def get_det_dc_indices(gt_dc_indices, pcc_mat_sum, ap_mat, ap_mat_binary... function calc_match_matrix (line 198) | def calc_match_matrix(eval_material): function one_to_one_match (line 259) | def one_to_one_match(pcc_mat_sum, gt_idx, det_idx, ap_mat_binary, len_gt... function one_to_many_match (line 285) | def one_to_many_match(pcc_mat_sum, gt_idx, ap_mat_binary, det_valid_indi... function many_to_one_match (line 301) | def many_to_one_match(pcc_mat_sum, det_idx, ap_mat, ap_constraint, gt_va... function get_box_results (line 315) | def get_box_results(gt_boxes, gt_pcc_points, det_boxes): function __points_to_result (line 341) | def __points_to_result(points): function __pccs_to_result (line 347) | def __pccs_to_result(pcc_points): function eval_det (line 351) | def eval_det(args, sample_res, gt_boxes, det_boxes, eval_material, match... function get_num_total_char (line 411) | def get_num_total_char(gt_boxes, pcc_mat_sum, gt_valid_indices, det_vali... function get_num_fp_char (line 422) | def get_num_fp_char(det_boxes, det_valid_indices, match_mat_gts_sum): function eval_e2e (line 433) | def eval_e2e(args, sample_res, gt_boxes, det_boxes, eval_material, match... function sort_detbox_order_by_pcc (line 487) | def sort_detbox_order_by_pcc(gt_idx, matched_det_indices, gt_pcc_points,... function lcs_elimination (line 507) | def lcs_elimination(gt_trans, gt_trans_not_found, det_trans_not_found, g... function eval_orientation (line 523) | def eval_orientation(sample_res, gt_boxes, det_boxes, gt_valid_indices, ... function extract_stats (line 546) | def extract_stats(core_stats, num_char_fp, num_char_gt, num_char_det, re... function get_gran_score (line 565) | def get_gran_score(num_splitted, penalty_weight): FILE: cleval/main.py function main (line 29) | def main(): function cleval (line 49) | def cleval(args): function get_file_paths (line 99) | def get_file_paths(gt_zipfile, submit_zipfile): function eval_single (line 120) | def eval_single(args, gt_file, det_file, file_id): function parse_single_file (line 134) | def parse_single_file( function parse_values_from_single_line (line 171) | def parse_values_from_single_line( function parse_jylee_annot (line 293) | def parse_jylee_annot(quad, transcription, box_type): function parse_clova_ocr (line 309) | def parse_clova_ocr(quad, transcription, box_type): FILE: cleval/torchmetric.py class Options (line 16) | class Options: method __init__ (line 17) | def __init__( class CLEvalMetric (line 35) | class CLEvalMetric(Metric): method __init__ (line 38) | def __init__( method to (line 136) | def to(self, *args, **kwargs): method update (line 142) | def update( method __make_eval_input (line 178) | def __make_eval_input(self, quads, letters, is_dcs=None, img_longer_le... method __check_box_scale (line 196) | def __check_box_scale(quad, img_longer_length): method __accumulate (line 210) | def __accumulate(self, sample_res: SampleResult): method compute (line 231) | def compute(self): method reset (line 266) | def reset(self): method __calculate_rph (line 271) | def __calculate_rph( method harmonic_mean (line 293) | def harmonic_mean(self, score1, score2): FILE: cleval/utils.py function load_zip_file (line 10) | def load_zip_file(file): function decode_utf8 (line 26) | def decode_utf8(raw): function dump_json (line 39) | def dump_json(json_file_path, json_data): function read_json (line 44) | def read_json(json_file_path): function convert_ltrb2quad (line 50) | def convert_ltrb2quad(points): function ltrb_regex_match (line 65) | def ltrb_regex_match(line, with_transcription, with_confidence): function quad_regex_match (line 101) | def quad_regex_match(line, with_transcription, with_confidence): function lcs (line 166) | def lcs(s1, s2): function harmonic_mean (line 189) | def harmonic_mean(score1, score2): function cpu_count (line 197) | def cpu_count(): FILE: cleval/validation.py function validate_data (line 4) | def validate_data(gt_file, submit_file, has_crlf): function validate_lines_in_file (line 19) | def validate_lines_in_file(file_name, file_contents, has_crlf=True): function validate_point_inside_bounds (line 32) | def validate_point_inside_bounds(x, y, img_width, img_height): function validate_min_max_bounds (line 39) | def validate_min_max_bounds(lower_val, upper_val): function validate_clockwise_points (line 44) | def validate_clockwise_points(points): FILE: tests/test_scores.py function test_output_score (line 6) | def test_output_score(): function test_output_score_torchmetric (line 27) | def test_output_score_torchmetric():