score_writer = csv.DictWriter(scorefile, fieldnames=fieldnames2)
    score_writer.writeheader()

    rect_writer = csv.DictWriter(rect_precision_file, fieldnames=fieldnames)
    rect_writer.writeheader()

    # Read Ground Truth.
    map_gt_list = [];
    for m in range(1, 11):
        map_name = ['1920-1.png', '1920-2.png', '1920-3.png', '1920-4.png', '1920-5.png',
                    '1920-6.png', '1920-7.png', '1920-8.png', '1920-9.png', '1920-10.png']

        groundTruthFile = './GroundTruths/' + map_name[m - 1].split('.')[0] + '.geojson'
        gt_obj = GeoJsonReader.load_json_file(groundTruthFile)
        gt_list = GeoJsonReader.get_ground_truth_list(gt_obj, 1, 1)
        map_gt_list.append(gt_list)

    candidate_file = './narges result/candidates'
    cf = open(candidate_file, 'r')

    map_feature_list = []
    map_result_obj_features = []
    map_result_feature_count = []
    map_result_rects = []

    # Read result files.
    count = 0
    for i in range(1, MAP_NUM):
        result_file_name = './narges result/1920-' + str(i) + '.png_EdditedByPixels.txt'
        result_obj = GeoJsonReader.load_json_file(result_file_name)
def evaluate_result(gt_obj, result_obj, group_para=0, scale_w=1, scale_h=1):
    gt_list = GeoJsonReader.get_ground_truth_list(gt_obj, scale_w, scale_h)
    result_rect_list = GeoJsonReader.get_result_rectangles(result_obj)
    return ResultEvaluation.evaluation_simple(result_rect_list, gt_list, area_threshold=0.7, group_para=group_para)